项目工作流程:
数值特征处理
编码
离散值处理
LabelEncoder:用的比较多
标准化标签,将标签值统一转换成range(标签值个数-1)范围内
简单来说 LabelEncoder 是对不连续的数字或者文本进行编号
Map
One-hot Encoding
one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。
Get Dummy:比较好用,用的多
在pandas中
将拥有不同值的列转化为0/1的one-hot编码
二值特征处理
普通
watched = np.array(popsong_df['listen_count'])
watched[watched >= 1] = 1
popsong_df['watched'] = watched
popsong_df.head(10)
Binarizer:二值化
from sklearn.preprocessing import Binarizer
# 设置阈值,大于0.9设置为1,小于0.9设置为0
bn