最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

數(shù)據(jù)分析實戰(zhàn)訓練營8期-拉鉤教育

2023-09-07 14:27 作者:bili_51805000088  | 我要投稿

數(shù)據(jù)分析實戰(zhàn)訓練營8期-拉鉤教育

download:https://www.51xuebc.com/thread-441-1-1.html


數(shù)據(jù)初探

首先導入要運用的科學計算包numpy,pandas,可視化matplotlib,seaborn,以及機器學習包sklearn。

import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib as mplimport matplotlib.pyplot as pltfrom IPython.display import display plt.style.use("fivethirtyeight") sns.set_style({'font.sans-serif':['simhei','Arial']}) %matplotlib inline# 檢查Python版本from sys import version_infoif version_info.major != 3: ? ?raise Exception('請運用Python 3 來完成此項目')

然后導入數(shù)據(jù),并停止初步的察看,這些察看包括理解數(shù)據(jù)特征的缺失值,異常值,以及大約的描繪性統(tǒng)計。

# 導入鏈家二手房數(shù)據(jù)lianjia_df = pd.read_csv('lianjia.csv') display(lianjia_df.head(n=2))


初步察看到一共有11個特征變量,Price?在這里是我們的目的變量,然后我們繼續(xù)深化察看一下。

# 檢查缺失值狀況lianjia_df.info()


發(fā)現(xiàn)了數(shù)據(jù)集一共有23677條數(shù)據(jù),其中Elevator特征有明顯的缺失值。

lianjia_df.describe()


上面結果給出了特征值是數(shù)值的一些統(tǒng)計值,包括均勻數(shù),規(guī)范差,中位數(shù),最小值,最大值,25%分位數(shù),75%分位數(shù)。這些統(tǒng)計結果簡單直接,關于初始理解一個特征好壞十分有用,比方我們察看到?Size 特征?的最大值為1019平米,最小值為2平米,那么我們就要考慮這個在實踐中是不是存在的,假如不存在沒有意義,那么這個數(shù)據(jù)就是一個異常值,會嚴重影響模型的性能。

當然,這只是初步察看,后續(xù)我們會用數(shù)據(jù)可視化來明晰的展現(xiàn),并證明我們的猜想。

# 添加新特征房屋均價df = lianjia_df.copy()df['PerPrice'] = lianjia_df['Price']/lianjia_df['Size']# 重新擺放列位置columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Elevator', 'Direction', 'Renovation', 'PerPrice', 'Price']df = pd.DataFrame(df, columns = columns)# 重新審視數(shù)據(jù)集display(df.head(n=2))

我們發(fā)現(xiàn)?Id?特征其實沒有什么實踐意義,所以將其移除。由于房屋單價剖析起來比擬便當,簡單的運用總價/面積就可得到,所以增加一個新的特征?PerPrice(只用于剖析,不是預測特征)。另外,特征的次第也被調(diào)整了一下,看起來比擬舒適。


數(shù)據(jù)可視化剖析

Region特征剖析

關于區(qū)域特征,我們能夠剖析不同區(qū)域房價和數(shù)量的比照。

# 對二手房區(qū)域分組比照二手房數(shù)量和每平米房價df_house_count = df.groupby('Region')['Price'].count().sort_values(ascending=False).to_frame().reset_index() df_house_mean = df.groupby('Region')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index() f, [ax1,ax2,ax3] = plt.subplots(3,1,figsize=(20,15)) sns.barplot(x='Region', y='PerPrice', palette="Blues_d", data=df_house_mean, ax=ax1) ax1.set_title('北京各大區(qū)二手房每平米單價比照',fontsize=15) ax1.set_xlabel('區(qū)域') ax1.set_ylabel('每平米單價') sns.barplot(x='Region', y='Price', palette="Greens_d", data=df_house_count, ax=ax2) ax2.set_title('北京各大區(qū)二手房數(shù)量比照',fontsize=15) ax2.set_xlabel('區(qū)域') ax2.set_ylabel('數(shù)量') sns.boxplot(x='Region', y='Price', data=df, ax=ax3) ax3.set_title('北京各大區(qū)二手房房屋總價',fontsize=15) ax3.set_xlabel('區(qū)域') ax3.set_ylabel('房屋總價') plt.show()

運用了pandas的網(wǎng)絡透視功用?groupby?分組排序。區(qū)域特征可視化直接采用?seaborn?完成,顏色運用調(diào)色板?palette?參數(shù),顏色突變,越淺闡明越少,反之越多。
能夠察看到:

  • 二手房均價:西城區(qū)的房價最貴均價大約11萬/平,由于西城在二環(huán)以里,且是搶手學區(qū)房的匯集地。其次是東城大約10萬/平,然后是海淀大約8.5萬/平,其它均低于8萬/平。

  • 二手房房數(shù)量:從數(shù)量統(tǒng)計上來看,目前二手房市場上比擬熾熱的區(qū)域。海淀區(qū)和朝陽區(qū)二手房數(shù)量最多,差不多都接近3000套,畢竟大區(qū),需求量也大。然后是豐臺區(qū),近幾年正在改造建立,有趕超之勢。

  • 二手房總價:經(jīng)過箱型圖看到,各大區(qū)域房屋總價中位數(shù)都都在1000萬以下,且房屋總價離散值較高,西城最高到達了6000萬,闡明房屋價錢特征不是理想的正太散布。

