我想将属性关系文件格式(.arff)与 scikit-learn 一起使用来解决分类问题。该代码在 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
。在我的第一次尝试中,它显示了谷歌代码网站的网址(现已不复存在)。尝试删除当前的 arff 软件包并在 https://pypi.org/project/liac-arff/ 安装该软件包。使用pip install liac-arff
。您的代码应该与 liac-arff 包一起使用。
关于python - 使用 scikit-learn 加载 .arff 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53617253/