PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据

全文下载链接:http://tecdat.cn/?p=29480

作者:Xingsheng Yang

最近我们被客户要求撰写关于租房数据的研究报告,包括一些图形和统计输出。

1 利用 python 爬取链家网公开的租房数据;

2 对租房信息进行分析,主要对房租相关特征进行分析,并搭建模型用于预测房租

任务/目标

利用上海链家网站租房的公开信息,着重对月租进行数据分析和挖掘。

上海租赁数据

此数据来自 Lianjia.com.csv文件包含名称,租赁类型,床位数量,价格,经度,纬度,阳台,押金,公寓,描述,旅游,交通,独立浴室,家具,新房源,大小,方向,堤坝,电梯,停车场和便利设施信息。

属性:

名称:列表名称
类型:转租或全部租赁(全部)
床:卧室号码
价格
经度/纬度:坐标
阳台,押金(是否有押金政策),公寓,描述,旅游可用性,靠近交通,独立浴室,家具

新房源:NO-0,YES-1
面积:平方米
朝向:朝向窗户,南1,东南2,东-3,北4,西南-5,西-6,西北-7,东北8,未知-0
级别:房源层级, 地下室-0, 低层(1-15)-1, 中层(15-25)-2, 高层(>25)-3
停车场:无停车场-0,额外收费-1,免费停车-2
设施:设施数量

import pandas as pd

import numpy as np

import geopandas 

df = pd.read_csv('lighai.csv', sep =',', encoding='utf_8_sig', header=None)

df.head()

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第1张图片

数据预处理

ETL处理,清理数据帧。

df_clean.head()

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第2张图片 

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第3张图片

探索性分析 - 数据可视化

plt.figure(figsize=(8, 6))

sns.distplot(df_clean.price, bins=500, kde=True)

plt.xscale('log') # Log transform the price

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第4张图片

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第5张图片

读取地理数据

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第6张图片

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第7张图片

plt.figure(figsize=(12, 12))



sns.heatmap(df_clean.corr(), square=True, annot=True, fmt = '.2f', cmap = 'vla

点击标题查阅往期内容

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第8张图片

线性回归和时间序列分析北京房价影响因素可视化案例

图片

左右滑动查看更多

图片

01

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第9张图片

02

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第10张图片

03

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第11张图片

04

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第12张图片

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第13张图片

模型构建

尝试根据特征预测价格。

y = df_clean.log_price

X = df_clean.iloc[:, 1:].drop(['price', 'log_price'], axis=1)

岭回归模型

ridge = Ridge()

alphas = [0.0001, 0.001, 0.001, 0.01, 0.1, 0.5, 1, 2, 3, 5, 10]

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第14张图片

图片 

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第15张图片

Lasso回归

图片

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第16张图片

coef.sort_values(ascending=False).plot(kind = 'barh')

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第17张图片

Random forest随机森林

rf_cv.fit(X_train, y_train)

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第18张图片

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第19张图片

XGBoost

xgb_model.loc[30:,['test-rmse-mean', 'train-rmse-mean']].plot();

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第20张图片

xgb_cv.fit(X_train, y_train)

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第21张图片

图片 

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第22张图片

Keras神经网络

model.add(Dense(1, kernel_initializer='normal'))

# Compile model

model.compile(loss='mean_squared_error', optimizer='Adam')

model.summary()

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第23张图片

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第24张图片

kmeans聚类数据

  kmeanModel = KMeans(n_clusters=k).fit(X) 

    kmeanModel.fit(X)     

    inertias.append(kmeanModel.inertia_) 

plt.plot(K, inertias, 'bx-')

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第25张图片

gpd.plot(figsize=(12,10), alpha=0.3)

scatter_map = plt.scatter(data=df_clean, x='lon', y='lat', c='label', alpha=0.3, cmap='tab10', s=2)

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第26张图片

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第27张图片 


PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据_第28张图片

点击文末 “阅读原文”

本文选自《python岭回归、Lasso、随机森林、XGBoost、Keras神经网络、kmeans聚类链家租房数据地理可视化分析》。

图片

点击标题查阅往期内容

R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
Python中的Lasso回归之最小角算法LARS
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R使用LASSO回归预测股票收益
广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题)
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
R语言Bootstrap的岭回归和自适应LASSO回归可视化
R语言Lasso回归模型变量选择和糖尿病发展预测模型R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
基于R语言实现LASSO回归分析
R语言用LASSO,adaptive LASSO预测通货膨胀时间序列
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
Python中的Lasso回归之最小角算法LARS
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
R语言实现LASSO回归——自己编写LASSO回归算法
R使用LASSO回归预测股票收益
python使用LASSO回归预测股票收益Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
R语言Bootstrap的岭回归和自适应LASSO回归可视化
R语言Lasso回归模型变量选择和糖尿病发展预测模型R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
基于R语言实现LASSO回归分析
R语言用LASSO,adaptive LASSO预测通货膨胀时间序列
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
Python中的Lasso回归之最小角算法LARS
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
R语言实现LASSO回归——自己编写LASSO回归算法
R使用LASSO回归预测股票收益
python使用LASSO回归预测股票收益R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC
MATLAB随机森林优化贝叶斯预测分析汽车燃油经济性
R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
Python贝叶斯回归分析住房负担能力数据集
R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
Python用PyMC3实现贝叶斯线性回归模型
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
R语言Gibbs抽样的贝叶斯简单线性回归仿真分析
R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言贝叶斯线性回归和多元线性回归构建工资预测模型
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
R语言stan进行基于贝叶斯推断的回归模型
R语言中RStan贝叶斯层次模型分析示例
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化

你可能感兴趣的:(PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络|附代码数据)