^_^ 2023-04-05 21:10 采纳率: 57.9%
浏览 28
已结题

报错TypeError: '(slice(None, 1, None), 1)' is an invalid key

程序如下


import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.datasets import make_blobs
from sklearn.svm import SVC
dataset = pd.read_csv('zhendaorushuju.csv', encoding='gb18030')
Y = dataset[:+1,1]
X = dataset[:+1,:+1]
model=SVC(C=0.1,kernel='poly',degree=10)
model.fit(X,Y)
x_min,x_max=X[:,0].min()-1,X[:,0].max()+1
y_min,y_max=X[:,1].min()-1,X[:,1].max()+1
xx,yy=np.meshgrid(np.arange(x_min,x_max,0.02), np. arange(y_min,y_max,0.02))
z=model.predict(np.c_[xx.ravel(),yy.ravel()])
z=z.reshape(xx.shape)
plt.pcolormesh(xx,yy,z,cmap=plt.cm.Pastel1)
plt.scatter(X[:,0],X[:,1],s=80,c=Y,cmap=plt.cm.spring,edgecolors='k')
plt.xlim(xx.min(),xx.max())
plt.ylim(yy.min(),yy.max())
plt.title("Classify")
plt.scatter(0,2,marker='*',c='red',s=200)
plt.show()
res = model.predict([[0,2]])
print('Classification flag: '+str(res))
print('Model score:{:.2f}' .format(model.score(X,Y)))
  • 写回答

2条回答 默认 最新

  • 生鱼同学 2023-04-05 21:57
    关注

    你得程序在下面两行中有问题:

    
    Y = dataset[:+1,1]
    X = dataset[:+1,:+1]
    

    具体来说,pandas中的数据结构不支持这种索引方式。你可以使用iloc来进行行或者列的提取,例如

    # 提取第一例数据
    Y = dataset.iloc[:, 1].values
    # 提取前两列数据
    X = dataset.iloc[:, :2].values
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月1日
  • 已采纳回答 4月23日
  • 创建了问题 4月5日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c