Guest User

Untitled

a guest
Oct 30th, 2016
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. # Compare Algorithms
  2. import pandas
  3. import matplotlib.pyplot as plt
  4. from sklearn import cross_validation
  5. from sklearn.linear_model import LogisticRegression
  6. from sklearn.tree import DecisionTreeClassifier
  7. from sklearn.neighbors import KNeighborsClassifier
  8. from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
  9. from sklearn.naive_bayes import GaussianNB
  10. from sklearn.svm import SVC
  11. from sklearn.neural_network import MLPClassifier
  12. from sklearn.cross_validation import train_test_split
  13. from sklearn import datasets, metrics
  14. import numpy as np
  15.  
  16. # load dataset
  17. names = ['/column_names_in_my_csv_file']
  18. dataframe = pandas.read_csv('/my_huge_csv_file', names=names)
  19. array = dataframe.values
  20. X = array[:,1:356]
  21. Y = array[:,3568:3569]
  22.  
  23. X_train,X_test,y_train,y_test = train_test_split(X,Y,test_size=0.1)
  24.  
  25. nn01 = MLPClassifier(alpha=0.1, hidden_layer_sizes=100, random_state=1) # just test parameters for now...
  26. nn02 = MLPClassifier(alpha=0.2, hidden_layer_sizes=400, random_state=1)
  27.  
  28. # evaluate each model in turn
  29. results = []
  30. names_val = []
  31.  
  32. y_tr = np.array(y_train).astype(int)
  33. y_te = np.array(y_test).astype(int)
  34.  
  35. nn01.fit(X_train.astype(int), y_tr.astype(int))
  36. predicted = nn01.predict(X_test.astype(int))
  37.  
  38. precision = metrics.average_precision_score(y_te.ravel(), predicted)
  39.  
  40. results.append(precision)
  41. names_val.append("nn01")
  42.  
  43. msg = "%s: %f (%f)" % ("nn01", precision.mean(), precision.std())
  44. print(msg)
  45.  
  46. nn02.fit(X_train.astype(int), y_tr.ravel())
  47. predicted = nn02.predict(X_test)
  48.  
  49. precision = metrics.average_precision_score(y_te.ravel(), predicted)
  50.  
  51. results.append(precision)
  52. names_val.append("nn02")
  53.  
  54. msg = "%s: %f (%f)" % ("nn02", precision.mean(), precision.std())
  55. print(msg)
  56.  
  57. print results
  58. # boxplot algorithm comparison
  59. fig = plt.figure()
  60. fig.suptitle('Algorithm Comparison')
  61. ax = fig.add_subplot(111)
  62. plt.boxplot(results)
  63. ax.set_xticklabels(names_val)
  64. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment