我想对scikit-learn使用Attribute-Relation File Format(.arff)进行分类。该代码可以在Windows 10计算机上正常运行,但是,当我在另一台使用Ubuntu(18.04.1)的计算机上尝试相同的代码时,则会引发令人困惑的错误。这是加载arff文件的代码:

import arff, numpy as np
dataset = arff.load(open('mydataset.arff'))
mydata = np.array(dataset['data'])


我得到的错误是这样的:

Traceback (most recent call last):
  File "/home/user/Desktop/ml_classification.py", line 14, in <module>
    mydata = np.array(dataset['data'])
TypeError: 'generator' object is not subscriptable


造成此错误的原因可能是什么,为什么仅在一台计算机上而不是另一台计算机上发生?

最佳答案

我假设您正在使用旧的或不受支持的ARFF库。为了找出正在使用的ARFF软件包的详细信息,请尝试pip show arff。在我的第一次尝试中,它显示了Google代码网站的网址(现已停用)。尝试删除当前的arff软件包,然后使用pip install liac-arff将其安装在https://pypi.org/project/liac-arff/处。您的代码应与liac-arff包一起使用。

关于python - 使用scikit-learn加载.arff文件时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53617253/

10-12 23:07