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

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

 

目录

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

1、定义数据集

2、特征工程(数据分析+数据处理)


 

 

 

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

Crawl:利用bs4和requests爬取了国内顶级某房源平台(2020年7月2日上海二手房)将近30*100多条数据并进行房价分析以及预测

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

1、定义数据集

1. <class 'pandas.core.frame.DataFrame'>
2.   total_price unit_price roomtype   height direction decorate     area  \
3. 0        290万  46186元/平米     2室1厅  高楼层/共6层         南    平层/简装  62.79平米   
4. 1        599万  76924元/平米     2室1厅  低楼层/共6层         南    平层/精装  77.87平米   
5. 2        420万  51458元/平米     2室1厅  低楼层/共6层       南 北    平层/精装  81.62平米   
6. 3      269.9万  34831元/平米     2室2厅  低楼层/共6层         南    平层/精装  77.49平米   
7. 4        383万  79051元/平米     1室1厅  中楼层/共6层         南    平层/精装  48.45平米   
8. 
9.       age    garden district            id  Unnamed: 11  total_price_Num  \
10. 0  1993.0      国和一村       杨浦  107102693322          NaN            290.0
11. 1  2005.0  虹康花苑(三期)       长宁  107102590033          NaN            599.0
12. 2  1995.0      纪念小区       虹口  107102469522          NaN            420.0
13. 3  2009.0      新凯二期       松江  107102187832          NaN            269.9
14. 4  1996.0      白浪新村       闵行  107102568627          NaN            383.0
15. 
16.    unit_price_Num  area_Num  
17. 0           46186     62.79
18. 1           76924     77.87
19. 2           51458     81.62
20. 3           34831     77.49
21. 4           79051     48.45
22.      total_price unit_price roomtype    height direction decorate     area  \
23. 2995        230万  43144元/平米     1室1厅  低楼层/共11层         南    平层/简装  53.31平米   
24. 2996        372万  75016元/平米     1室1厅  低楼层/共11层         南    平层/精装  49.59平米   
25. 2997        366万  49973元/平米     2室1厅   中楼层/共6层         南    平层/简装  73.24平米   
26. 2998        365万  69103元/平米     2室1厅  低楼层/共17层         北    平层/精装  52.82平米   
27. 2999        420万  49412元/平米     2室2厅  低楼层/共14层       南 北    平层/精装     85平米   
28. 
29.          age garden district            id  Unnamed: 11  total_price_Num  \
30. 2995  2010.0   南新东园       浦东  107102716551          NaN            230.0
31. 2996  2006.0   九歌上郡       闵行  107102716557          NaN            372.0
32. 2997  1995.0   高境一村       宝山  107102716802          NaN            366.0
33. 2998  1990.0  遵义西大楼       长宁  107102716833          NaN            365.0
34. 2999  2011.0   象屿名城       松江  107102717793          NaN            420.0
35. 
36.       unit_price_Num  area_Num  
37. 2995           43144     53.31
38. 2996           75016     49.59
39. 2997           49973     73.24
40. 2998           69103     52.82
41. 2999           49412     85.00
42. <class 'pandas.core.frame.DataFrame'>
43. Int64Index: 3000 entries, 0 to 2999
44. Data columns (total 15 columns):
45. total_price        3000 non-null object
46. unit_price         3000 non-null object
47. roomtype           3000 non-null object
48. height             3000 non-null object
49. direction          3000 non-null object
50. decorate           3000 non-null object
51. area               3000 non-null object
52. age                2888 non-null float64
53. garden             3000 non-null object
54. district           3000 non-null object
55. id                 3000 non-null int64
56. Unnamed: 11        0 non-null float64
57. total_price_Num    3000 non-null float64
58. unit_price_Num     3000 non-null int64
59. area_Num           3000 non-null float64
60. dtypes: float64(4), int64(2), object(9)
61. memory usage: 375.0+ KB
62. None
63.                age            id  Unnamed: 11  total_price_Num  \
64. count  2888.000000  3.000000e+03          0.0      3000.000000
65. mean   2001.453601  1.070999e+11          NaN       631.953450
66. std       9.112425  1.535036e+07          NaN       631.308855
67. min    1911.000000  1.070000e+11          NaN        90.000000
68. 25%    1996.000000  1.071020e+11          NaN       300.000000
69. 50%    2003.000000  1.071026e+11          NaN       437.000000
70. 75%    2008.000000  1.071027e+11          NaN       738.000000
71. max    2018.000000  1.071027e+11          NaN      9800.000000
72. 
73.        unit_price_Num     area_Num  
74. count     3000.000000  3000.000000
75. mean     58939.028333   102.180667
76. std      25867.208297    62.211662
77. min      11443.000000    17.050000
78. 25%      40267.500000    67.285000
79. 50%      54946.000000    89.230000
80. 75%      73681.250000   119.035000
81. max     250813.000000   801.140000
82. 数据集维度: (3000, 15)
83. 数据集所有字段: Index(['total_price', 'unit_price', 'roomtype', 'height', 'direction',
84. 'decorate', 'area', 'age', 'garden', 'district', 'id', 'Unnamed: 11',
85. 'total_price_Num', 'unit_price_Num', 'area_Num'],
86.       dtype='object')
87. 统计字段名及其对应长度: roomtype 22
88. ['2室1厅' '2室2厅' '1室1厅' '3室2厅' '1室0厅' '3室1厅' '2室0厅' '1室2厅' '4室3厅' '5室2厅'
89. '4室2厅' '5室3厅' '3室0厅' '5室1厅' '5室4厅' '6室4厅' '6室2厅' '6室3厅' '7室2厅' '9室6厅'
90. '3室3厅' '4室1厅']
91. roomtype字段下所有类别     对应数量
92. 2室2厅    751
93. 3室2厅    706
94. 2室1厅    622
95. 1室1厅    323
96. 4室2厅    192
97. 3室1厅    174
98. 1室0厅     47
99. 1室2厅     37
100. 2室0厅     37
101. 5室2厅     35
102. 4室3厅     25
103. 5室3厅     17
104. 6室2厅      9
105. 6室3厅      5
106. 5室1厅      5
107. 3室3厅      4
108. 3室0厅      3
109. 5室4厅      3
110. 4室1厅      2
111. 6室4厅      1
112. 7室2厅      1
113. 9室6厅      1
114. Name: roomtype, dtype: int64
115. 统计字段名及其对应长度: height 138
116. ['高楼层/共6层' '低楼层/共6层' '中楼层/共6层' '高楼层/共18层' '低楼层/共9层' '中楼层/共5层' '高楼层/共11层'
117. '高楼层/共4层' '高楼层/共32层' '中楼层/共7层' '高楼层/共30层' '中楼层/共12层' '中楼层/共24层' '低楼层/共4层'
118. '低楼层/共5层' '中楼层/共13层' '中楼层/共11层' '低楼层/共7层' '高楼层/共8层' '中楼层/共18层' '中楼层/共14层'
119. '低楼层/共17层' '中楼层/共30层' '低楼层/共18层' '高楼层/共13层' '中楼层/共31层' '中楼层/共29层'
120. '独栋/共2层' '高楼层/共29层' '低楼层/共30层' '低楼层/共15层' '高楼层/共28层' '联排/共3层' '中楼层/共8层'
121. '中楼层/共56层' '低楼层/共16层' '低楼层/共56层' '低楼层/共32层' '高楼层/共7层' '高楼层/共5层' '中楼层/共9层'
122. '高楼层/共33层' '高楼层/共22层' '低楼层/共26层' '中楼层/共35层' '低楼层/共23层' '低楼层/共35层'
123. '中楼层/共19层' '中楼层/共17层' '高楼层/共31层' '低楼层/共38层' '低楼层/共28层' '低楼层/共22层'
124. '低楼层/共24层' '中楼层/共16层' '高楼层/共25层' '低楼层/共14层' '双拼/共2层' '中楼层/共4层' '高楼层/共17层'
125. '低楼层/共34层' '中楼层/共28层' '高楼层/共24层' '中楼层/共20层' '低楼层/共12层' '高楼层/共16层'
126. '中楼层/共25层' '联排/共1层' '中楼层/共15层' '高楼层/共34层' '低楼层/共49层' '中楼层/共10层'
127. '低楼层/共11层' '高楼层/共14层' '中楼层/共21层' '中楼层/共32层' '共3层' '中楼层/共38层' '共1层'
128. '低楼层/共19层' '中楼层/共22层' '中楼层/共33层' '低楼层/共13层' '低楼层/共20层' '高楼层/共12层'
129. '中楼层/共37层' '高楼层/共15层' '低楼层/共25层' '低楼层/共31层' '高楼层/共26层' '高楼层/共9层' '双拼/共3层'
130. '低楼层/共33层' '高楼层/共20层' '高楼层/共40层' '低楼层/共21层' '低楼层/共10层' '上叠别墅/共4层'
131. '低楼层/共2层' '低楼层/共8层' '低楼层/共61层' '中楼层/共59层' '高楼层/共36层' '中楼层/共27层'
132. '下叠别墅/共6层' '高楼层/共10层' '高楼层/共27层' '高楼层/共21层' '低楼层/共3层' '高楼层/共37层'
133. '高楼层/共49层' '低楼层/共27层' '高楼层/共19层' '中楼层/共34层' '低楼层/共1层' '高楼层/共35层'
134. '低楼层/共43层' '低楼层/共51层' '中楼层/共39层' '低楼层/共29层' '中楼层/共36层' '高楼层/共43层'
135. '联排/共2层' '中楼层/共23层' '独栋/共3层' '高楼层/共23层' '高楼层/共39层' '共2层' '高楼层/共38层'
136. '高楼层/共45层' '中楼层/共63层' '中楼层/共26层' '下叠别墅/共5层' '下叠别墅/共3层' '下叠别墅/共4层'
137. '低楼层/共37层' '低楼层/共41层' '高楼层/共58层']
138. height字段下所有类别     对应数量
139. 高楼层/共6层     557
140. 中楼层/共6层     335
141. 低楼层/共6层     260
142. 中楼层/共5层      90
143. 低楼层/共18层     84
144. 高楼层/共18层     75
145. 中楼层/共11层     65
146. 中楼层/共18层     65
147. 中楼层/共14层     57
148. 低楼层/共14层     56
149. 低楼层/共11层     51
150. 高楼层/共5层      50
151. 高楼层/共11层     47
152. 高楼层/共7层      43
153. 中楼层/共7层      43
154. 中楼层/共17层     36
155. 中楼层/共8层      35
156. 低楼层/共24层     33
157. 中楼层/共24层     32
158. 低楼层/共7层      31
159. 低楼层/共12层     30
160. 高楼层/共14层     27
161. 低楼层/共16层     26
162. 高楼层/共16层     25
163. 低楼层/共15层     24
164. 中楼层/共12层     24
165. 低楼层/共17层     24
166. 高楼层/共12层     24
167. 低楼层/共5层      21
168. 低楼层/共13层     19
169.            ... 
170. 低楼层/共38层      3
171. 高楼层/共23层      3
172. 共1层           2
173. 高楼层/共40层      2
174. 高楼层/共36层      2
175. 高楼层/共49层      2
176. 独栋/共3层        2
177. 低楼层/共49层      2
178. 上叠别墅/共4层      2
179. 共2层           2
180. 高楼层/共10层      2
181. 中楼层/共56层      2
182. 低楼层/共37层      2
183. 低楼层/共2层       1
184. 高楼层/共45层      1
185. 下叠别墅/共6层      1
186. 下叠别墅/共3层      1
187. 双拼/共2层        1
188. 低楼层/共41层      1
189. 低楼层/共51层      1
190. 下叠别墅/共5层      1
191. 高楼层/共39层      1
192. 联排/共2层        1
193. 高楼层/共43层      1
194. 中楼层/共63层      1
195. 高楼层/共58层      1
196. 中楼层/共59层      1
197. 中楼层/共36层      1
198. 低楼层/共61层      1
199. 低楼层/共56层      1
200. Name: height, Length: 138, dtype: int64
201. 统计字段名及其对应长度: direction 34
202. ['南' '南 北' '东南' '东 南' '北 西北' '东北' '西' '西南' '东南 南' '南 西南' '东' '南 西 北' '西 东'
203. '东 东南' '北' '南 西' '东 西' '北 南' '西南 西北' '暂无数据' '东 北' '东南 西北' '西北' '东南 西'
204. '东北 南 北' '东 南 北' '西 东北' '南 东南' '南 北 东 东南' '南 东' '南 北 西' '西 北 南' '西 北'
205. '东南 南 西北 北']
206. direction字段下所有类别     对应数量
207. 南            2131
208. 南 北           653
209. 东南             50
210. 西南             46
211. 西              19
212. 东              13
213. 北              12
214. 南 西             8
215. 东南 南            7
216. 北 南             7
217. 南 西南            6
218. 东北              5
219. 东 南             5
220. 暂无数据            5
221. 南 西 北           4
222. 西 东             3
223. 东 东南            3
224. 西北              3
225. 东 西             3
226. 东 北             2
227. 北 西北            2
228. 西 北 南           1
229. 南 北 西           1
230. 东南 南 西北 北       1
231. 南 东南            1
232. 西 东北            1
233. 南 东             1
234. 东南 西北           1
235. 东南 西            1
236. 西南 西北           1
237. 西 北             1
238. 南 北 东 东南        1
239. 东北 南 北          1
240. 东 南 北           1
241. Name: direction, dtype: int64
242. 统计字段名及其对应长度: decorate 18
243. ['平层/简装' '平层/精装' '简装' '平层/毛坯' '精装' '复式/精装' '平层/其他' '跃层/精装' '错层/精装' '复式/简装'
244. '复式/其他' '错层/其他' '错层/简装' '复式/毛坯' '跃层/简装' '毛坯' '错层/毛坯' '跃层/毛坯']
245. decorate字段下所有类别     对应数量
246. 平层/精装    1428
247. 平层/简装     997
248. 平层/毛坯     247
249. 复式/精装     166
250. 平层/其他      57
251. 复式/简装      39
252. 复式/毛坯      17
253. 错层/精装      16
254. 精装          9
255. 复式/其他       5
256. 跃层/精装       5
257. 简装          5
258. 跃层/简装       2
259. 错层/简装       2
260. 跃层/毛坯       2
261. 错层/其他       1
262. 错层/毛坯       1
263. 毛坯          1
264. Name: decorate, dtype: int64
265. 统计字段名及其对应长度: garden 1859
266. ['国和一村' '虹康花苑(三期)' '纪念小区' ... '南新东园' '遵义西大楼' '象屿名城']
267. garden字段下所有类别     对应数量
268. 新南家园             15
269. 世茂滨江花园           13
270. 田林十二村            10
271. 文怡花园              9
272. 万馨佳园              9
273. 绿地金卫新家园(西区)       9
274. 金地湾流域(二期569弄)     8
275. 中房公寓              8
276. 鸿宝一村(南区)          8
277. 新凯二期              8
278. 中远两湾城             7
279. 印象春城              7
280. 新德佳苑              7
281. 长丰坊               7
282. 中环一号(一期)          6
283. 惠康苑西苑             6
284. 明园森林都市            6
285. 明珠小区(川沙)          6
286. 惠益新苑              6
287. 富友嘉园              6
288. 美兰湖中华园            6
289. 中凯城市之光(静安)        6
290. 金都雅苑(公寓)          6
291. 达安锦园              6
292. 徐汇苑               6
293. 上海康城              6
294. 丰庄十二街坊            6
295. 中环一号(三期)          6
296. 慧芝湖花园             6
297. 御景龙庭              5
298.                  ..
299. 紫堤苑               1
300. 金昌大厦              1
301. 梓树园               1
302. 西南名苑              1
303. 佳宝一村              1
304. 芳雅苑               1
305. 德邑小城(公寓)          1
306. 富丽苑               1
307. 中友嘉园              1
308. 证大家园(一期)          1
309. 潍坊七村              1
310. 钦州路111弄           1
311. 东南华庭              1
312. 铁岭路50弄            1
313. 惠祥公寓              1
314. 科苑新村              1
315. 上海阳城              1
316. 同济融创玫瑰公馆          1
317. 湖畔佳苑(公寓)          1
318. 寿祥坊               1
319. 平阳三村              1
320. 石泉小区              1
321. 新福康里(公寓)          1
322. 公馆77              1
323. 合生城邦三街坊           1
324. 双晖小区              1
325. 明日星城(一期)          1
326. 浅水湾恺悦名城           1
327. 隽苑                1
328. 紫竹小区              1
329. Name: garden, Length: 1859, dtype: int64
330. 统计字段名及其对应长度: district 15
331. ['杨浦' '长宁' '虹口' '松江' '闵行' '宝山' '静安' '徐汇' '浦东' '黄浦' '普陀' '嘉定' '奉贤' '金山'
332. '青浦']
333. district字段下所有类别     对应数量
334. 浦东    794
335. 闵行    400
336. 徐汇    268
337. 静安    228
338. 宝山    208
339. 普陀    169
340. 嘉定    155
341. 松江    146
342. 杨浦    141
343. 长宁    135
344. 奉贤     95
345. 黄浦     89
346. 青浦     63
347. 金山     55
348. 虹口     54
349. Name: district, dtype: int64
350. dataset.corr(): 
351.                        age        id  Unnamed: 11  total_price_Num  \
352. age              1.000000  0.000330          NaN         0.199691
353. id               0.000330  1.000000          NaN        -0.143520
354. Unnamed: 11           NaN       NaN          NaN              NaN   
355. total_price_Num  0.199691 -0.143520          NaN         1.000000
356. unit_price_Num  -0.143897 -0.071997          NaN         0.638882
357. area_Num         0.345437 -0.171639          NaN         0.787404
358. 
359.                  unit_price_Num  area_Num  
360. age                   -0.143897  0.345437
361. id                    -0.071997 -0.171639
362. Unnamed: 11                 NaN       NaN  
363. total_price_Num        0.638882  0.787404
364. unit_price_Num         1.000000  0.184717
365. area_Num               0.184717  1.000000
366. 散点图可视化:可寻找异常点
367. 检查目标变量满足整体分布
368. 
369.  mu = 631.95 and sigma = 631.20
370. 
371. 绘制Q-Q分位数图:看是否与理论的一致
372. Skew in numerical features: 
373. 
374. skewness.head(): 
375.                      Skew
376. area_Num        3.448604
377. unit_price_Num  1.121800
378. 总共有 2 数值型的特征做变换
379. 采用LabelEncoder,对部分类别的特征进行编号,转为数值型
380. temp1: 
381.  roomtype            object
382. height              object
383. direction           object
384. decorate            object
385. garden              object
386. district            object
387. total_price_Num    float64
388. area_Num           float64
389. dtype: object
390. temp2: 
391.  Index(['roomtype', 'height', 'direction', 'decorate', 'garden', 'district'], dtype='object')
392. [5, 10, 8, 6, 11, 2, 13, 3, 7, 14, 4, 0, 1, 9, 12]
393.    roomtype  height  direction  decorate  garden  district  total_price_Num  \
394. 0         4     134         16         6     507         5            290.0
395. 1         4      83         16         7    1501        10            599.0
396. 2         4      83         19         7    1333         8            420.0
397. 3         5      83         16         7     829         6            269.9
398. 4         1      40         16         7    1268        11            383.0
399. 5         8     105         16         6    1505        10           1250.0
400. 6         8      86         19         7      21        11            737.0
401. 7         0      38         16         9    1230         8            162.0
402. 8         5      98         19         7    1589         2            328.0
403. 9         0      40         16         6     708        13            163.0
404. 
405.    area_Num  
406. 0     62.79
407. 1     77.87
408. 2     81.62
409. 3     77.49
410. 4     48.45
411. 5    135.03
412. 6    112.00
413. 7     35.76
414. 8     77.63
415. 9     30.25
416.       roomtype  height  direction  decorate  garden  district  \
417. 2995         1      45         16         6     388         7
418. 2996         1      45         16         7     236        11
419. 2997         4      40         16         6    1819         2
420. 2998         4      51         13         7    1586        10
421. 2999         5      48         19         7    1547         6
422. 
423.       total_price_Num  area_Num  
424. 2995            230.0     53.31
425. 2996            372.0     49.59
426. 2997            366.0     73.24
427. 2998            365.0     52.82
428. 2999            420.0     85.00

 

 

 

 

 

