python房价分析论文_用Python研究了三千套房子,告诉你究竟是什么抬高了房价?...

关于房价,一直都是全民热议的话题,毕竟不少人终其一生都在为之奋斗。

房地产的泡沫究竟有多大不得而知?今天我们抛开泡沫,回归房屋最本质的内容,来分析一下房价的影响因素究竟是什么?

1、导入数据

importnumpyasnp

importpandasaspd

importmatplotlib.pyplotasplt

importseabornassn

importmissingnoasmsno

%matplotlibinline

train = pd.read_csv('train.csv',index_col=0)#导入训练集

test = pd.read_csv('test.csv',index_col=0)#导入测试集

train.head(3)

print('train训练集缺失数据分布图')

msno.matrix(train)

print('test测试集缺失数据分布图')

msno.matrix(test)

从上面的数据缺失可视化图中可以看出,部分特征的数据缺失十分严重,下面我们来对特征的缺失数量进行统计。

2、目标Y值分析

##分割Y和X数据

y=train['SalePrice']

#看一下y的值分布

prices = pd.DataFrame({'price':y,'log(price+1)':np.log1p(y)})

prices.hist()

观察目标变量y的分布和取对数后的分布看,取完对数后更倾向于符合正太分布,故我们对y进行对数转化。

y = np.log1p(y)#+1的目的是防止对数转化后的值无意义

3、合并数据 缺失处理

#合并训练特征和测试集

all_df = pd.concat((X,test),axis=0)

print('all_df缺失数据图')

msno.matrix(all_df)

#定义缺失统计函数

defshow_missing(feature):

missing = feature.columns[feature.isnull().any()].tolist()

returnmissing

print('缺失特征的数据缺失量统计:')

all_df[show_missing(all_df)].isnull().sum()

#先处理numeric数值型数据

#挨个儿看一下分布

fig,axs = plt.subplots(3,2,figsize=(16,9))

all_df['BsmtFinSF1'].hist(ax = axs[0,0])#众数填充

all_df['BsmtFinSF2'].hist(ax = axs[0,1])#众数

all_df['BsmtUnfSF'].hist(ax =  axs[1,0])#中位数

all_df['TotalBsmtSF'].hist(ax

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值