Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Compare Algorithms
- import pandas
- import matplotlib.pyplot as plt
- from sklearn import cross_validation
- from sklearn.linear_model import LogisticRegression
- from sklearn.tree import DecisionTreeClassifier
- from sklearn.neighbors import KNeighborsClassifier
- from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
- from sklearn.naive_bayes import GaussianNB
- from sklearn.svm import SVC
- from sklearn.neural_network import MLPClassifier
- from sklearn.cross_validation import train_test_split
- from sklearn import datasets, metrics
- import numpy as np
- # load dataset
- names = ['/column_names_in_my_csv_file']
- dataframe = pandas.read_csv('/my_huge_csv_file', names=names)
- array = dataframe.values
- X = array[:,1:356]
- Y = array[:,3568:3569]
- X_train,X_test,y_train,y_test = train_test_split(X,Y,test_size=0.1)
- nn01 = MLPClassifier(alpha=0.1, hidden_layer_sizes=100, random_state=1) # just test parameters for now...
- nn02 = MLPClassifier(alpha=0.2, hidden_layer_sizes=400, random_state=1)
- # evaluate each model in turn
- results = []
- names_val = []
- y_tr = np.array(y_train).astype(int)
- y_te = np.array(y_test).astype(int)
- nn01.fit(X_train.astype(int), y_tr.astype(int))
- predicted = nn01.predict(X_test.astype(int))
- precision = metrics.average_precision_score(y_te.ravel(), predicted)
- results.append(precision)
- names_val.append("nn01")
- msg = "%s: %f (%f)" % ("nn01", precision.mean(), precision.std())
- print(msg)
- nn02.fit(X_train.astype(int), y_tr.ravel())
- predicted = nn02.predict(X_test)
- precision = metrics.average_precision_score(y_te.ravel(), predicted)
- results.append(precision)
- names_val.append("nn02")
- msg = "%s: %f (%f)" % ("nn02", precision.mean(), precision.std())
- print(msg)
- print results
- # boxplot algorithm comparison
- fig = plt.figure()
- fig.suptitle('Algorithm Comparison')
- ax = fig.add_subplot(111)
- plt.boxplot(results)
- ax.set_xticklabels(names_val)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment