如何在scikit中创建sklearn.datasets.base.Bunch对象 - 从我自己的数据中学习?

Dav*_*vid 16 scikits scikit-learn

在大多数Scikit-learn算法中,数据必须作为Bunch对象加载.对于教程中的许多示例,load_files()或其他函数用于填充Bunch对象.像load_files()这样的函数希望数据以某种格式存在,但我有以不同格式存储的数据,即每个字段都包含字符串的CSV文件.

如何解析此并以Bunch对象格式加载数据?

Hug*_*ins 22

你可以这样做:

import numpy as np
import sklearn.datasets

examples = []
examples.append('some text')
examples.append('another example text')
examples.append('example 3')

target = np.zeros((3,), dtype=np.int64)
target[0] = 0
target[1] = 1
target[2] = 0
dataset = sklearn.datasets.base.Bunch(data=examples, target=target)
Run Code Online (Sandbox Code Playgroud)

  • 这到底是不是一个公认的答案。 (3认同)
  • @MachineEpsilon 这个问题显示了如何将数据提供给“scikit-learn”中的分类器的误解,因此即使这回答了字面问题,但它并没有消除最初的误解。此链接非常清楚:http://scikit-learn.org/stable/faq.html#how-can-i-create-a-bunch-object (2认同)

ogr*_*sel 16

您不必创建Bunch对象.它们仅用于加载scikit-learn的内部样本数据集.

您可以直接将Python字符串列表提供给vectorizer对象.

  • 我会推荐pandas:http://pandas.pydata.org/你需要将pandas.DataFrame转换为np数组,然后再将其提供给sklearn. (5认同)