你好,游客 登录 注册 搜索
背景:
阅读新闻

利用 Scikit Learn的Python数据预处理实战指南

[日期:2017-01-26] 来源:网络整理  作者: [字体: ]

36大数据

简介

本文主要关注在Python中进行数据预处理的技术。学习算法的出众表现与特定的数据类型有密切关系。而对于没有经过缩放或非标准化的特征,学习算法则会给出鲁莽的预测。像XGBoost这样的算法明确要求虚拟编码数据,而决策树算法在有些情况下好像完全不关心这些!

如果我们尝试应用基于距离的算法,如KNN,在这些特征上,范围最大的特征会决定最终的输出结果,那么我们将得到较低的预测精度。我们可通过特征缩放解决这个问题。让我们实践一下。

我们是否忘了什么?我们的逻辑模型的预测精度和猜测的几乎接近。

对于基于树的方法,同样的情况(在一个特征中有2个以上的值)可能在一定程度上影响输出,但是如果像随机森林的方法,若有足够深的深度,无需一位有效编码就能够处理类别变量。

练习3

试试用所有的特征作为非独立变量进行决策树分类,并评论一下你得到的精度。

现在可以用了。但是,精度仍然和我们从数字特征标准化之后用逻辑回归得到的一样。这意味着我们加入的类别特征在我们的目标函数中不是非常显著。

在线性分类器中,我们就分配一个权重“W”给这个特征,这将在W*Dependents+K>0或相当于W*Dependents<k的约束下做出决策。

特征标准化

理解以上图示后,我们推断ApplicantIncome(申请人收入) 和CoapplicantIncome(共同申请人收入) 有相似的尺度范围(0-50000$),LoanAmount(贷款额度) 以千为单位,范围在0 到 600$之间,而Loan_Amount_Term(贷款周期)与其它变量完全不同,因为它的单位是月份,而其它变量单位是美元。