数据处理笔记(一)

一 处理缺失值的几种方法:

1. 提交的kaggle代码转换成所要求的形式。

my_submission = pd.DataFrame({‘Id’:test.Id,’SalePrice’:predicted_prices})
my_submission.to_csv(‘submission.csv’,index = False)

1. 缺失值处理的几种方法

    1. 直接把有缺失值的那一列去掉
    2. 利用Imputation 来填充
    3. 利用Pipeline  来填充(Pipelines simplify model building, model validation and model
2. 数据质量检查

    1. train_df.isnull().any().any(): 检查每一列是否有空的值。
    2. missingno 包:检查缺失值,一目了然。




1. zip(*function()): 有一个 * 行变为列。                                                                                     

二特征二值化编码:

1.

scikit-learn: OneHot Encoder(),LabelEncoder(), LabelBinarizer(), MultiLabelBinarizer()
pandas: get_dummies()
  • OneHotEncoder(): 处理数值类型变量,输入为二维数组(重要),可用_feature_indices_方法进行查看多个变量时,每个变量所占的列。
  • 处理字符型类型变量:方法一 先用 LabelEncoder() 转换成连续的数值型变量,再用 OneHotEncoder() 二值化
    方法二 直接用 LabelBinarizer() 进行二值化
    LabelBinarizer() , LabelEncoder() 输入被限定为一维的。为了处理多维的可用MultiLabelBinarizer()
  • pandasget_dummies 可处理多维的数值型的跟字符型的。
    优势:

1)本身就是 pandas 的模块,所以对 DataFrame 类型兼容很好
2)不管你列是数值型还是字符串型,都可以进行二值化编码
3)能够根据指令,自动生成二值化编码后的变量名

劣势:
1)但毕竟不是 sklearn 里的transformer类型,所以得到的结果得手动输入到 sklearn 里的相应模块,也无法像 sklearn 的transformer一样可以输入到pipeline中 进行流程化地机器学习过程。
2)get_dummies 不像 sklearn 的 transformer一样,有 transform方法,所以一旦测试集中出现了训练集未曾出现过的特征取值,简单地对测试集、训练集都用 get_dummies 方法将导致数据错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值