2014-01-27 288 views
1

我想预测网球比赛的输出 - 只是一个有趣的一面项目。我使用随机森林回归来做到这一点。现在,其中一个特征是在特定比赛之前球员的排名。对于很多比赛我没有排名(我只有前200名排名)。问题是 - 把一个不是整数的值放在一个比较好的位置,比如字符串"NoRank",或者输入一个超出1-200范围的整数?考虑到学习算法,我倾向于把价值201,但我想听听你的意见.. 谢谢!scikit-learn随机森林的输入

回答

2

不幸的是,scikit-learn随机森林不支持缺失值。如果您认为没有排名的球员可能表现得最差,那么球员平均排名为200,那么输入201排名就是合理的。

注意:所有scikit-learn模型都需要同类数字输入功能,而不是字符串标签或其他python对象。如果您有字符串标签作为功能,首先需要根据字符串要素的含义(例如,分类变量标识符或自由文本作为一包字提取)来找到正确的feature extraction strategy

+0

我使用'DictVectorizer'将我的特征集转化为'numpy'数值数组。如果一个特定值的所有值都是整数,并且只有一个是字符串,那么它就变成了“二进制单热(又名一个K)编码” - 据我所知。那么这会不会影响树的性能(与所有整数相比)?我希望这是明确的.. – WeaselFox