panda资料前处理

当我们把资料输入到ML Model时,常常需要对资料先做一些前处理,提升 Model的预测效果。


1.缺失值的处理方式主要有两种

          1.  丢弃,如果数据量够多

          2.  补值

使用Pandas去空值的方法“dropna”,dropna预设只要任一字段有空值,就会整笔删掉。可透过参数来调整,像是把how设为all,就是要全部为空才清掉,或是用subset指定当某一栏为空时才删。补值则使用fillna函式即可,依照以下范例即可补上固定值0、平均数、众数、中位数…

         1.  固定值0: df.fillna(0)

         2.  平均:df['B']=df['B'].fillna(df['B'].mean())

        3.  众数:df['B']=df['B'].fillna(df['B'].mode())


2. 类别数据的处理(有序、无序)

如果是Male, Female, Not Specified因为这三种都是等价的关系因此需要找一个方法让这三个属性距离原点是相同距离,One-hot encoding 就是解决这的问题的方法。

在pandas里面要使用onehot-encoding使用get_dummies这个函式就可以了


3. 数据特征缩放

简单来说特征缩放主要有两种方法(这两种常被混淆):

1.  Normalization

最常见的Normalization为0–1区间缩放,经过Normalization之后数据的范围会介在0~1之间,原本的最大值变为1,最小值变为0,

2. Standardization(标准化)

经过Standardization资料的平均值会变为0, 标准偏差变为1,

 

 

延伸阅读

1.  拉格朗日插值法

2.  机器学习中,有哪些特征选择的工程方法?

 



阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页