今天已经是10月23日了,感觉十月份过的好快...
------------------
今天整理了一下关于python中如何将分类型变量转变为数字的用法,比如现在我们有个数据集,有个变量是水果类型,包括苹果,橘子,李子,梨子等等,这个变量我们需要用它建模,但是,问题来了,python建模时候是无法识别汉字的,所以最好是方式是将这些分类变量由文字变为数字,然后转成因子形式即可。(为什么要转换成因子形式呢?因为分类变量他们是平级关系,如果直接转为数字会有大小关系,比如2比1大,3比2大,转换成因子后,1,2,3,4电脑就知道,这4个数字并没有大小之分,只是编号是这样。)
这里用到的就是LabelEncoder这个函数(其实还有one-hot编码,这次先不说它。)
LabelEncoder方便之处就在于,可以用3、4行代码就能够将一个汉字分类变量,转变为数字型,毕竟如果分类变量多了,比如有180种水果变量,手动在excel里面将他们变为python非汉字还是很耗费时间的,LabelEncoder大救星此时就上场了!
核心代码:
from sklearn import preprocessing
label = preprocessing.LabelEncoder()
label.fit(np.unique(list(data['type'].values)+ list(data['buy'].values)))
data['type'] = label.transform(list(data['type'].values))
data['buy'] = label.transform(list(data['buy'].values)
具体案例:
以上,完结撒花!