Scikit learn 如何在scikit中创建sklearn.datasets.base.Bunch对象,从自己的数据学习?
在大多数Scikit学习算法中,数据必须作为束对象加载。对于教程中的许多示例,load_files()或其他函数用于填充束对象。像load_files()这样的函数期望数据以某种格式出现,但我有不同格式的数据存储,即每个字段都有字符串的CSV文件Scikit learn 如何在scikit中创建sklearn.datasets.base.Bunch对象,从自己的数据学习?,scikit-learn,scikits,Scikit Learn,Scikits,在大多数Scikit学习算法中,数据必须作为束对象加载。对于教程中的许多示例,load_files()或其他函数用于填充束对象。像load_files()这样的函数期望数据以某种格式出现,但我有不同格式的数据存储,即每个字段都有字符串的CSV文件 如何解析这些数据并以束对象格式加载数据?您不必创建束对象。它们仅用于加载scikit学习的内部样本数据集 您可以直接向矢量器对象提供Python字符串列表。您可以这样做: import numpy as np import sklearn.datase
如何解析这些数据并以束对象格式加载数据?您不必创建束对象。它们仅用于加载scikit学习的内部样本数据集
您可以直接向矢量器对象提供Python字符串列表。您可以这样做:
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)
这是一个示例,您可以在Kaggle中找到CSV文件:
X_列
和X_测试
data@usecols=range(2,32)
这存储在束中
名为数据的对象键
从numpy导入genfromtxt
data=genfromtxt(“您的数据目录,分隔符=',',skip_header=1,usecols=range(2,32))
usecols=(1)
)感兴趣,因为它是y\u列
和y\u测试
的输出,并存储在名为:target
的束对象键中
将熊猫作为pd导入
target=genfromtxt(“您的数据目录”,分隔符=',,跳过头=1,usecols=(1),dtype=str)
有一些技巧可以像在sklearn中一样变换目标,当然可以在唯一变量中进行变换target,target1,…
仅用于解释我所做的操作
target2=pd.系列(目标)
target3=target2.rank(方法='稠密',轴=0)
target4=(target3%2==0)*1
target5=target4.values
导入sklearn
dataset=sklearn.datasets.base.Bunch(数据=data,目标=target5)
谢谢,是否有加载.CSV的实用程序功能?具有用于列(所有字符串)的csv。现在我正在使用python csv阅读器,我推荐pandas:不过,在将pandas.DataFrame提供给sklearn之前,您需要将其转换为np数组。可以肯定的是:没有任何算法加载Bunch
对象。示例脚本使用这些,但算法都需要数组或稀疏矩阵。@Blake,分类器的fit方法接受两个列表对象-数据列表(Bunch.data
),后跟目标列表(Bunch.target
)-clf.fit(,)
@MachineEpsilon该问题显示了对如何在scikit learn
中将数据提供给分类器的误解,因此,即使这回答了字面上的问题,也无法消除最初的误解。这个链接非常清楚: