《机器学习实战》加州福利尼州房屋价格 数据清理与文本分类

本文介绍了在《机器学习实战》中遇到的数据清理问题,针对total_bedrooms属性的缺失值处理,提出了三种策略:放弃相应地区、放弃属性、用特定值填充。并探讨了使用Scikit-Learn的imputer进行数据处理。此外,还讨论了文本分类的挑战,特别是如何将文本属性转化为可计算的形式,如使用LabelEncoder进行编码,并通过LabelBinarizer实现独热编码。
摘要由CSDN通过智能技术生成

数据清理

由上一阶段的学习,通过info方法我们查看到了数据集的简单描述。

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 20640 entries, 0 to 20639
Data columns (total 10 columns):
 #   Column              Non-Null Count  Dtype  
---  ------              --------------  -----  
 0   longitude           20640 non-null  float64
 1   latitude            20640 non-null  float64
 2   housing_median_age  20640 non-null  int64  
 3   total_rooms         20640 non-null  int64  
 4   total_bedrooms      20433 non-null  float64
 5   population          20640 non-null  int64  
 6   households          20640 non-null  int64  
 7   median_income       20640 non-null  float64
 8   median_house_value  20640 non-null  int64  
 9   ocean_proximity     20640 non-null  object 
dtypes: float64(4), int64(5), object(1)
memory usage: 1.6+ MB

我们发现total_bedrooms这个属性其实是缺少数据的,翻开csv文件也
解决它的三个方式:

  1. 放弃这些相应的地区
  2. 放弃这个属性
  3. 将缺失值设置为某个值(0、平均数或者中位数都可以)

通过DataFrame的dropna()、drop()、fillna()方法,可以轻松完成这些操作:

我们先来看一下housing

>>> housing
       longitude  latitude  ...  median_house_value  ocean_proximity
0        -122.23     37.88  ...              452600         NEAR BAY
1        -122.22     37.86  ...              358500         NEAR BAY
2        -122.24     37.85  ...              352100         NEAR BAY
3        -122.25     37.85  ...              341300         NEAR BAY
4        -122.25     37.85  ...              342200         NEAR BAY
          ...       ...  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值