ML之FE:对爬取的某平台二手房数据进行数据分析以及特征工程处理
ML之FE:对爬取的某平台二手房数据进行数据分析以及特征工程处理
目录
对爬取的某平台二手房数据进行数据分析以及特征工程处理
1、定义数据集
2、特征工程(数据分析+数据处理)
对爬取的某平台二手房数据进行数据分析以及特征工程处理
Crawl:利用bs4和requests爬取了国内顶级某房源平台(2020年7月2日上海二手房)将近30*100多条数据并进行房价分析以及预测
ML之FE:对爬取的某平台二手房数据进行数据分析以及特征工程处理实现代码
1、定义数据集
<class 'pandas.core.frame.DataFrame'>total_price unit_price roomtype height direction decorate area \
0 290万 46186元/平米 2室1厅 高楼层/共6层 南 平层/简装 62.79平米
1 599万 76924元/平米 2室1厅 低楼层/共6层 南 平层/精装 77.87平米
2 420万 51458元/平米 2室1厅 低楼层/共6层 南 北 平层/精装 81.62平米
3 269.9万 34831元/平米 2室2厅 低楼层/共6层 南 平层/精装 77.49平米
4 383万 79051元/平米 1室1厅 中楼层/共6层 南 平层/精装 48.45平米 age garden district id Unnamed: 11 total_price_Num \
0 1993.0 国和一村 杨浦 107102693322 NaN 290.0
1 2005.0 虹康花苑(三期) 长宁 107102590033 NaN 599.0
2 1995.0 纪念小区 虹口 107102469522 NaN 420.0
3 2009.0 新凯二期 松江 107102187832 NaN 269.9
4 1996.0 白浪新村 闵行 107102568627 NaN 383.0 unit_price_Num area_Num
0 46186 62.79
1 76924 77.87
2 51458 81.62
3 34831 77.49
4 79051 48.45 total_price unit_price roomtype height direction decorate area \
2995 230万 43144元/平米 1室1厅 低楼层/共11层 南 平层/简装 53.31平米
2996 372万 75016元/平米 1室1厅 低楼层/共11层 南 平层/精装 49.59平米
2997 366万 49973元/平米 2室1厅 中楼层/共6层 南 平层/简装 73.24平米
2998 365万 69103元/平米 2室1厅 低楼层/共17层 北 平层/精装 52.82平米
2999 420万 49412元/平米 2室2厅 低楼层/共14层 南 北 平层/精装 85平米 age garden district id Unnamed: 11 total_price_Num \
2995 2010.0 南新东园 浦东 107102716551 NaN 230.0
2996 2006.0 九歌上郡 闵行 107102716557 NaN 372.0
2997 1995.0 高境一村 宝山 107102716802 NaN 366.0
2998 1990.0 遵义西大楼 长宁 107102716833 NaN 365.0
2999 2011.0 象屿名城 松江 107102717793 NaN 420.0 unit_price_Num area_Num
2995 43144 53.31
2996 75016 49.59
2997 49973 73.24
2998 69103 52.82
2999 49412 85.00
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3000 entries, 0 to 2999
Data columns (total 15 columns):
total_price 3000 non-null object
unit_price 3000 non-null object
roomtype 3000 non-null object
height 3000 non-null object
direction 3000 non-null object
decorate 3000 non-null object
area 3000 non-null object
age 2888 non-null float64
garden 3000 non-null object
district 3000 non-null object
id 3000 non-null int64
Unnamed: 11 0 non-null float64
total_price_Num 3000 non-null float64
unit_price_Num 3000 non-null int64
area_Num 3000 non-null float64
dtypes: float64(4), int64(2), object(9)
memory usage: 375.0+ KB
Noneage id Unnamed: 11 total_price_Num \
count 2888.000000 3.000000e+03 0.0 3000.000000
mean 2001.453601 1.070999e+11 NaN 631.953450
std 9.112425 1.535036e+07 NaN 631.308855
min 1911.000000 1.070000e+11 NaN 90.000000
25% 1996.000000 1.071020e+11 NaN 300.000000
50% 2003.000000 1.071026e+11 NaN 437.000000
75% 2008.000000 1.071027e+11 NaN 738.000000
max 2018.000000 1.071027e+11 NaN 9800.000000 unit_price_Num area_Num
count 3000.000000 3000.000000
mean 58939.028333 102.180667
std 25867.208297 62.211662
min 11443.000000 17.050000
25% 40267.500000 67.285000
50% 54946.000000 89.230000
75% 73681.250000 119.035000
max 250813.000000 801.140000
数据集维度: (3000, 15)
数据集所有字段: Index(['total_price', 'unit_price', 'roomtype', 'height', 'direction','decorate', 'area', 'age', 'garden', 'district', 'id', 'Unnamed: 11','total_price_Num', 'unit_price_Num', 'area_Num'],dtype='object')
统计字段名及其对应长度: roomtype 22
['2室1厅' '2室2厅' '1室1厅' '3室2厅' '1室0厅' '3室1厅' '2室0厅' '1室2厅' '4室3厅' '5室2厅''4室2厅' '5室3厅' '3室0厅' '5室1厅' '5室4厅' '6室4厅' '6室2厅' '6室3厅' '7室2厅' '9室6厅''3室3厅' '4室1厅']
roomtype字段下所有类别 对应数量
2室2厅 751
3室2厅 706
2室1厅 622
1室1厅 323
4室2厅 192
3室1厅 174
1室0厅 47
1室2厅 37
2室0厅 37
5室2厅 35
4室3厅 25
5室3厅 17
6室2厅 9
6室3厅 5
5室1厅 5
3室3厅 4
3室0厅 3
5室4厅 3
4室1厅 2
6室4厅 1
7室2厅 1
9室6厅 1
Name: roomtype, dtype: int64
统计字段名及其对应长度: height 138
['高楼层/共6层' '低楼层/共6层' '中楼层/共6层' '高楼层/共18层' '低楼层/共9层' '中楼层/共5层' '高楼层/共11层''高楼层/共4层' '高楼层/共32层' '中楼层/共7层' '高楼层/共30层' '中楼层/共12层' '中楼层/共24层' '低楼层/共4层''低楼层/共5层' '中楼层/共13层' '中楼层/共11层' '低楼层/共7层' '高楼层/共8层' '中楼层/共18层' '中楼层/共14层''低楼层/共17层' '中楼层/共30层' '低楼层/共18层' '高楼层/共13层' '中楼层/共31层' '中楼层/共29层''独栋/共2层' '高楼层/共29层' '低楼层/共30层' '低楼层/共15层' '高楼层/共28层' '联排/共3层' '中楼层/共8层''中楼层/共56层' '低楼层/共16层' '低楼层/共56层' '低楼层/共32层' '高楼层/共7层' '高楼层/共5层' '中楼层/共9层''高楼层/共33层' '高楼层/共22层' '低楼层/共26层' '中楼层/共35层' '低楼层/共23层' '低楼层/共35层''中楼层/共19层' '中楼层/共17层' '高楼层/共31层' '低楼层/共38层' '低楼层/共28层' '低楼层/共22层''低楼层/共24层' '中楼层/共16层' '高楼层/共25层' '低楼层/共14层' '双拼/共2层' '中楼层/共4层' '高楼层/共17层''低楼层/共34层' '中楼层/共28层' '高楼层/共24层' '中楼层/共20层' '低楼层/共12层' '高楼层/共16层''中楼层/共25层' '联排/共1层' '中楼层/共15层' '高楼层/共34层' '低楼层/共49层' '中楼层/共10层''低楼层/共11层' '高楼层/共14层' '中楼层/共21层' '中楼层/共32层' '共3层' '中楼层/共38层' '共1层''低楼层/共19层' '中楼层/共22层' '中楼层/共33层' '低楼层/共13层' '低楼层/共20层' '高楼层/共12层''中楼层/共37层' '高楼层/共15层' '低楼层/共25层' '低楼层/共31层' '高楼层/共26层' '高楼层/共9层' '双拼/共3层''低楼层/共33层' '高楼层/共20层' '高楼层/共40层' '低楼层/共21层' '低楼层/共10层' '上叠别墅/共4层''低楼层/共2层' '低楼层/共8层' '低楼层/共61层' '中楼层/共59层' '高楼层/共36层' '中楼层/共27层''下叠别墅/共6层' '高楼层/共10层' '高楼层/共27层' '高楼层/共21层' '低楼层/共3层' '高楼层/共37层''高楼层/共49层' '低楼层/共27层' '高楼层/共19层' '中楼层/共34层' '低楼层/共1层' '高楼层/共35层''低楼层/共43层' '低楼层/共51层' '中楼层/共39层' '低楼层/共29层' '中楼层/共36层' '高楼层/共43层''联排/共2层' '中楼层/共23层' '独栋/共3层' '高楼层/共23层' '高楼层/共39层' '共2层' '高楼层/共38层''高楼层/共45层' '中楼层/共63层' '中楼层/共26层' '下叠别墅/共5层' '下叠别墅/共3层' '下叠别墅/共4层''低楼层/共37层' '低楼层/共41层' '高楼层/共58层']
height字段下所有类别 对应数量
高楼层/共6层 557
中楼层/共6层 335
低楼层/共6层 260
中楼层/共5层 90
低楼层/共18层 84
高楼层/共18层 75
中楼层/共11层 65
中楼层/共18层 65
中楼层/共14层 57
低楼层/共14层 56
低楼层/共11层 51
高楼层/共5层 50
高楼层/共11层 47
高楼层/共7层 43
中楼层/共7层 43
中楼层/共17层 36
中楼层/共8层 35
低楼层/共24层 33
中楼层/共24层 32
低楼层/共7层 31
低楼层/共12层 30
高楼层/共14层 27
低楼层/共16层 26
高楼层/共16层 25
低楼层/共15层 24
中楼层/共12层 24
低楼层/共17层 24
高楼层/共12层 24
低楼层/共5层 21
低楼层/共13层 19...
低楼层/共38层 3
高楼层/共23层 3
共1层 2
高楼层/共40层 2
高楼层/共36层 2
高楼层/共49层 2
独栋/共3层 2
低楼层/共49层 2
上叠别墅/共4层 2
共2层 2
高楼层/共10层 2
中楼层/共56层 2
低楼层/共37层 2
低楼层/共2层 1
高楼层/共45层 1
下叠别墅/共6层 1
下叠别墅/共3层 1
双拼/共2层 1
低楼层/共41层 1
低楼层/共51层 1
下叠别墅/共5层 1
高楼层/共39层 1
联排/共2层 1
高楼层/共43层 1
中楼层/共63层 1
高楼层/共58层 1
中楼层/共59层 1
中楼层/共36层 1
低楼层/共61层 1
低楼层/共56层 1
Name: height, Length: 138, dtype: int64
统计字段名及其对应长度: direction 34
['南' '南 北' '东南' '东 南' '北 西北' '东北' '西' '西南' '东南 南' '南 西南' '东' '南 西 北' '西 东''东 东南' '北' '南 西' '东 西' '北 南' '西南 西北' '暂无数据' '东 北' '东南 西北' '西北' '东南 西''东北 南 北' '东 南 北' '西 东北' '南 东南' '南 北 东 东南' '南 东' '南 北 西' '西 北 南' '西 北''东南 南 西北 北']
direction字段下所有类别 对应数量
南 2131
南 北 653
东南 50
西南 46
西 19
东 13
北 12
南 西 8
东南 南 7
北 南 7
南 西南 6
东北 5
东 南 5
暂无数据 5
南 西 北 4
西 东 3
东 东南 3
西北 3
东 西 3
东 北 2
北 西北 2
西 北 南 1
南 北 西 1
东南 南 西北 北 1
南 东南 1
西 东北 1
南 东 1
东南 西北 1
东南 西 1
西南 西北 1
西 北 1
南 北 东 东南 1
东北 南 北 1
东 南 北 1
Name: direction, dtype: int64
统计字段名及其对应长度: decorate 18
['平层/简装' '平层/精装' '简装' '平层/毛坯' '精装' '复式/精装' '平层/其他' '跃层/精装' '错层/精装' '复式/简装''复式/其他' '错层/其他' '错层/简装' '复式/毛坯' '跃层/简装' '毛坯' '错层/毛坯' '跃层/毛坯']
decorate字段下所有类别 对应数量
平层/精装 1428
平层/简装 997
平层/毛坯 247
复式/精装 166
平层/其他 57
复式/简装 39
复式/毛坯 17
错层/精装 16
精装 9
复式/其他 5
跃层/精装 5
简装 5
跃层/简装 2
错层/简装 2
跃层/毛坯 2
错层/其他 1
错层/毛坯 1
毛坯 1
Name: decorate, dtype: int64
统计字段名及其对应长度: garden 1859
['国和一村' '虹康花苑(三期)' '纪念小区' ... '南新东园' '遵义西大楼' '象屿名城']
garden字段下所有类别 对应数量
新南家园 15
世茂滨江花园 13
田林十二村 10
文怡花园 9
万馨佳园 9
绿地金卫新家园(西区) 9
金地湾流域(二期569弄) 8
中房公寓 8
鸿宝一村(南区) 8
新凯二期 8
中远两湾城 7
印象春城 7
新德佳苑 7
长丰坊 7
中环一号(一期) 6
惠康苑西苑 6
明园森林都市 6
明珠小区(川沙) 6
惠益新苑 6
富友嘉园 6
美兰湖中华园 6
中凯城市之光(静安) 6
金都雅苑(公寓) 6
达安锦园 6
徐汇苑 6
上海康城 6
丰庄十二街坊 6
中环一号(三期) 6
慧芝湖花园 6
御景龙庭 5..
紫堤苑 1
金昌大厦 1
梓树园 1
西南名苑 1
佳宝一村 1
芳雅苑 1
德邑小城(公寓) 1
富丽苑 1
中友嘉园 1
证大家园(一期) 1
潍坊七村 1
钦州路111弄 1
东南华庭 1
铁岭路50弄 1
惠祥公寓 1
科苑新村 1
上海阳城 1
同济融创玫瑰公馆 1
湖畔佳苑(公寓) 1
寿祥坊 1
平阳三村 1
石泉小区 1
新福康里(公寓) 1
公馆77 1
合生城邦三街坊 1
双晖小区 1
明日星城(一期) 1
浅水湾恺悦名城 1
隽苑 1
紫竹小区 1
Name: garden, Length: 1859, dtype: int64
统计字段名及其对应长度: district 15
['杨浦' '长宁' '虹口' '松江' '闵行' '宝山' '静安' '徐汇' '浦东' '黄浦' '普陀' '嘉定' '奉贤' '金山''青浦']
district字段下所有类别 对应数量
浦东 794
闵行 400
徐汇 268
静安 228
宝山 208
普陀 169
嘉定 155
松江 146
杨浦 141
长宁 135
奉贤 95
黄浦 89
青浦 63
金山 55
虹口 54
Name: district, dtype: int64
dataset.corr(): age id Unnamed: 11 total_price_Num \
age 1.000000 0.000330 NaN 0.199691
id 0.000330 1.000000 NaN -0.143520
Unnamed: 11 NaN NaN NaN NaN
total_price_Num 0.199691 -0.143520 NaN 1.000000
unit_price_Num -0.143897 -0.071997 NaN 0.638882
area_Num 0.345437 -0.171639 NaN 0.787404 unit_price_Num area_Num
age -0.143897 0.345437
id -0.071997 -0.171639
Unnamed: 11 NaN NaN
total_price_Num 0.638882 0.787404
unit_price_Num 1.000000 0.184717
area_Num 0.184717 1.000000
散点图可视化:可寻找异常点
检查目标变量满足整体分布mu = 631.95 and sigma = 631.20绘制Q-Q分位数图:看是否与理论的一致
Skew in numerical features: skewness.head(): Skew
area_Num 3.448604
unit_price_Num 1.121800
总共有 2 数值型的特征做变换
采用LabelEncoder,对部分类别的特征进行编号,转为数值型
temp1: roomtype object
height object
direction object
decorate object
garden object
district object
total_price_Num float64
area_Num float64
dtype: object
temp2: Index(['roomtype', 'height', 'direction', 'decorate', 'garden', 'district'], dtype='object')
[5, 10, 8, 6, 11, 2, 13, 3, 7, 14, 4, 0, 1, 9, 12]roomtype height direction decorate garden district total_price_Num \
0 4 134 16 6 507 5 290.0
1 4 83 16 7 1501 10 599.0
2 4 83 19 7 1333 8 420.0
3 5 83 16 7 829 6 269.9
4 1 40 16 7 1268 11 383.0
5 8 105 16 6 1505 10 1250.0
6 8 86 19 7 21 11 737.0
7 0 38 16 9 1230 8 162.0
8 5 98 19 7 1589 2 328.0
9 0 40 16 6 708 13 163.0 area_Num
0 62.79
1 77.87
2 81.62
3 77.49
4 48.45
5 135.03
6 112.00
7 35.76
8 77.63
9 30.25 roomtype height direction decorate garden district \
2995 1 45 16 6 388 7
2996 1 45 16 7 236 11
2997 4 40 16 6 1819 2
2998 4 51 13 7 1586 10
2999 5 48 19 7 1547 6 total_price_Num area_Num
2995 230.0 53.31
2996 372.0 49.59
2997 366.0 73.24
2998 365.0 52.82
2999 420.0 85.00
2、特征工程(数据分析+数据处理)
ML之FE:对爬取的某平台二手房数据进行数据分析以及特征工程处理相关推荐
- python爬取58同城二手房_爬取厦门58同城二手房数据进行数据分析(二)
一.前言 书接上文: Zachary:爬取厦门58同城二手房数据进行数据分析(一)zhuanlan.zhihu.com 这一篇主要对上一篇文章爬取下来的数据进行一些探索性分析和可视化,并且建立一个简 ...
- 爬取链家网二手房数据并保存到mongodb中
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 爬取链家网二手房数据并保存到mongodb中 文章目录 前言 一.爬虫的介绍 二.协程的介绍 三.css选择器 四.基于asyncio ...
- python二手房价格预测_Python爬取赶集网北京二手房数据R对爬取的二手房房价做线性回归分析...
前言:本文主要分为两部分:Python爬取赶集网北京二手房数据&R对爬取的二手房房价做线性回归分析.文章思路清晰,代码详细,特别适合刚刚接触Python&R的同学学习参考. Part1 ...
- python爬取链家新房_Python爬虫实战:爬取链家网二手房数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...
- python爬取链家新房数据_Python爬虫实战:爬取链家网二手房数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...
- Python爬虫实战:selenium爬取电商平台商品数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客挖掘机 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- 爬取北京链家二手房数据
利用python爬取了北京链家主页的二手房数据,爬取时间为2020年1月8日.由于链家只显示了100页.每页30条,因此只能爬取3000条数据. 后续将爬取各区的小区名,对每个小区的在售二手房数据进行 ...
- Python爬虫入门教程31:爬取猫咪交易网站数据并作数据分析
前言
- ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动特征生成)
ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征.利用featuretools工具实现自动特征生成) 目录 基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征 ...
最新文章
- 概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)
- java 如何循环执行一个对象_一个Java对象到底有多大?
- JS Array filter()方法
- android jdk环境的配置
- how Kyma connection is established for the first time
- mysql数据库财务_MySQL数据库——从入门到删库跑路(二)
- [翻译]在 .NET Core 中的并发编程
- window.open完美替代window.showModalDialog
- case when then else_每天一个常用MySQL函数-[case_when_then_end]
- 这个严重 0day 可导致79款 Netgear 路由器遭远程接管,无补丁
- android触屏设备event模拟,android 使用命令模拟点击 滑动
- sql server 高可用故障转移(1)
- webpack-dev-server启动后, localhost:8080返回index.html的原理
- java 字符串string、int和arraylist互转
- error while loading shared libraries: libxx.so: cannot open shared object file: No such file
- 2017年IT168技术卓越奖评选获奖名单:投影篇
- 毕业季海报设计素材图片大全,送给毕业生们最好的毕业季祝福语文案
- 银行笔试题目汇总——综合能力测试
- .NetCore分布式部署中的DataProtection密钥安全性
- C#Code128条形码生成
热门文章
- matlab命令fvtool,FVTool: a finite volume toolbox for Matlab
- android 变化字体,android 字体修改
- C语言数据库公共知识,全国计算机二级C语言公共基础知识数据库设计基础
- 关于SpringCloud配置中心,ConfigClient需要注意的问题
- wiki----为用户设置管理员权限
- Redis主从复制的搭建与.哨兵.数据持久
- eWebEditor不支持IE8的解决方法
- Angular下通过命令创建组件至指定文件夹下
- git通过authorized_keys来管理用户的权限(二)
- 琢磨琢磨,while (true) 和 for (;;) 哪个更快?!