什么是IndexError:列索引(383)超出范围

时间:2019-05-28 14:44:11

标签: jupyter-notebook python-3.6 indexoutofboundsexception multilabel-classification

在拟合模型时,我正在解决数字多标签分类问题。

我已经检查了我的专栏,如果我没有发现功能或类标签有任何问题

在此处输入代码

X_train, X_test, y_train, y_test = train_test_split(data, train_label, test_size=0.33, random_state=42)    classifier = MLkNN(k=10)    x_train = lil_matrix(X_train).toarray()    y_train = lil_matrix(y_train).toarray()    x_test = lil_matrix(X_test).toarray() 
    classifier.fit(x_train, y_train)    IndexError: column index (383) out of bounds

我想知道,

此错误是什么意思? 如何处理此错误?。

1 个答案:

答案 0 :(得分:0)

该错误仅表明您正在尝试访问不存在的索引。在您的情况下,您尝试访问索引383中的项目,但索引383不存在。 示例:myList = ['a','b']。如果需要myList [2],则会得到IndexError。

我的怀疑是,由于您同时在X_train和y_train上使用lil_matrix(),因此它们的增长速度不同,因此在索引方面不同步。

我没有您的代码的完整上下文,所以我不能肯定地说。您是否尝试过不使用lil_matrix?应用lil_matrix后检查X_train和y_train的长度

相关问题