use*_*408 3 machine-learning decision-tree scikit-learn
我是机器学习的新手!
现在我在决策树/随机森林的应用上做了一些问题.我试图适应一个问题,其中包含数字和字符串(如国家/地区名称)作为功能.现在库,scikit-learn只将数字作为参数,但我想注入字符串以及它们带有大量知识.
我如何处理这种情况,我可以通过某种机制(如python中的散列)将字符串转换为数字.但我想知道在决策树问题中如何处理字符串的最佳实践.
1)如何添加"字符串"作为功能.
很少有算法可以原生地处理任何形式的字符串,决策树不是其中之一.您必须将它们转换为决策树知道的内容(通常是数字或分类变量).
如何将它们转换为特征:这在很大程度上取决于字符串的性质.如果字符串是句子,您可以使用像词袋这样的东西将每个单词映射到数字特征.有许多不同的策略可用于确定要使用的数值,但仅使用0/1表示不存在/现在通常是一个不错的基线.
对于国家/地区,这是没有意义的,因为您以错误的方式表示您的功能.一个国家更类似于一个分类变量.只有X个国家/地区,您必须拥有X中的值(这可能不是绝对正确的,但这超出了这一点).scikit-learn不支持分类变量.您可以通过使用单热编码来"伪造"它,但它可能不会完全支持完全支持分类变量的库.
请注意,仅仅因为国家/地区可以表示为类别并不意味着它是处理它们的最佳方式.它在很大程度上取决于您的数据是什么以及您在做什么.没有人知道所有的细节,没有人能为你解答.
| 归档时间: |
|
| 查看次数: |
4824 次 |
| 最近记录: |