在大多数Scikit-learn算法中,数据必须以簇对象的形式加载。在本教程中的许多示例中,使用load_files()或其他函数来填充Bunch对象。像load_files()这样的函数希望数据以某种格式存在,但我有一种不同格式的数据存储,即CSV文件,其中每个字段都有字符串。
如何解析它并以Bunch对象格式加载数据?
发布于 2013-12-10 18:14:50
您不必创建Bunch对象。它们对于加载scikit-learn的内部样本数据集非常有用。
您可以直接将Python字符串列表提供给向量器对象。
发布于 2016-12-21 20:15:03
你可以这样做:
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)发布于 2017-10-14 13:53:39
这是一个Breast Cancer Wisconsin (Diagnostic) Data Set的例子,你可以在Kaggle中找到CSV文件:
CSV文件中第2列32处的数据是X_train和X_test
usecols=range(2,32),它存储在名为data的束对象键中from numpy import genfromtxt data =genfromtxt(“您的数据目录”,delimiter=',',skip_header=1,usecols=range(2,32))
usecols=(1)中的第1列)很感兴趣,因为它是y_train和y_test的输出,并且存储在名为target的Bunch对象键中有一些技巧可以转换目标,就像在sklearn中一样,当然它可以在一个唯一的变量中创建target, target1, ...只是为了解释我所做的事情。
target2 = pd.Series(target)
为了使用函数,你可以跳过第5步
target3 =target2.ank(method=‘dense’,axis=0)
target4 = (target3 %2 == 0) *1
target5 = target4.values
这里我复制了Hugh Perkins的解决方案:
import sklearn
dataset = sklearn.datasets.base.Bunch(data=data, target=target5)https://stackoverflow.com/questions/20485592
复制相似问题