在使用Python的ML的knn算法中获取错误“ ValueError:找到样本数量不一致的输入变量:[35,311]”

时间:2019-03-28 18:53:00

标签: python knn

我正在尝试为ML练习此代码,但遇到一些错误,说“ ValueError:找到的输入变量样本数量不一致:[70,276]”

代码如下:

    X = Feature
    X[0:5]
    y = df['loan_status'].values
    y[0:5]
    X= preprocessing.StandardScaler().fit(X).transform(X)
    X[0:5]
    from sklearn.metrics import jaccard_similarity_score, log_loss, 
    f1_score
    from sklearn.model_selection import train_test_split
    from sklearn.neighbors import KNeighborsClassifier



    #Split data....also face error here
    Xtrn, Xtst, ytrn, ytst = train_test_split(X, y, test_size=0.2, 
    random_state=6)
    #Lets k=6
    k = 6
    knn= KNeighborsClassifier(n_neighbors = k).fit(Xtrn,ytrn)
    knn
    y_pred = knn.predict(Xtrn)
    y_pred[0:5]


    #-----face error here
    print("Jaccard Score in train set= ", jaccard_similarity_score(ytrn, 
    knn.predict(Xtrn)))
    print("F1 Score in train set= ", f1_score(ytrn, knn.predict(Xtrn), 
    average='weighted'))
    print("F1 Score in test set=  ", f1_score(ytst, y_pred, 
    average='weighted'))
    print("Jaccard Score in test set= ", jaccard_similarity_score(ytst, 
    y_pred))

1 个答案:

答案 0 :(得分:0)

XY的形状不适用于train_test_split。尝试检查其形状。

使用shape方法。 例如-X.shape

然后使用reshape方法使两个形状对齐。