首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化

PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化

作者头像
拓端
发布2025-05-10 10:13:24
发布2025-05-10 10:13:24
10000
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

全文下载链接: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 设施:设施数量

代码语言:javascript
代码运行次数:0
运行
复制
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()

数据预处理

ETL处理,清理数据帧。

代码语言:javascript
代码运行次数:0
运行
复制
df_clean.head()

探索性分析 - 数据可视化

代码语言:javascript
代码运行次数:0
运行
复制
plt.figure(figsize=(8, 6))

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

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

读取地理数据

代码语言:javascript
代码运行次数:0
运行
复制
sns.heatmap(df_clean.corr(), square=True, annot=True, fmt = '.2f', cmap = 'vla

01

02

03

04

模型构建

尝试根据特征预测价格。

代码语言:javascript
代码运行次数:0
运行
复制
y = df\_clean.log\_price

X = df\_clean.iloc\[:, 1:\].drop(\['price', 'log\_price'\], axis=1)

岭回归模型

代码语言:javascript
代码运行次数:0
运行
复制
ridge = Ridge()

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

Lasso回归

代码语言:javascript
代码运行次数:0
运行
复制
coef.sort_values(ascending=False).plot(kind = 'barh')

Random forest随机森林

代码语言:javascript
代码运行次数:0
运行
复制
rf\_cv.fit(X\_train, y_train)

XGBoost

代码语言:javascript
代码运行次数:0
运行
复制
xgb_model.loc\[30:,\['test-rmse-mean', 'train-rmse-mean'\]\].plot();
代码语言:javascript
代码运行次数:0
运行
复制
xgb\_cv.fit(X\_train, y_train)

Keras神经网络

代码语言:javascript
代码运行次数:0
运行
复制
model.add(Dense(1, kernel_initializer='normal'))

# Compile model

model.compile(loss='mean\_squared\_error', optimizer='Adam')

model.summary()

kmeans聚类数据

代码语言:javascript
代码运行次数:0
运行
复制
  kmeanModel = KMeans(n_clusters=k).fit(X) 

    kmeanModel.fit(X)     

    inertias.append(kmeanModel.inertia_) 

plt.plot(K, inertias, 'bx-')
代码语言:javascript
代码运行次数:0
运行
复制
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)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全文下载链接:http://tecdat.cn/?p=29480
  • 作者:Xingsheng Yang
  • 任务/目标
  • 上海租赁数据
  • 数据预处理
  • 探索性分析 - 数据可视化
  • 读取地理数据
  • 模型构建
  • 岭回归模型
    • Lasso回归
    • Random forest随机森林
    • XGBoost
  • Keras神经网络
  • kmeans聚类数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档