No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

eval.py 1.1KB

1234567891011121314151617181920212223242526272829303132
  1. import matplotlib.pyplot as plt
  2. from sklearn.neural_network import MLPClassifier
  3. from sklearn.neighbors import KNeighborsClassifier
  4. from sklearn.svm import SVC
  5. from sklearn.model_selection import train_test_split
  6. from sklearn.model_selection import KFold
  7. from sklearn.metrics import precision_score
  8. from sklearn.metrics import confusion_matrix
  9. import random
  10. import time
  11. from sklearn.datasets import fetch_openml
  12. #mnist = fetch_openml('mnist_784')
  13. indices = [i for i in range(len(mnist.data))]
  14. random.shuffle(indices)
  15. indices = indices[:15000]
  16. data = [mnist.data.values[i] for i in indices]
  17. target = [mnist.target[i] for i in indices]
  18. classifiers = [KNeighborsClassifier(3), MLPClassifier(hidden_layer_sizes = (100,)), SVC()]
  19. xtrain, xtest, ytrain, ytest = train_test_split(data, target, train_size=0.7)
  20. for clf in classifiers:
  21. start = time.time()
  22. clf.fit(xtrain, ytrain)
  23. score = clf.score(xtest, ytest)
  24. end = time.time()
  25. print(f"training + evaluating time : {end - start}, score = {score}")
  26. print(confusion_matrix(ytest, clf.predict(xtest)))