Size特征剖析

f, [ax1,ax2] = plt.subplots(1, 2, figsize=(15, 5))# 建房時間的散布狀況sns.distplot(df['Size'], bins=20, ax=ax1, color='r') sns.kdeplot(df['Size'], shade=True, ax=ax1)# 建房時間和出賣價錢的關系sns.regplot(x='Size', y='Price', data=df, ax=ax2) plt.show()


  • Size 散布:

經(jīng)過?distplot?和?kdeplot?繪制柱狀圖察看 Size 特征的散布狀況,屬于長尾類型的散布,這闡明了有很多面積很大且超出正常范圍的二手房。

  • Size 與 Price 的關系:

經(jīng)過?regplot?繪制了 Size 和 Price 之間的散點圖,發(fā)現(xiàn) Size 特征根本與Price呈現(xiàn)線性關系,契合根本常識,面積越大,價錢越高。但是有兩組明顯的異常點:1. 面積不到10平米,但是價錢超出10000萬;2. 一個點面積超越了1000平米,價錢很低,需求查看是什么狀況。

df.loc[df['Size']< 10]


經(jīng)過查看發(fā)現(xiàn)這組數(shù)據(jù)是別墅,呈現(xiàn)異常的緣由是由于別墅構造比擬特殊(無朝向無電梯),字段定義與二手商品房不太一樣招致爬蟲爬取數(shù)據(jù)錯位。也因別墅類型二手房不在我們的思索范圍之內(nèi),故將其移除再次察看Size散布和Price關系。

df.loc[df['Size']>1000]


經(jīng)察看這個異常點不是普通的民用二手房,很可能是商用房,所以才有1房間0廳確有如此大超越1000平米的面積,這里選擇移除。

df = df[(df['Layout']!='疊拼別墅')&(df['Size']<1000)]


重新停止可視化發(fā)現(xiàn)就沒有明顯的異常點了。

Layout特征剖析

f, ax1= plt.subplots(figsize=(20,20)) sns.countplot(y='Layout', data=df, ax=ax1) ax1.set_title('房屋戶型',fontsize=15) ax1.set_xlabel('數(shù)量') ax1.set_ylabel('戶型') plt.show()


這個特征真是不看不曉得,各種廳室組合搭配,居然還有9室3廳,4室0廳等奇異的構造。其中,2室一廳占絕大局部,其次是3室一廳,2室2廳,3室兩廳。但是認真察看特征分類下有很多不規(guī)則的命名,比方2室一廳與2房間1衛(wèi),還有別墅,沒有統(tǒng)一的叫法。這樣的特征肯定是不能作為機器學習模型的數(shù)據(jù)輸入的,需求運用特征工程停止相應的處置。

Renovation 特征剖析

df['Renovation'].value_counts()

平裝 11345

簡裝 8497

其他 3239

毛坯 576

南北?20

Name: Renovation, dtype: int64

發(fā)現(xiàn)Renovation裝修特征中居然有南北,它屬于朝向的類型,可能是由于爬蟲過程中一些信息位置為空,招致“Direction”朝向特征呈現(xiàn)在這里,所以需求肅清或替換掉。

# 去掉錯誤數(shù)據(jù)“南北”,由于爬蟲過程中一些信息位置為空,招致“Direction”的特征呈現(xiàn)在這里,需求肅清或交換df['Renovation'] = df.loc[(df['Renovation'] != '南北'), 'Renovation']# 畫幅設置f, [ax1,ax2,ax3] = plt.subplots(1, 3, figsize=(20, 5)) sns.countplot(df['Renovation'], ax=ax1) sns.barplot(x='Renovation', y='Price', data=df, ax=ax2) sns.boxplot(x='Renovation', y='Price', data=df, ax=ax3) plt.show()


察看到,平裝修的二手房數(shù)量最多,簡裝其次,也是我們素日常見的。而關于價錢來說,毛坯類型卻是最高,其次是平裝修。

Elevator 特征剖析

初探數(shù)據(jù)的時分,我們發(fā)現(xiàn)?Elevator?特征是有大量缺失值的,這關于我們是非常不利的,首先我們先看看有幾缺失值:

misn = len(df.loc[(df['Elevator'].isnull()), 'Elevator'])print('Elevator缺失值數(shù)量為:'+ str(misn))

Elevator 缺失值數(shù)量為:8237

