代码之家  ›  专栏  ›  技术社区  ›  Kishore L

如何转换熊猫.core.series.序列类型到二维数组?

  •  0
  • Kishore L  · 技术社区  · 5 年前

    X_train, X_test, y_train, y_test = train_test_split(X_bow, y, test_size=0.30, random_state=42)
    
    y_train= y_train.astype('int')
    
    neigh = KNeighborsClassifier(n_neighbors=3)
    neigh.fit(X_train, y_train)
    

    当我尝试测试它时,我得到一个值错误。

    pre = neigh.predict(y_test)
    
    Expected 2D array, got 1D array instead:
    array=[0. 1. 1. ... 0. 0. 0.].
    Reshape your data either using array.reshape(-1, 1) if your data has a 
    single feature or array.reshape(1, -1) if it contains a single sample.
    

    我的YU测试是 熊猫.core.series.系列

    y_test = pd.DataFrame(y_test)
    y_test = y_test.as_matrix().reshape(-1,1)
    pre = neigh.predict(y_test)
    
    ValueError: Incompatible dimension for X and Y matrices: X.shape[1] == 1 while Y.shape[1] == 6038
    
    1 回复  |  直到 5 年前
        1
  •  1
  •   Jeril    5 年前

    我想你需要用你的 X_test y_test .

    X\U测试 independent 用于测试模型准确性的变量/特征,以及 是真的吗 target 将与预测值进行比较的值。

    例子:

    pre = neigh.predict(X_test)
    

    测量精度:

    from sklearn.metrics import accuracy_score
    accuracy_score(y_test, pre)