机器学习中常见的离散变量的编码方式 onehotencoder(独热编码)

  • onehotencoder(独热编码)
# dataset为数据集  product_tags为需要编码的特征列(假设为第一列)
product_tags = dataset.iloc[:, :1]
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(categories='auto').fit(product_tags)
res = enc.transform(product_tags).toarray()
res.shape # 查看编码后有多少列
enc.get_feature_names() # 查看每一列对应的特征
# 将编码得到的这些列拼接到原来的数据集后面 然后删除原来列就大功告成了
new_data = pd.concat([dataset, pd.DataFrame(res)],axis=1) # 拼接
new_data.head(10)
new_data.drop(['product_tags_1'],axis=1,inplace=True) # 删除原来列
new_data.columns  # 查看拼接后所有的列名
new_data  # 大功告成

你可能感兴趣的:(机器学习算法实现)