這么多的缺失值怎樣辦呢?這個需求依據(jù)實踐狀況思索,常用的辦法有均勻值/中位數(shù)填補法,直接移除,或者依據(jù)其他特征建模預測等。

這里我們思索填補法,但是有無電梯不是數(shù)值,不存在均勻值和中位數(shù),怎樣填補呢?這里給大家提供一種思緒:就是依據(jù)樓層 Floor 來判別有無電梯,普通的樓層大于6的都有電梯,而小于等于6層的普通都沒有電梯。有了這個規(guī)范,那么剩下的就簡單了。

# 由于存在個別類型錯誤,如簡裝和平裝,特征值錯位,故需求移除df['Elevator'] = df.loc[(df['Elevator'] == '有電梯')|(df['Elevator'] == '無電梯'), 'Elevator']# 填補Elevator缺失值df.loc[(df['Floor']>6)&(df['Elevator'].isnull()), 'Elevator'] = '有電梯'df.loc[(df['Floor']<=6)&(df['Elevator'].isnull()), 'Elevator'] = '無電梯'f, [ax1,ax2] = plt.subplots(1, 2, figsize=(20, 10)) sns.countplot(df['Elevator'], ax=ax1) ax1.set_title('有無電梯數(shù)量比照',fontsize=15) ax1.set_xlabel('能否有電梯') ax1.set_ylabel('數(shù)量') sns.barplot(x='Elevator', y='Price', data=df, ax=ax2) ax2.set_title('有無電梯房價比照',fontsize=15) ax2.set_xlabel('能否有電梯') ax2.set_ylabel('總價') plt.show()

結果察看到,有電梯的二手房數(shù)量居多一些,畢竟高層土天時用率比擬高,合適北京龐大的人群需求,而高層就需求電梯。相應的,有電梯二手房房價較高,由于電梯前期裝修費和后期維護費包含內(nèi)了(但這個價錢比擬只是一個均勻的概念,比方無電梯的6層奢華小區(qū)當然價錢更高了)。

Year 特征剖析

grid = sns.FacetGrid(df, row='Elevator', col='Renovation', palette='seismic',size=4) grid.map(plt.scatter, 'Year', 'Price') grid.add_legend()


在Renovation和Elevator的分類條件下,運用?FaceGrid?剖析 Year 特征,察看結果如下:

  • 整個二手房房價趨向是隨著時間增長而增長的;

  • 2000年以后建造的二手房房價相較于2000年以前有很明顯的價錢上漲;

  • 1980年之前簡直不存在有電梯二手房數(shù)據(jù),闡明1980年之前還沒有大面積裝置電梯;

  • 1980年之前無電梯二手房中,簡裝二手房占絕大多數(shù),平裝反而很少;

Floor 特征剖析

f, ax1= plt.subplots(figsize=(20,5)) sns.countplot(x='Floor', data=df, ax=ax1) ax1.set_title('房屋戶型',fontsize=15) ax1.set_xlabel('數(shù)量') ax1.set_ylabel('戶型') plt.show()


能夠看到,6層二手房數(shù)量最多,但是單獨的樓層特征沒有什么意義,由于每個小區(qū)住房的總樓層數(shù)都不一樣,我們需求曉得樓層的相對意義。另外,樓層與文化也有很重要聯(lián)絡,比方中國文化七上八下,七層可能受歡送,房價也貴,而普通也不會有4層或18層。當然,正常狀況下中間樓層是比擬受歡送的,價錢也高,底層和頂層受歡送度較低,價錢也相對較低。所以樓層是一個十分復雜的特征,對房價影響也比擬大。

總結

本次分享旨在讓大家理解如何用Python做一個簡單的數(shù)據(jù)剖析,關于剛剛接觸數(shù)據(jù)剖析的朋友無疑是一個很好的練習。不過,這個剖析還存在很多問題需求處理,比方:

  • 處理爬蟲獲取的數(shù)據(jù)源精確度問題;

  • 需求爬取或者尋覓更多好的售房特征;

  • 需求做更多地特征工程工作,比方數(shù)據(jù)清洗,特征選擇和挑選;

  • 運用統(tǒng)計模型樹立回歸模型停止價錢預測;



數(shù)據(jù)分析實戰(zhàn)訓練營8期-拉鉤教育的評論 (共 條)

分享到微博請遵守國家法律
青田县| 海安县| 泰安市| 汨罗市| 葫芦岛市| 齐齐哈尔市| 东海县| 嵊州市| 行唐县| 揭阳市| 德江县| 合肥市| 济阳县| 蚌埠市| 甘南县| 宁津县| 宜君县| 芒康县| 洞口县| 小金县| 松江区| 洪湖市| 老河口市| 遵义县| 伊通| 聂拉木县| 中方县| 湖北省| 沅陵县| 安义县| 青冈县| 石门县| 启东市| 海门市| 甘洛县| 青神县| 晋宁县| 芦山县| 连江县| 新余市| 昌吉市|