房价数据分析

本文通过对房价数据进行预处理,包括删除多余列、处理缺失值和异常值,然后进行数据探索分析,发现DistanceKM、14岁及以下比重等因素对房价有显著影响。接着使用机器学习中的极端随机森林模型进行预测,经过调参得到最佳模型,预测的房价分布均匀。
摘要由CSDN通过智能技术生成

一、数据预处理

使用jupter book载入训练数据

import numpy as np
import pandas as pd
import re
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
data=pd.read_excel(r'C:\Users\Administrator\Desktop\house\train.xlsx')
data.head()

在这里插入图片描述
数据有62个特征值,观察后发现数据中有不少缺失值,并且存在很多信息冗余的特征,有必要对其逐一分析:

1、删除多余列

首先id列以及板块列作为标识列可以作直接删除处理

在这里插入图片描述
这些列表示都是人口特征,其中存在信息冗余,人数和比重保留其一即可,这里我选择保留比重数据

在这里插入图片描述
这些列表示的是房屋所在区域的配套设施数量分布,其中优势配套分布列并没有提供额外的信息,对于建模来说意义不大,可以做删除处理。

在这里插入图片描述
接下来的这几列表示的是房屋的交通便利情况,这里住户数量和路口数量特征绝大多数为0,判断为缺失值,做删除处理。 自驾和自驾实际值表示含义未可知,两者之间差距比较大,应该是量级不一致导致的。这里我们只保留一个自驾实际值。公共交通我们也只保留一个实际值;

在这里插入图片描述
这几列表示一些民生部门的数量分布,其中优势分布属于信息冗余,我们将其删除

在这里插入图片描述
最高房价列和房价中位数列由于缺失值太多只能做删除处理
在这里插入图片描述
这几列表示房屋附近产业分布,占比和数量我们保留其一即可,这里选择保留数量。优势产业为信息冗余直接删除
在这里插入图片描述
这几列房屋所在区域氛围,优势氛围列信息冗余,做删除处理
在这里插入图片描述
后面这几列同样缺失比例过大,做删除处理
在这里插入图片描述
这几列,与前面的氛围列数据重合了,作删除处理

在这里插入图片描述

columns=['人口占比', '14岁及以下比重', '15至64岁比重', '65岁及以上比重','成人高等学校', 
         '医院数量', '中学', '普通高等院校', '幼儿园', '景观数量', '小学','自驾实际值','公共交通实际值'
        , '生产生活服务部门数量','科学素质提高部门数量', '党政机关数量', '流通数量', '第一产业数量','第二产业数量','第三产业数量','住宅氛围', '办公氛围', '商业氛围', '工厂氛围',
         'DistanceKM', '房价']
data_.loc[:,columns]new=data

删除多余的列之后,现在只有26列,分析难度大大降低

2、缺失值、异常值处理

对于人口特征’人口占比’, ‘14岁及以下比重’, ‘15至64岁比重’, '65岁及以上比重’这几列来说,数值为0的应该表示的是缺失值,这里我们使用均值来代替

自驾实际值公共交通这两列也有不少0值,其实这两列值代表的含义并不可知,这里姑且也用平均值去代替

peoplecolumns=['人口占比', '14岁及以下比重', '15至64岁比重', '65岁及以上比重','自驾实际值'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值