Python sklearn-knn值错误:应为2d数组

Python sklearn-knn值错误:应为2d数组,python,pandas,numpy,scikit-learn,Python,Pandas,Numpy,Scikit Learn,我目前正在学习knn并尝试做一些预测, 但它最终导致了以下错误:预期为2D数组,而实际为1D数组。 虽然我查找了一些线程,但我不知道如何重塑数组 将numpy作为np导入 将matplotlib.pyplot作为plt导入 作为pd进口熊猫 从sklearn.model\u选择导入列车\u测试\u拆分 从sklearn.preprocessing导入StandardScaler 从sklearn.neighbors导入KNeighborsClassifier 从sklearn.linear_模型

我目前正在学习knn并尝试做一些预测, 但它最终导致了以下错误:预期为2D数组,而实际为1D数组。 虽然我查找了一些线程,但我不知道如何重塑数组

将numpy作为np导入 将matplotlib.pyplot作为plt导入 作为pd进口熊猫 从sklearn.model\u选择导入列车\u测试\u拆分 从sklearn.preprocessing导入StandardScaler 从sklearn.neighbors导入KNeighborsClassifier 从sklearn.linear_模型导入逻辑回归 从sklearn.metrics导入混淆矩阵 从SKM学习导入度量 数据=pd.read\u csv'justAnUrl' X=data.iloc[:,:-1] y=data.iloc[:,13]。值 X_序列,y_序列,X_测试,y_测试=序列测试分割X,y,测试大小=0.25,随机状态=100 sc_X=标准定标器 X_系列=sc_X.fit_Transform X_系列 X_测试=sc_X.X_测试 A. knn=kneighborsrn_近邻=5 knn_列表=[] 对于范围为25的x: knn.fitX_列车,y_列车 y_pred=knn.predictX_检验 匹配项=0 如果y_pred[x]==y_test[x]: 匹配项=匹配项+1 精度=匹配项/leny\u pred knn_列表 打印列表 数据是关于心脏病的


希望您能帮助我,其他人也能从这个例子中学习。

您的列车测试拆分顺序是错误的,应该是错误的 X_列车,X_试验,y_列车,y_试验=列车试验


艾德:也就是说,你在X_列上安装了定标器,还试图用那个定标器变换y_列。把订单整理好就可以了。

检查是否有帮助you@DouglasFerreira如果我这样做了,我会被告知,X只有一个特性,但是StandardScaler期望13。向数据结尾添加值。iloc[:,:-1]会改变什么吗?那么也许你想要。重塑1,-1而不是。重塑-1,1如果我添加值,它不会改变什么。如果我交换重塑值,它会说X有227个特征,但StandardScaler预计会有13个特征,因为inputI尝试了这个序列测试分割,但它不会改变结果。我仍然得到2d数组错误