处理分类特征中的缺失数据

数据挖掘 机器学习 特征选择 数据清理 特征工程 一热编码
2021-09-20 01:30:27

我有一个数据集,其中一个分类列具有大量缺失值。此列的有趣之处在于它仅具有“另一个”列中特定类别的值。

例如:

column 1                        column2
========================================
Google                             -
Google                             -
Google                             -
Google                             -
Facebook                        Image
Facebook                        Video
Facebook                        Image

我感兴趣的列仅具有另一个列中存在的一个类别(Facebook)的值。因此,google 的缺失值不能用平均值估算,不能预测,也不能忽略这些行。

在这种情况下,将缺失值“-”视为单热编码中的单独类别是否明智?或者这会严重影响我的机器学习模型吗?

2个回答

您可以将示例中的第 2 列分解为列数: Image,Video....

因此,新功能将如下所示:

Column1  Image  Video  
Google     0      0
Google     0      0
Facebook   1      0
Facebook   0      1

你可以试试这个:

import pandas as pd

df_new = pd.get_dummies(df, columns=['column2'])
print(df_new)

输出:

    column1  column2_Image  column2_Video
0    Google              0              0
1    Google              0              0
2    Google              0              0
3    Google              0              0
4  Facebook              1              0
5  Facebook              0              1
6  Facebook              1              0