# print mcml.A # print mcml.transform(X) import sys; sys.path.append('/home/shaofan/Projects') from FastML import KNN print "\nTest 3, LFW" from sklearn.datasets import fetch_lfw_people from sklearn.decomposition import PCA from sklearn.cross_validation import train_test_split from sklearn.preprocessing import normalize lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4) pca = PCA(n_components=10) X = pca.fit_transform(lfw_people.data) X = normalize(X) y = lfw_people.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42) knn = KNN(n_neighbors=2) pred = knn.fit(X_train, y_train).predict(X_test) print '{}/{}'.format( (pred == y_test).sum(), len(y_test) ) knn = KNN(n_neighbors=2) mcml = MCML() for _ in range(100): X_train = mcml.fit(X_train, y_train, max_iter=5, lr=1e-6).transform(X_train) X_test = mcml.transform(X_test) pred = knn.fit(X_train, y_train).predict(X_test) print '{}/{}'.format( (pred == y_test).sum(), len(y_test) )
# nca = NCA() # nca.fit(X, y, max_iter=10, lr=100) # print nca.A import sys; sys.path.append('/home/shaofan/Projects') from FastML import KNN print "\nTest 3, LFW" from sklearn.datasets import fetch_lfw_people from sklearn.decomposition import PCA from sklearn.cross_validation import train_test_split from sklearn.preprocessing import normalize lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4) pca = PCA(n_components=100) X = pca.fit_transform(lfw_people.data) X = normalize(X) y = lfw_people.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42) knn = KNN(n_neighbors=4) pred = knn.fit(X_train, y_train).predict(X_test) print '{}/{}'.format( (pred == y_test).sum(), len(y_test) ) nca = NCA() X_train = nca.fit(X_train, y_train, max_iter=10, lr=5e-3).transform(X_train) X_test = nca.transform(X_test) knn = KNN(n_neighbors=4) pred = knn.fit(X_train, y_train).predict(X_test) print '{}/{}'.format( (pred == y_test).sum(), len(y_test) )
# x = normalize(x) print sum(pca.explained_variance_ratio_) trainx, testx, trainy, testy = train_test_split(x, y, test_size=0.10) print trainx.shape print trainy.shape print len(set(trainy)) from sklearn.svm import SVC # from sklearn.multiclass import OneVsRestClassifier from sklearn.metrics import classification_report # svm = OneVsRestClassifier(SVC(C=0.11)) # 0.90 svm = SVC(C=100.11) # 0.90 svm.fit(trainx, trainy) print classification_report(testy, svm.predict(testx)) import sys; sys.path.append('/home/shaofan/Projects') from FastML import NCA, KNN, MCML knn = KNN(n_neighbors=8) knn.fit(trainx, trainy) print classification_report(testy, knn.predict(testx)) # nca = NCA() # for i in range(100): # trainx = nca.fit(trainx, trainy, max_iter=5, lr=5e-3).transform(trainx) # testx = nca.transform(testx) # # print classification_report(testy, knn.predict(testx)) # sys.stdout.flush()