Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.51 KB | None | 0 0
  1. def printGraphFromArrays(names,values,avg,title):
  2.     n = len(names)
  3.     x = np.arange(n)
  4.     width = 0.4
  5.  
  6.     plt.bar(x, values,width,color='black',align='center')
  7.     plt.xticks(x, names)
  8.     plt.title(title)
  9.     plt.show()
  10.  
  11. def svmClassification(sample_size):
  12.     test_dataset = openMixedDatasets("pickle/test_dataset.pkl")
  13.     train_dataset = openMixedDatasets("pickle/train_dataset.pkl")
  14.     test_labels = openMixedDatasets("pickle/test_labels.pkl")
  15.     train_labels = openMixedDatasets("pickle/train_labels.pkl")
  16.  
  17.     test_dataset  = test_dataset[0]
  18.     train_dataset = train_dataset[0]
  19.  
  20.     clf = svm.SVC(kernel='rbf', gamma=0.0001, C=1000000) #C=100000)
  21.  
  22.     x_train = train_dataset[:sample_size].reshape(sample_size, 100 * 100 *3)
  23.  
  24.     x_test = test_dataset.reshape(len(test_dataset), 100 * 100 * 3)
  25.  
  26.     train_labels = train_labels[0][:sample_size]
  27.  
  28.     clf.fit(x_train,train_labels)
  29.  
  30.     diff = compareTwoArrays(test_labels[0],clf.predict(x_test),len(test_labels[0]))
  31.     return diff*100
  32.  
  33. def mlpClassification(sample_size):
  34.     from sklearn.neural_network import MLPClassifier
  35.     from sklearn.metrics import accuracy_score
  36.  
  37.     test_dataset = openMixedDatasets("pickle/test_dataset.pkl")
  38.     train_dataset = openMixedDatasets("pickle/train_dataset.pkl")
  39.     test_labels = openMixedDatasets("pickle/test_labels.pkl")
  40.     train_labels = openMixedDatasets("pickle/train_labels.pkl")
  41.  
  42.     test_dataset = test_dataset[0]
  43.     train_dataset = train_dataset[0]
  44.  
  45.     x_train = train_dataset[:sample_size].reshape(sample_size, 100 * 100 * 3)
  46.     train_labels = train_labels[0][:sample_size]
  47.  
  48.     x_test = test_dataset.reshape(len(test_dataset), 100 * 100 * 3)
  49.  
  50.     clf = MLPClassifier(hidden_layer_sizes=(100,100,100,100), alpha=0.0001,
  51.                         solver='sgd',tol=0.01)
  52.     clf.fit(x_train,train_labels)
  53.     test_pred = clf.predict(x_test)
  54.  
  55.     diff = compareTwoArrays(test_labels[0],test_pred,len(test_labels[0]))
  56.     return diff * 100
  57.     accuracy_score(test_labels[0], test_pred)
  58.  
  59. def compareTwoArrays(labels, trained,sampleSize):
  60.     diff = [item for item in labels if item not in trained]
  61.     print("Pocet zle urcenych prvkov je: " + str(len(diff)) + " co je " +str(len(diff)/sampleSize)+"% z " + str(sampleSize)+"prvkov")
  62.     return 1 - (len(diff)/sampleSize)
  63.  
  64. def classification():
  65.  
  66.     results = []
  67.     size = [50,100,200,1000,5000]
  68.  
  69.     for s in size:
  70.         print(s)
  71.         results.append(svmClassification(s))
  72.  
  73.     printGraphFromArrays(size,results,0,str("SVM rbf klas"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement