Python 索引器:索引太多

Python 索引器:索引太多,python,numpy,scikit-learn,Python,Numpy,Scikit Learn,我正在尝试使用scikit中的一个算法来学习根据大量输入预测输出。我似乎得到了返回的错误“索引太多”,但无法找出原因 CSV文件培训: 1.1 0.2 0.1 0 0.12 0.1 1.4 0.2 0.1 0.1 0.14 0.1 0.1 0.1 0.1 0 0.26 0.1 24.5 0.1 0 0.1 0.14 0.1 0.1 0.1 0.1 0 0.25 0.1 代码: 错误: t = fileCSVT

我正在尝试使用scikit中的一个算法来学习根据大量输入预测输出。我似乎得到了返回的错误“索引太多”,但无法找出原因

CSV文件培训:

 1.1    0.2 0.1 0   0.12    0.1
 1.4    0.2 0.1 0.1 0.14    0.1
 0.1    0.1 0.1 0   0.26    0.1
 24.5   0.1 0   0.1 0.14    0.1
 0.1    0.1 0.1 0   0.25    0.1
代码:

错误:

 t = fileCSVTraining[:, 6:]
 IndexError: too many indices 

根据评论,我认为您需要:

fileCSVTraining = genfromtxt('TrainingData.csv')
然后,要获得“前6行”,您将使用

t = fileCSVTraining[:6, :]
(我假设您的实际数据文件比您显示的要长。您的示例只有5行。)


我怀疑您使用数组索引来获取
r
也是不正确的。

请打印
x
y
变量,您可能会看到数据无效的原因,并进行相应的修复

最后一行:

X_new = [1.0, 2.1, 3.0, 2.4, 2.1]
b = clf.predict(X_new)
应该是:

X_new = [[1.0, 2.1, 3.0, 2.4, 2.1]]
b = clf.predict(X_new)

正如predict所期望的那样,一个样本集合(2D数组的
(n个新样本,n个功能)
)不是一个样本。

获取r和t的数组索引不正确。使用:

  t = fileCSVTraining[:, 1-0:]  

给我所需的训练数据,离开预测栏

指定dtype=float也很重要,因为“无”将允许整数(如果数据中有)包含在数组中,这将强制使用一维数组而不是二维数组。如图所示,索引在一维上不起作用。

我认为如果您尝试在二维中索引一维数组,则会发生此错误,虽然不完全确定这可能不是问题,但您在读取文件时使用的是
分隔符=','
,虽然这些值由空格分隔,但它们与CSV文件中的小数点有关
  t = fileCSVTraining[:, 1-0:]