繁体   English   中英

scikit学习决策树的数据准备

[英]Data preparation for scikit learn decision tree

我正在尝试为scikit学习准备一个数据集,并计划构建熊猫数据框以将其馈送到决策树分类器。

数据代表具有不同条件的不同公司,但是某些条件可以具有多个值-例如“客户群”-对于任何给定的公司来说,它可以是以下任意或全部:SMB,中型市场,企业等。带有多个可能值的类似条件/列。 我需要根据个人价值而不是总体价值来做出决策-因此,对于SMB的公司A,对于中型市场的公司A,而不是对SMB和中型市场的客户A的“分组”。

是否有有关如何处理此问题的指南? 我是否需要为给定公司的每个变体生成行,以将其输入到学习例程中? 这样的输入:

Company,Segment
A,SMB:MM:ENT

变成:

A, SMB
A, MM
A, ENT

以及可能来自其他条件/列的任何其他变体-例如“客户垂直”,其中也可能包含多个值? 看来这将大大增加数据集的大小。 有没有更好的方法来构造这些数据和/或处理这种情况?

我的最终目标是让用户使用简单的问题完成简短的调查,并将其响应映射到值,以针对给定的细分市场,行业,产品类别等对“正确的”公司进行预测。但是,我在努力建立正确的学习数据集来完成该任务。

我们试试吧。

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM