Exemplo n.º 1
0
#   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) )


Exemplo n.º 2
0
    #   assert all(data['y']==rawdata['y'])

    x, y = data["x"], data["y"]
    n = x.shape[0]
    x = x.reshape(n, -1)
    trainx, testx, trainy, testy = train_test_split(x, y, test_size=0.32, random_state=32)
    train_ind, test_ind = train_test_split(range(n), range(n), test_size=0.32, random_state=32)[:2]
    #   assert ((trainx==x[train_ind]).all())
    #   assert ((testx==x[test_ind]).all())

    duration_model = LMNN_duration.load("./BIT/models/[K=300][rs=32]duration.model")
    duration_trainx, duration_trainy = expand(trainx, trainy, K, G)
    duration_testx, duration_testy = expand(testx, testy, K, G)
    duration_trainx = duration_model.transform(duration_trainx)
    duration_testx = duration_model.transform(duration_testx)
    duration_knn = KNN(n_neighbor).fit(duration_trainx, duration_trainy)
    print duration_trainx.shape
    print duration_trainy.shape
    prediction = duration_knn.predict(duration_testx)
    print prediction.tolist()

    mlmnn = MLMNN.load("./BIT/models/[K=300][rs=32]mlmnn.model")
    mlmnn_knns = []
    trunc = lambda x: x.reshape(x.shape[0], G, -1)[:, :g, :].reshape(x.shape[0], -1)
    for g in range(1, G + 1):
        mlmnn_knn = KNN(mlmnn.K).fit(mlmnn.transform(trunc(trainx), g), trainy)
        mlmnn_knns.append(mlmnn_knn)

    for g in range(1, G + 1):
        #       print '='*10
        #       acc = 0.
Exemplo n.º 3
0
#   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) )


Exemplo n.º 4
0
#    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()