Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def printGraphFromArrays(names,values,avg,title):
- n = len(names)
- x = np.arange(n)
- width = 0.4
- plt.bar(x, values,width,color='black',align='center')
- plt.xticks(x, names)
- plt.title(title)
- plt.show()
- def svmClassification(sample_size):
- test_dataset = openMixedDatasets("pickle/test_dataset.pkl")
- train_dataset = openMixedDatasets("pickle/train_dataset.pkl")
- test_labels = openMixedDatasets("pickle/test_labels.pkl")
- train_labels = openMixedDatasets("pickle/train_labels.pkl")
- test_dataset = test_dataset[0]
- train_dataset = train_dataset[0]
- clf = svm.SVC(kernel='rbf', gamma=0.0001, C=1000000) #C=100000)
- x_train = train_dataset[:sample_size].reshape(sample_size, 100 * 100 *3)
- x_test = test_dataset.reshape(len(test_dataset), 100 * 100 * 3)
- train_labels = train_labels[0][:sample_size]
- clf.fit(x_train,train_labels)
- diff = compareTwoArrays(test_labels[0],clf.predict(x_test),len(test_labels[0]))
- return diff*100
- def mlpClassification(sample_size):
- from sklearn.neural_network import MLPClassifier
- from sklearn.metrics import accuracy_score
- test_dataset = openMixedDatasets("pickle/test_dataset.pkl")
- train_dataset = openMixedDatasets("pickle/train_dataset.pkl")
- test_labels = openMixedDatasets("pickle/test_labels.pkl")
- train_labels = openMixedDatasets("pickle/train_labels.pkl")
- test_dataset = test_dataset[0]
- train_dataset = train_dataset[0]
- x_train = train_dataset[:sample_size].reshape(sample_size, 100 * 100 * 3)
- train_labels = train_labels[0][:sample_size]
- x_test = test_dataset.reshape(len(test_dataset), 100 * 100 * 3)
- clf = MLPClassifier(hidden_layer_sizes=(100,100,100,100), alpha=0.0001,
- solver='sgd',tol=0.01)
- clf.fit(x_train,train_labels)
- test_pred = clf.predict(x_test)
- diff = compareTwoArrays(test_labels[0],test_pred,len(test_labels[0]))
- return diff * 100
- accuracy_score(test_labels[0], test_pred)
- def compareTwoArrays(labels, trained,sampleSize):
- diff = [item for item in labels if item not in trained]
- print("Pocet zle urcenych prvkov je: " + str(len(diff)) + " co je " +str(len(diff)/sampleSize)+"% z " + str(sampleSize)+"prvkov")
- return 1 - (len(diff)/sampleSize)
- def classification():
- results = []
- size = [50,100,200,1000,5000]
- for s in size:
- print(s)
- results.append(svmClassification(s))
- printGraphFromArrays(size,results,0,str("SVM rbf klas"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement