我正在使用一个主要由来自SFDC的名义值(例如员工姓名、职位、角色、潜在客户来源、账户名称等)组成数据集,并试图将这些特征与销售潜在客户是否转化为销售联系人的布尔类别进行关联。
我想通过一些基本的特征选择算法来处理这些数据,但大多数算法只需要数值。我可以将每个独特的分类映射到一个新的字段(特征)上,并使用布尔映射方案,但这样我会生成大量的新特征,我不确定这是否会产生有意义的输出。诚然,最好的解决方案可能是将数据通过决策树运行,但我想看看社区中其他人是否有处理主要由名义数据组成且在实际应用中成功使用的数据集的其他策略。
我使用Python和scipy/numpy/pandas/scikit-learn来进行我的分析。
回答:
我首先会尝试使用sklearn.feature_extraction.DictVectorizer,然后尝试使用可以处理稀疏数据表示的Chi2单变量特征选择。例如,scikit-learn中有一个关于稀疏文本数据的Chi2特征选择的应用:http://scikit-learn.org/dev/auto_examples/document_classification_20newsgroups.html
遗憾的是,scikit-learn的决策树和集成方法尚不支持稀疏表示。