我有一个关于天气状况的字符特征,例如雨、雪……
我想将这个特征输入到随机森林中,我可以进行什么样的转换来将其转化为数值?
谢谢
回答:
你可以通过将单一属性转换为n个属性来将分类变量转换为数字,其中n是用二进制表示所有选项总数所需的位数。
例如,如果我有一个属性[weather],可以取“雨”、“太阳”、“雪”的值,那么你可以创建两个虚拟属性[weather1]和[weather0]。你可以用两个虚拟属性来表示3个选项,因为3在二进制中可以用2位表示:11。
然后,你不再使用“雨”,而是用两个虚拟属性上的二进制值来表示该类别:“雨”是第一个,所以在二进制中是01,因此该特征在[weather1]上是0,在[weather0]上是1。“太阳”是第二个,所以你可以表示为10,“雪”是第三个,所以可以表示为11。顺序不重要,只要在你的变量中保持一致即可。
如果我们将这些值视为Python字典,那么我们可以看到一个更清晰的例子:
feature[weather] = “rain”
new_feature[weather] = [0,1] 或
new_feature[weather0] = 1, new_feature[weather1] = 0