将字符特征转换为数字

时间:2015-09-23 15:55:36

标签: machine-learning

我有天气状况的特征,即下雨,下雪......"

我想将这个功能提供给一个随机的森林,我可以做些什么样的转换让它变成数字

感谢

2 个答案:

答案 0 :(得分:0)

你不应该。天气状况是一个分类变量,随机森林本地处理。保持原样并让算法正常工作。

答案 1 :(得分:0)

您可以通过将单个属性转换为n个属性将分类变量转换为数字,其中n是表示二进制选项总数所需的位数。

例如,如果我有一个属性[weather]可以取“rain”,“sun”,“snow”的值,那么你可以创建2个虚拟属性[weather1]和[weather0]。您可以使用2个虚拟属性执行此操作的原因是因为3可以用2位数字表示为二进制:11。

然后,您可以将类别表示为两个虚拟属性的二进制值,而不是使用“rain”: “rain”是第一个所以它将是二进制的01,因此该特征的[weather1]为0,[weather0]为1。 “太阳”是第二个,所以你将它表示为10,“雪”是第三个,所以你可以把它表示为11.只要它在你的变量中是一致的,顺序就不重要了。

如果我们将这些值视为python词典,那么我们可以看到一个更清晰的例子:
feature [weather] =“rain”
new_feature [weather] = [0,1]
new_feature [weather0] = 1,new_feature [weather1] = 0