ML之FE:对爬取的某平台二手房数据进行数据分析以及特征工程处理

ML之FE:对爬取的某平台二手房数据进行数据分析以及特征工程处理


对爬取的某平台二手房数据进行数据分析以及特征工程处理

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
None
               age            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、特征工程(数据分析+数据处理)

(0)

相关推荐