ValueError: Expected 2D array, got 1D array instead: 的解决办法

  1. 在学knn最邻近分类时,原始数据根据参数Q1、Q2分为type=T1、type=T2两种;

  2. 执行

knn = neighbors.KNeighborsClassifier()
knn.fit(df[['Q1','Q2']],df['type']) 
knn.predict([35,26])
  1. 报错

ValueError: Expected 2D array, got 1D array instead:
array=[35 26].
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.

  1. 在尝试了
np.array([35,26]).reshape(1,-1)

结果为
结果
之后,了解到把一维数组改为二维数组只要外层加一个[]就可以了,可以省去reshape。

  1. 最终代码
knn = neighbors.KNeighborsClassifier()   
knn.fit(df[['Q1','Q2']],df['type'])   
knn.predict([[35,26]])
  1. 运行结果
    在这里插入图片描述
  • 16
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值