首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在scikit中创建sklearn.datasets.base.Bunch对象-从我自己的数据中学习?

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

Stack Overflow用户
提问于 2013-12-10 11:39:32
回答 3查看 17.6K关注 0票数 19

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-10 18:14:50

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

您可以直接将Python字符串列表提供给向量器对象。

票数 19
EN

Stack Overflow用户

发布于 2016-12-21 20:15:03

你可以这样做:

代码语言:javascript
复制
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)
票数 23
EN

Stack Overflow用户

发布于 2017-10-14 13:53:39

这是一个Breast Cancer Wisconsin (Diagnostic) Data Set的例子,你可以在Kaggle中找到CSV文件:

CSV文件中第2列32处的数据是X_trainX_test

  1. @usecols=range(2,32),它存储在名为data的束对象键中

from numpy import genfromtxt data =genfromtxt(“您的数据目录”,delimiter=',',skip_header=1,usecols=range(2,32))

  1. 我对CSV文件中的列数据B(在Numpy Array @usecols=(1)中的第1列)很感兴趣,因为它是y_trainy_test的输出,并且存储在名为target的Bunch对象键中

有一些技巧可以转换目标,就像在sklearn中一样,当然它可以在一个唯一的变量中创建target, target1, ...只是为了解释我所做的事情。

  1. 首先把numpy变成一个熊猫

target2 = pd.Series(target)

为了使用函数,你可以跳过第5步

target3 =target2.ank(method=‘dense’,axis=0)

  1. 这只是为了像书中的例子那样在0或1中转换目标

target4 = (target3 %2 == 0) *1

  1. 获取numpy中的值

target5 = target4.values

这里我复制了Hugh Perkins的解决方案:

代码语言:javascript
复制
import sklearn
dataset = sklearn.datasets.base.Bunch(data=data, target=target5)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20485592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档