首页 > 编程语言 >PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化|附代码数据

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

时间:2022-11-10 17:08:31浏览次数:42  
标签:plot plt fit KERAS PYTHON XGBOOST df train clean

作者: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
设施:设施数量


1.  import pandas as pd
2.
3. import numpy as np
4.
5. import geopandas
6.
7. df = pd.read\_csv('lighai.csv', sep =',', encoding='utf\_8\_sig', header=None)
8.
9. df.head()

数据预处理

ETL处理,清理数据帧。

df_clean.head()

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

探索性分析 - 数据可视化


1.  plt.figure(figsize=(8, 6))
2.
3. sns.distplot(df_clean.price, bins=500, kde=True)
4.
5. plt.xscale('log') # Log transform the price

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

读取地理数据

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

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

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



01

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

02

03

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

04

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

模型构建

尝试根据特征预测价格。


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

岭回归模型


1.  ridge = Ridge()
2.
3. alphas = \[0.0001, 0.001, 0.001, 0.01, 0.1, 0.5, 1, 2, 3, 5, 10\]

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

Lasso回归

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

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

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

Random forest随机森林

rf\_cv.fit(X\_train, y_train)

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

XGBoost

xgb_model.loc\[30:,\['test-rmse-mean', 'train-rmse-mean'\]\].plot();
xgb\_cv.fit(X\_train, y_train)

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

Keras神经网络


1.  model.add(Dense(1, kernel_initializer='normal'))
2.
3. # Compile model
4.
5. model.compile(loss='mean\_squared\_error', optimizer='Adam')
6.
7. model.summary()

kmeans聚类数据


1.    kmeanModel = KMeans(n_clusters=k).fit(X) 
2.
3. kmeanModel.fit(X)
4.
5. inertias.append(kmeanModel.inertia_)
6.
7. plt.plot(K, inertias, 'bx-')

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

  1.  gpd.plot(figsize=(12,10), alpha=0.3)
  2.   
  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神经网络、KMEANS聚类、地理可视化|附代码数据_r语言_13



标签:plot,plt,fit,KERAS,PYTHON,XGBOOST,df,train,clean
From: https://blog.51cto.com/u_14293657/5841853

相关文章

  • 拓端数据tecdat|python代写主题LDA建模和t-SNE可视化
     使用潜在Dirichlet分配(LDA)和t-SNE中的可视化进行主题建模。 本文中的代码片段仅供您在阅读时更好地理解。有关完整的工作代码,请参阅此回购。我们将首先介绍主题建模和t-S......
  • Python之os模块
    Python之os模块os是operationsystem(操作系统)的缩写;os模块就是python对操作系统操作接口的封装。os模块提供了多数操作系统的功能接口函数。(OS模块提供了与操作系统进行......
  • 【python】点燃我,温暖你 ,快来Get同款~
    前言大家早好、午好、晚好吖❤~最近,一部名叫《点燃我,温暖你》得电视剧冲进了大家得视野~讲述得是肆意张扬的编程天才李峋与勇敢坚韧的少女学霸朱韵从青涩校园到职场......
  • Python第十章实例、实战
    01    02      03    04      05      06    实战一       实例二     ......
  • ✍73 配置sqlalchemy及STPython
    使用SQLAlchemy来操作神通数据库需对原有SQLAlchemy包进行扩展:神通oscar方言(mysql,oracle之类的数据库都有方言)对Python解释器也进行扩展:神通STPytho......
  • Python爬虫的scrapy框架的简单应用
    load_mzitu\mzitu\​​item.py​​#-*-coding:utf-8-*-#Defineherethemodelsforyourscrapeditems##Seedocumentationin:#http://doc.scrapy.org/en/latest/......
  • python 解构生成的可执行文件(如main.exe)
    python打包成的main.exe中包含了哪些东西,可以通过以下命令解压到当前目录下一个名为 main.exe_extracted的文件夹中:pythonpyinstxtractor.pymainx.exe文件pyi......
  • 成品直播源码推荐,python实现列表插入、查找、删除
    成品直播源码推荐,python实现列表插入、查找、删除#列表的插入、查找、删除实现 classTestArray:  def__init__(self,capacity)->None:    #由于python......
  • Python批量创建文件和文件夹
    Python批量创建文件和文件夹前言:本来计划利用windows批处理脚本批量创建文件和文件夹(文件和文件名称顺序命名),编写批处理脚本过程中,出现很多问题难以解决,耗费时间过多。既......
  • python 代码打包成可执行文件 pyinstaller
    1.打包为一个目录pyinstaller-Dxxx.py2.打包为一个文件pyinstaller-Fxxx.py打包过程中会生成一个xxx.spec文件,如果有自定义的引用,可以修改这个文件,然后执......