首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scikit学习决策树的数据准备

scikit学习决策树的数据准备
EN

Stack Overflow用户
提问于 2016-04-20 05:27:38
回答 1查看 440关注 0票数 0

我正在尝试为scikit learn准备一个数据集,计划构建pandas数据框架,将其提供给决策树分类器。

这些数据代表具有不同标准的不同公司,但某些标准可以具有多个值-例如“客户细分”-对于任何给定的公司,这些值可以是任何或全部:中小企业、中型市场、企业等。还有其他类似的标准/列具有多个可能的值。我需要根据单个价值做出决策,而不是综合决策-因此A公司适用于中小企业,A公司适用于中端市场,而不是针对中小企业和中端市场的客户A的“分组”。

有没有关于如何处理这个问题的指导?我是否需要为给定公司的每个变量生成行,以便输入到学习例程中?使得输入:

代码语言:javascript
复制
Company,Segment
A,SMB:MM:ENT

变成:

代码语言:javascript
复制
A, SMB
A, MM
A, ENT

以及可能来自其他条件/列的任何其他变体-例如,也可以包含多个值的“客户垂直”?这似乎会大大增加数据集的大小。有没有更好的方法来组织这个数据和/或处理这个场景?

我的最终目标是让用户通过简单的问题完成一个简短的调查,并将他们的回答映射到价值,以获得对给定细分市场、垂直市场、产品类别等的“正确”公司的预测。但我正在努力构建正确的学习数据集来实现这一目标。

EN

回答 1

Stack Overflow用户

发布于 2016-04-20 06:03:50

让我们试一试。

代码语言:javascript
复制
df = pd.DataFrame({'company':['A','B'], 'segment':['SMB:MM:ENT', 'SMB:MM']})
expended_segment = df.segment.str.split(':', expand=True)
expended_segment.columns = ['segment'+str(i) for i in range(len(expended_segment.columns))]
wide_df = pd.concat([df.company, expended_segment], axis=1)
result = pd.melt(wide_df, id_vars=['company'], value_vars=list(set(wide_df.columns)-set(['company'])))
result.dropna()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36729803

复制
相关文章

相似问题

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