sklearnを使用してErrorErrorを報告します:予期された2D配列、代わりに1D配列を取得しました



Use Sklearn Report Errorerror



sklearnでKNNモデルを使用するなど、モデルを予測する場合は、

import numpy as np from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier() knn.fit(x,y) x_new = [50000,8,1.2] y_pred = knn.predict(x_new)

エラーを報告します



ValueError:2D配列が必要ですが、代わりに1D配列を取得しました:
データに単一の特徴がある場合はarray.reshape(-1、1)を使用して、単一のサンプルが含まれている場合はarray.reshape(1、-1)を使用して、データの形状を変更します。

これは、新しいバージョンのsklearnでは、単一の行または列(前の予測で使用された1つのサンプルデータのみなど)であっても、すべてのデータが2次元行列である必要があるためです。 .reshape(1、-1)次のように変換を実行します。



変更する必要があります

x_new = np.array(x_new).reshape(1, -1) y_pred = knn.predict(x_new)

テストは有効です。