2、特征工程(数据分析+数据处理)

 


相关文章
|
1月前
|
自然语言处理 小程序 数据挖掘
数据分析实战-Python实现博客评论数据的情感分析
数据分析实战-Python实现博客评论数据的情感分析
95 0
|
2月前
|
数据采集 数据挖掘 API
主流电商平台数据采集API接口|【Python爬虫+数据分析】采集电商平台数据信息采集
随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。本文将介绍如何使用Python编写爬虫程序,抓取电商平台的商品信息、价格、评论等数据。 当然,如果是电商企业,跨境电商企业,ERP系统搭建,我们经常需要采集的平台多,数据量大,要求数据稳定供应,有并发需求,那就需要通过接入电商API数据采集接口,封装好的数据采集接口更方便稳定高效数据采集。
|
16天前
|
人工智能 监控 数据可视化
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
|
1月前
|
存储 数据采集 数据挖掘
python数据分析——数据分类汇总与统计
数据分类汇总与统计是指将大量的数据按照不同的分类方式进行整理和归纳,然后对这些数据进行统计分析,以便于更好地了解数据的特点和规律。
56 1
|
1月前
|
存储 SQL 数据挖掘
python数据分析——数据的选择和运算
在数据分析中,数据的选择和运算是非常重要的步骤。数据选择和运算是数据分析中的基础工作,正确和高效的选择和运算方法对于数据分析结果的准确性和速度至关重要。
42 0
|
1月前
|
JSON 数据挖掘 数据格式
python数据分析——数据分析的数据的导入和导出
数据分析的数据的导入和导出是数据分析流程中至关重要的两个环节,它们直接影响到数据分析的准确性和效率。在数据导入阶段,首先要确保数据的来源可靠、格式统一,并且能够满足分析需求。这通常涉及到数据清洗和预处理的工作,比如去除重复数据、处理缺失值、转换数据类型等,以确保数据的完整性和一致性。
36 0
|
1月前
|
数据采集 数据可视化 数据挖掘
python数据分析——业务数据描述
业务数据描述将从统计学角度来分析这指标。利用统计方法,数据分析人员可以通过相应统计模型开展数据分析。数据分析过程包括数据收集,数据处理,数据探索,模型方法应用,分析结果数据展现及形成分析报告。 业务报表是指对业务内容和数据的统计分析图表。统计图表代表了一张图像化的数据,形象地呈现数据。我们常常提到的可视化分析图表一般包括比较类图表,占比类图表,相关类图表和趋势类图表。
36 1
|
2月前
|
存储 分布式计算 数据挖掘
Pig 数据分析平台
Pig 是一个基于 Hadoop 的数据分析平台,它是由 Yahoo! 开发并捐献给 Apache 软件基金会的一个开源项目。Pig 起源于 Yahoo! 的广告业务部门,旨在处理大规模数据并支持数据分析。【2月更文挑战第5天】
24 5
|
11天前
|
人工智能 数据可视化 数据挖掘
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
|
3天前
|
Python 数据挖掘 存储
Python 数据分析(PYDA)第三版(七)(4)
Python 数据分析(PYDA)第三版(七)