我有一个名为’emails’的文件夹,里面有两个子文件夹,子文件夹的名称对应于文件分类的标签(垃圾邮件或非垃圾邮件,所有文件都是.txt格式)。这两个子文件夹中总共有3000个文件。我使用load_files函数如下:
data = load_files('emails', shuffle='False')print len(data)print len(data.target)
这会输出’5’然后是’3000’。如果它找到了3000个分类标签,为什么data的长度只有5呢?
回答:
你的数据存储在data.data
中,目标存储在data.target
中。试试使用print(len(data.data))
代替。
load_files()
函数仅仅返回一个sklearn.datasets.base.Bunch
对象,这是一个简单的数据包装器。因此,data
的格式是这样的:
{'DESCR': None, 'data': [], 'filenames': array(), 'target': array(), 'target_names': []}
这就是为什么len(data)
会返回5的原因。
希望这对你有帮助!