python计算商品总价_GitHub - ideaOzy/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房數(shù)據(jù)采集及可視化分析
1 內(nèi)容簡介
首先通過爬蟲采集鏈家網(wǎng)上所有南京二手房的房源數(shù)據(jù),并對(duì)采集到的數(shù)據(jù)進(jìn)行清洗;然后,對(duì)清洗后的數(shù)據(jù)進(jìn)行可視化分析,探索隱藏在大量數(shù)據(jù)背后的規(guī)律;最后,采用一個(gè)聚類算法對(duì)所有二手房數(shù)據(jù)進(jìn)行聚類分析,并根據(jù)聚類分析的結(jié)果,將這些房源大致分類,以對(duì)所有數(shù)據(jù)的概括總結(jié)。通過上述分析,我們可以了解到目前市面上二手房各項(xiàng)基本特征及房源分布情況,幫助我們進(jìn)行購房決策。
2 應(yīng)用技術(shù)介紹
1)Python網(wǎng)絡(luò)爬蟲技術(shù)
Requests
Beautifulsoup
2)Python數(shù)據(jù)分析技術(shù)
Numpy
Matplotlib
Pandas
3)k-means聚類算法
4)高德地圖開發(fā)者應(yīng)用JS API
3 數(shù)據(jù)采集及數(shù)據(jù)清洗
3.1 數(shù)據(jù)采集
該部分通過網(wǎng)絡(luò)爬蟲程序抓取鏈家網(wǎng)上所有南京二手房的數(shù)據(jù),收集原始數(shù)據(jù),作為整個(gè)數(shù)據(jù)分析的基石。
3.1.1 鏈家網(wǎng)網(wǎng)站結(jié)構(gòu)分析
鏈家網(wǎng)二手房主頁界面如圖1、圖2,主頁上面紅色方框位置顯示目前南京二手房在售房源的各區(qū)域位置名稱,中間紅色方框位置顯示了房源的總數(shù)量,下面紅色方框顯示了二手房房源信息縮略圖,該紅色方框區(qū)域包含了二手房房源頁面的URL地址標(biāo)簽。圖2下面紅色方框顯示了二手房主頁上房源的頁數(shù)。
鏈家網(wǎng)二手房主頁截圖上半部分:
圖1 鏈家網(wǎng)二手房主頁
鏈家網(wǎng)二手房主頁截圖下半部分:
圖2 鏈家網(wǎng)二手房主頁
二手房房源信息頁面如圖3、圖4。我們需要采集的目標(biāo)數(shù)據(jù)就在該頁面,包括基本信息、房屋屬性和交易屬性三大類。各類信息包括的數(shù)據(jù)項(xiàng)如下:
1)基本信息:小區(qū)名稱、所在區(qū)域、總價(jià)、單價(jià)。
2)房屋屬性:房屋戶型、所在樓層、建筑面積、戶型結(jié)構(gòu)、套內(nèi)面積、建筑類型、房屋朝向、建筑結(jié)構(gòu)、裝修情況、梯戶比例、配備電梯、產(chǎn)權(quán)年限。
3)交易屬性:掛牌時(shí)間、交易權(quán)屬、上次交易、房屋用途、房屋年限、產(chǎn)權(quán)所屬、抵押信息、房本備件。
圖3 二手房房源信息頁面
圖4 二手房房源信息頁面
3.1.3 網(wǎng)絡(luò)爬蟲程序關(guān)鍵問題說明
1)問題1:鏈家網(wǎng)二手房主頁最多只顯示100頁的房源數(shù)據(jù),所以在收集二手房房源信息頁面URL地址時(shí)會(huì)收集不全,導(dǎo)致最后只能采集到部分?jǐn)?shù)據(jù)。
解決措施:將所有南京二手房數(shù)據(jù)分區(qū)域地進(jìn)行爬取,100頁最多能夠顯示3000套房,該區(qū)域房源少于3000套時(shí)可以直接爬取,如果該區(qū)域房源超過3000套可以再分成更小的區(qū)域。
2)問題2:爬蟲程序如果運(yùn)行過快,會(huì)在采集到兩、三千條數(shù)據(jù)時(shí)觸發(fā)鏈家網(wǎng)的反爬蟲機(jī)制,所有的請(qǐng)求會(huì)被重定向到鏈家的人機(jī)鑒定頁面,從而會(huì)導(dǎo)致后面的爬取失敗。
解決措施:①為程序中每次http請(qǐng)求構(gòu)造header并且每次變換http請(qǐng)求header信息頭中USER_AGENTS數(shù)據(jù)項(xiàng)的值,讓請(qǐng)求信息看起來像是從不同瀏覽器發(fā)出的訪問請(qǐng)求。②爬蟲程序每處理完一次http請(qǐng)求和響應(yīng)后,隨機(jī)睡眠1-3秒,每請(qǐng)求2500次后,程序睡眠20分鐘,控制程序的請(qǐng)求速度。
3.2 數(shù)據(jù)清洗
對(duì)于爬蟲程序采集得到的數(shù)據(jù)并不能直接分析,需要先去掉一些“臟”數(shù)據(jù),修正一些錯(cuò)誤數(shù)據(jù),統(tǒng)一所有數(shù)據(jù)字段的格式,將這些零散的數(shù)據(jù)規(guī)整成統(tǒng)一的結(jié)構(gòu)化數(shù)據(jù)。
3.2.1 原始數(shù)據(jù)主要需要清洗的部分
主要需要清洗的數(shù)據(jù)部分如下:
1)將雜亂的記錄的數(shù)據(jù)項(xiàng)對(duì)齊
2)清洗一些數(shù)據(jù)項(xiàng)格式
3)缺失值處理
3.2.3 數(shù)據(jù)清洗結(jié)果
數(shù)據(jù)清洗前原始數(shù)據(jù)如圖8,清洗后的數(shù)據(jù)如圖9,可以看出清洗后數(shù)據(jù)已經(jīng)規(guī)整了許多。
圖8 清洗前原始數(shù)據(jù)截圖
圖9 清洗后的數(shù)據(jù)截圖
4 數(shù)據(jù)可視化分析
在數(shù)據(jù)清洗完成后,我們就可以開始對(duì)數(shù)據(jù)進(jìn)行可視化分析。該階段主要是對(duì)數(shù)據(jù)做一個(gè)探索性分析并將結(jié)果可視化呈現(xiàn),幫助人們更好、更直觀的認(rèn)識(shí)數(shù)據(jù),把隱藏在大量數(shù)據(jù)背后的信息集中和提煉出來。本文主要對(duì)二手房房源的總價(jià)、單價(jià)、面積、戶型、地區(qū)等屬性進(jìn)行了分析。
數(shù)據(jù)可視化分析主要步驟如下:1)數(shù)據(jù)加載;2)數(shù)據(jù)轉(zhuǎn)換;3)數(shù)據(jù)可視化呈現(xiàn)。
4.1 數(shù)據(jù)加載
數(shù)據(jù)分析和建模的大量工作都是用在數(shù)據(jù)準(zhǔn)備上的,如:清理、加載、轉(zhuǎn)換等。清洗完成后的數(shù)據(jù)仍然存儲(chǔ)在文本文件(CSV格式)中,要對(duì)數(shù)據(jù)進(jìn)行可視化分析,必須先要將數(shù)據(jù)按一定結(jié)果加載到內(nèi)存中。我們使用Pandas提供的DataFrame對(duì)象來加載和處理我們清洗后的數(shù)據(jù),Pandas同時(shí)提供將表格型數(shù)據(jù)讀取為DataFrame對(duì)象的函數(shù)。數(shù)據(jù)加載處理過程中需要注意的主要問題如下:
1)數(shù)據(jù)項(xiàng)的行列索引的處理;
2)數(shù)據(jù)類型推斷和數(shù)據(jù)轉(zhuǎn)換;
3)缺失值的處理。
4.2 數(shù)據(jù)整體質(zhì)量分析
4.2.1 數(shù)據(jù)基本情況
數(shù)據(jù)加載后,數(shù)據(jù)基本情況如圖10。從圖中可以看到加載后的數(shù)據(jù)一共20527行、25列,占用內(nèi)存3.9+MB。在數(shù)據(jù)類型上,一共有3列float64類型,2列int64類型,20列object類型。除了戶型結(jié)構(gòu)、套內(nèi)面積、抵押信息三列數(shù)據(jù)項(xiàng)缺失值比較多之外,其他列數(shù)據(jù)項(xiàng)的缺失值都不多,所以數(shù)據(jù)整體的質(zhì)量還不錯(cuò)。
圖10 數(shù)據(jù)基本情況圖
4.2.2 整體數(shù)據(jù)文件詞云
從整體數(shù)據(jù)文件詞云(見圖11),我們可以得到在南京二手房房源信息中經(jīng)常出現(xiàn)的高頻詞,如商品房、普通住宅、一梯兩戶、鋼混結(jié)構(gòu)、精裝等。我們可以通過這些高頻詞,十分粗略的了解整個(gè)數(shù)據(jù)文件中的基本內(nèi)容。
圖11 整體數(shù)據(jù)文件詞云
4.2.3 南京各區(qū)域二手房房源數(shù)量折線圖
南京各區(qū)域二手房房源數(shù)量折線圖(見圖13)橫軸為南京各個(gè)行政區(qū)域名稱,縱軸為房源數(shù)量(套)。從圖中可以看出,江寧在售的房源數(shù)量最多,高達(dá)5000多套,占了總量的1/4。與之相反的是六合區(qū),六合區(qū)在售的房源數(shù)量僅有1套,數(shù)量太少,其他各區(qū)的數(shù)量相差不多。所以我們后面關(guān)于六合區(qū)的分析會(huì)存在一定誤差。
圖13 南京各區(qū)域二手房房源數(shù)量折線圖
4.2.4 南京二手房房屋用途水平柱狀圖
南京二手房房屋用途水平柱狀圖(見圖14)橫軸為房源數(shù)量(套),縱軸為房屋用途類型。從圖中我們可以看出,房屋用途類型有:普通住宅、別墅、商業(yè)辦公、酒店式公寓、車庫5中類型。其中我們主要關(guān)心的普通住宅類型的房源數(shù)量近20000套,占總量絕大部分。所以在本文中,我們沒有剔除掉房屋用途為其他類型的記錄,因?yàn)檫@些類型在所有房源樣本中占比相當(dāng)少,不會(huì)影響后面的分析結(jié)果,同時(shí)它們也屬于二手房的范疇內(nèi)。
圖14 南京二手房房屋用途水平柱狀圖
4.2.5 數(shù)據(jù)整體質(zhì)量總結(jié)
通過前面的分析,我們可以看出該數(shù)據(jù)文件的整體質(zhì)量還不錯(cuò)。雖然存在一些缺失值比較多的數(shù)據(jù)項(xiàng),但我們比較關(guān)注一些數(shù)據(jù)項(xiàng)缺失值不多。這些缺失值較多的都是一些次要的數(shù)據(jù)項(xiàng),不影響我們的分析。在房屋用途類型上,數(shù)據(jù)文件中一共包括了5種類型的二手房房源信息,其中普通住宅類型占比98%以上,所以我們后面分析基本可以看成是針對(duì)普通住宅類型的二手房進(jìn)行的分析,這也符合我們期望。整個(gè)數(shù)據(jù)文件中唯一不足的是六合區(qū)域的二手房房源樣本點(diǎn)太少,這使我們對(duì)六合區(qū)域的分析會(huì)存在一定的誤差。
4.3 南京二手房基本信息可視化分析
二手房基本信息可視化分析主要針對(duì)二手房:區(qū)域、總價(jià)、單價(jià)、建筑面積四個(gè)屬性的分析。
4.3.1 南京各區(qū)域二手房平均單價(jià)柱狀圖
南京各區(qū)域二手房平均單價(jià)柱狀圖(見圖15)橫軸為南京各區(qū)域名稱,縱軸為單價(jià)(元/平米)。從圖中我們可以看到建鄴區(qū)和鼓樓區(qū)二手房平均單價(jià)最高,近40000元/平米。建鄴區(qū)是市中心城區(qū),近幾年發(fā)展勢(shì)頭很好,房價(jià)一路飆升,現(xiàn)在已經(jīng)成了南京最貴的區(qū)域之一。鼓樓區(qū)作為南京市的核心地帶,擁有眾多商場和學(xué)區(qū)房,其均價(jià)一直高升不下。從整體上來看,南京市各個(gè)區(qū)域(除去存在誤差的六合區(qū))均價(jià)都已經(jīng)超過了20000元/平米。這些可以體現(xiàn)出近幾年南京市房價(jià)猛漲的結(jié)果。浦口區(qū)雖然相比房價(jià)已經(jīng)很低了,但相較于浦口前幾年的房價(jià),差不多是翻了一番。
圖15 南京各區(qū)域二手房平均單價(jià)
4.3.2 南京各區(qū)域二手房單價(jià)和總價(jià)箱線圖
南京各區(qū)域二手房單價(jià)箱線圖(見圖16)橫軸為南京各區(qū)域名稱,縱軸為單價(jià)(元/平米)。二手房平均單價(jià)雖然是一個(gè)重要參考數(shù)據(jù),但平均值不能有效的表示出數(shù)據(jù)整體上的分布情況,特別是數(shù)據(jù)中一些離散值的分布情況,這些信息的表現(xiàn)則需要借助箱線圖。從圖16中可以看出,建鄴和鼓樓兩個(gè)區(qū)域房源單價(jià)正常值分布都不是太集中,50%的單價(jià)分布在30000-50000的區(qū)間內(nèi),區(qū)間跨度比其他區(qū)都要大。雖然建鄴區(qū)平均單價(jià)略高于鼓樓區(qū),但鼓樓區(qū)的異常值特別多,單價(jià)超過50000的房源數(shù)不勝數(shù),最高單價(jià)有達(dá)到100000的,單價(jià)上限遠(yuǎn)高于建鄴區(qū),而建鄴區(qū)異常值相對(duì)較少。綜合以上情況來看,鼓樓區(qū)應(yīng)該是南京市單價(jià)最高的區(qū)域。與鼓樓區(qū)相鄰的玄武區(qū)和秦淮區(qū)單價(jià)正常值分布較為集中50%的數(shù)據(jù)都分布在30000-40000之間,但這兩個(gè)異常值也比較多,單價(jià)上限也非常高。這些區(qū)域單價(jià)如此多的異常值,跟這些區(qū)域集中的教育和醫(yī)療資源有著密不可分的關(guān)系。
圖16 南京各區(qū)域二手房單價(jià)箱線圖
南京各區(qū)域二手房總價(jià)箱線圖(見圖17和圖18)橫軸為南京各區(qū)域名稱,縱軸為單價(jià)(萬元)。圖18對(duì)圖17縱軸進(jìn)行了縮放,更易于觀察,其他方面沒有區(qū)別。從總價(jià)這個(gè)維度來看,鼓樓、建鄴這兩個(gè)單價(jià)最高區(qū)域,總價(jià)非常的高,500萬元的二手房以分布在正常值范圍內(nèi)了。南京其他各區(qū)域二手房價(jià)格大部分都集中在200-400萬元之間,下四分位數(shù)十分靠近200萬。江寧、棲霞雖然在單價(jià)不高,但總價(jià)不低,尤其是近幾年房價(jià)漲幅比較高的江寧,500萬以上異常值都已經(jīng)比較多了。浦口區(qū)總價(jià)數(shù)據(jù)分布最為集中,絕大部分?jǐn)?shù)據(jù)都200-300萬區(qū)間內(nèi)。
圖17 南京各區(qū)域二手房總價(jià)箱線圖
圖18 南京各區(qū)域二手房總價(jià)箱線圖
4.3.3 南京二手房單價(jià)最高Top20
南京二手房單價(jià)最高Top20水平柱狀圖(見圖19)橫軸為單價(jià)(元/平米),縱軸為小區(qū)名字。從圖中可以看出,單價(jià)前20的房源都已經(jīng)超過9萬,并且都集中在鼓樓區(qū),這也印證了上面箱線圖中鼓樓區(qū)如此多異常值的存在。
圖19 南京二手房單價(jià)最高Top20
4.3.4 南京二手房單價(jià)和總價(jià)熱力圖
南京二手房單價(jià)熱力圖(見圖20)和南京二手房總價(jià)熱力圖(見圖21)紅色區(qū)域代表房源密集度高且房價(jià)高的區(qū)域。從圖中可以看出鼓樓、玄武、秦淮、建鄴上半部分是密集度最高的區(qū)域。這4個(gè)區(qū)域處于南京市正中心的位置,交通方便,醫(yī)療、教育等資源集中,這些因素一起造就了這些區(qū)域高價(jià)格。
圖20 南京二手房單價(jià)熱力圖
圖21 南京二手房總價(jià)熱力圖
4.3.5 南京二手房總價(jià)小于200萬的分布圖
南京二手房總價(jià)小于200萬的房源一共有6000多套,分布圖見圖23。從圖中我們可以看出,除了鼓樓區(qū)和建鄴區(qū)比較少,其他區(qū)域低于200萬的房子還是有的。
圖23 南京二手房總價(jià)小于200萬的分布圖
4.3.6 南京二手房建筑面積分析
南京二手房建筑面積分布區(qū)間圖(圖24)橫軸為房源數(shù)量(套),縱軸為分布區(qū)間(平米)。從圖中可以看出在建筑面積50-100區(qū)間內(nèi)房源數(shù)量最多,超過了10000套。其次是100-150區(qū)間與小于50的區(qū)間。
圖24 南京二手房建筑面積分布區(qū)間柱狀圖
南京各區(qū)域平均建筑面積柱狀圖(圖25)橫軸為各區(qū)域名字,縱軸為建筑面積(平米)。從圖中可以看出玄武、秦淮、鼓樓這幾個(gè)單價(jià)比較高的老城區(qū)平均建筑面積最小,平均面積80平米左右。反而是江寧、浦口這兩個(gè)單價(jià)最低的區(qū)域平均建筑面積最大,平均面積大小超過了100平米。
圖25 南京各區(qū)域二手房平均建筑面積柱狀圖
4.3.7 南京二手房單價(jià)、總價(jià)與建筑面積散點(diǎn)圖
南京二手房總價(jià)與建筑面積散點(diǎn)圖(圖26)橫軸為建筑面積(平米),縱軸為總價(jià)(萬元)。從圖中可以看出,總價(jià)與建筑面積這兩個(gè)變量符合正相關(guān)關(guān)系。數(shù)據(jù)點(diǎn)分布比較集中,大多數(shù)都在總價(jià)0-1500萬元與建筑面積0-400平米這個(gè)區(qū)域內(nèi)。
圖26 南京二手房總價(jià)與建筑面積散點(diǎn)圖
南京二手房單價(jià)與建筑面積散點(diǎn)圖(圖27)橫軸為建筑面積(平米),縱軸為單價(jià)(元/平米)。從圖中可以看出建筑面積與單價(jià)并無明顯關(guān)系,同樣樣本點(diǎn)分布也較為集中,離散值不多,但單價(jià)特別高的房源,建筑面積都不是太大,可能因?yàn)檫@些房源一般都位于市中心。
圖27 南京二手房單價(jià)與建筑面積散點(diǎn)圖
4.4 南京二手房房屋屬性可視化分析
4.4.1 南京二手房房屋戶型占比情況
從南京二手房房屋戶型餅狀圖(圖28)中可以看出,2室1廳與2室2廳作為標(biāo)準(zhǔn)配置,一共占比接近一半。其中3室2廳和3室1廳的房源也占比不少,其他房屋戶型的房源占比就比較少了。
圖28 南京二手房房屋戶型餅狀圖
4.4.2 南京二手房房屋裝修情況
從南京二手房房屋裝修情況餅狀圖(圖29)可以看出,近60%的房源的房屋裝修情況都是其他,可能因?yàn)榉吭慈繛槎址康木壒?#xff0c;大家都自主裝修過的。
圖29 南京二手房裝修情況餅狀圖
4.4.3 南京二手房房屋朝向分布情況
南京二手房房屋朝向柱狀圖(圖30)橫軸為房屋朝向,縱軸為房源數(shù)量(套)。從圖中我們可以看出,只有少數(shù)幾種的朝向比較多,其余的都非常少,明顯屬于長尾分布類型(嚴(yán)重偏態(tài))。這也符合我們的認(rèn)識(shí),房屋朝向一半以上都是坐北朝南的。
圖30 南京二手房房屋朝向分布柱狀圖
4.4.4 南京二手房建筑類型占比情況
從南京二手房建筑類型餅狀圖(圖31)中,我們可以看出房源的建筑類型65.6%都是板樓,現(xiàn)在房地產(chǎn)商喜歡開發(fā)的塔樓反而較少,這和南京二手房建筑時(shí)間都比較久遠(yuǎn)相符。
圖31 南京二手房建筑類型餅狀圖
5 數(shù)據(jù)聚類分析
該階段采用聚類算法中的k-means算法對(duì)所有二手房數(shù)據(jù)進(jìn)行聚類分析,根據(jù)聚類的結(jié)果和經(jīng)驗(yàn),將這些房源大致分類,已達(dá)到對(duì)數(shù)據(jù)概括總結(jié)的目的。在聚類過程中,我們選擇了面積、總價(jià)和單價(jià)這三個(gè)數(shù)值型變量作為樣本點(diǎn)的聚類屬性。
5.1 k-means算法原理
5.1.1 基本原理
k-Means算法是一種使用最普遍的聚類算法,它是一種無監(jiān)督學(xué)習(xí)算法,目的是將相似的對(duì)象歸到同一個(gè)簇中。簇內(nèi)的對(duì)象越相似,聚類的效果就越好。該算法不適合處理離散型屬性,但對(duì)于連續(xù)型屬性具有較好的聚類效果。
5.1.2 聚類效果判定標(biāo)準(zhǔn)
使各個(gè)樣本點(diǎn)與所在簇的質(zhì)心的誤差平方和達(dá)到最小,這是評(píng)價(jià)k-means算法最后聚類效果的評(píng)價(jià)標(biāo)準(zhǔn)。
5.1.3 算法實(shí)現(xiàn)步驟
1)選定k值
2)創(chuàng)建k個(gè)點(diǎn)作為k個(gè)簇的起始質(zhì)心。
3)分別計(jì)算剩下的元素到k個(gè)簇的質(zhì)心的距離,將這些元素分別劃歸到距離最小的簇。
4)根據(jù)聚類結(jié)果,重新計(jì)算k個(gè)簇各自的新的質(zhì)心,即取簇中全部元素各自維度下的算術(shù)平均值。
5)將全部元素按照新的質(zhì)心重新聚類。
6)重復(fù)第5步,直到聚類結(jié)果不再變化。
7)最后,輸出聚類結(jié)果。
5.1.4 算法缺點(diǎn)
雖然K-Means算法原理簡單,但是有自身的缺陷:
1)聚類的簇?cái)?shù)k值需在聚類前給出,但在很多時(shí)候中k值的選定是十分難以估計(jì)的,很多情況我們聚類前并不清楚給出的數(shù)據(jù)集應(yīng)當(dāng)分成多少類才最恰當(dāng)。
2)k-means需要人為地確定初始質(zhì)心,不一樣的初始質(zhì)心可能會(huì)得出差別很大的聚類結(jié)果,無法保證k-means算法收斂于全局最優(yōu)解。
3)對(duì)離群點(diǎn)敏感。
4)結(jié)果不穩(wěn)定(受輸入順序影響)。
5)時(shí)間復(fù)雜度高O(nkt),其中n是對(duì)象總數(shù),k是簇?cái)?shù),t是迭代次數(shù)。
5.2 算法實(shí)現(xiàn)關(guān)鍵問題說明
5.2.1 K值的選定說明
根據(jù)聚類原則:組內(nèi)差距要小,組間差距要大。我們先算出不同k值下各個(gè)SSE(Sum of
squared
errors)值,然后繪制出折線圖(圖32)來比較,從中選定最優(yōu)解。從圖中,我們可以看出k值到達(dá)5以后,SSE變化趨于平緩,所以我們選定5作為k值。
圖32 不同k值下SSE值折線圖
5.2.2 初始的K個(gè)質(zhì)心選定說明
初始的k個(gè)質(zhì)心選定是采用的隨機(jī)法。從各列數(shù)值最大值和最小值中間按正太分布隨機(jī)選取k個(gè)質(zhì)心。5.2.3
關(guān)于離群點(diǎn)
離群點(diǎn)就是遠(yuǎn)離整體的,非常異常、非常特殊的數(shù)據(jù)點(diǎn)。因?yàn)閗-means算法對(duì)離群點(diǎn)十分敏感,所以在聚類之前應(yīng)該將這些“極大”、“極小”之類的離群數(shù)據(jù)都去掉,否則會(huì)對(duì)于聚類的結(jié)果有影響。離群點(diǎn)的判定標(biāo)準(zhǔn)是根據(jù)前面數(shù)據(jù)可視化分析過程的散點(diǎn)圖和箱線圖進(jìn)行判定。根據(jù)散點(diǎn)圖和箱線圖,需要去除離散值的范圍如下:
1)單價(jià):基本都在100000以內(nèi),沒有特別的異常值。
2)總價(jià):基本都集中在3000以內(nèi),這里我們需要去除3000外的異常值。
3)建筑面積:基本都集中在500以內(nèi),這里我們需要去除500外的異常值。
5.2.4 數(shù)據(jù)的標(biāo)準(zhǔn)化
因?yàn)榭們r(jià)的單位為萬元,單價(jià)的單位為元/平米,建筑面積的單位為平米,所以數(shù)據(jù)點(diǎn)計(jì)算出歐幾里德距離的單位是沒有意義的。同時(shí),總價(jià)都是3000以內(nèi)的數(shù),建筑面積都是500以內(nèi)的數(shù),但單價(jià)基本都是20000以上的數(shù),在計(jì)算距離時(shí)單價(jià)起到的作用就比總價(jià)大,總價(jià)和單價(jià)的作用都遠(yuǎn)大于建筑面積,這樣聚類出來的結(jié)果是有問題的。這樣的情況下,我們需要將數(shù)據(jù)標(biāo)準(zhǔn)化,即將數(shù)據(jù)按比例縮放,使之都落入一個(gè)特定區(qū)間內(nèi)。去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)化為無量綱的純數(shù)值,便于不同單位或量級(jí)的指標(biāo)能夠進(jìn)行計(jì)算和比較。
我們將單價(jià)、總價(jià)和面積都映射到500,因?yàn)槊娣e本身就都在500以內(nèi),不要特別處理。單價(jià)在計(jì)算距離時(shí),需要先乘以映射比例0.005,總價(jià)需要乘以映射比例0.16。進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化前和進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化后的聚類效果對(duì)比如下:圖32、圖33是沒有數(shù)據(jù)標(biāo)準(zhǔn)化前的聚類效果散點(diǎn)圖;圖34、圖35是數(shù)據(jù)標(biāo)準(zhǔn)化后的聚類效果散點(diǎn)圖。
數(shù)據(jù)標(biāo)準(zhǔn)化前的單價(jià)與建筑面積聚類效果散點(diǎn)圖:
圖32 數(shù)據(jù)標(biāo)準(zhǔn)化前的單價(jià)與建筑面積散點(diǎn)圖
數(shù)據(jù)標(biāo)準(zhǔn)化前總價(jià)與建筑面積聚類效果散點(diǎn)圖。
圖33 數(shù)據(jù)標(biāo)準(zhǔn)化前總價(jià)與建筑面積散點(diǎn)圖
數(shù)據(jù)標(biāo)準(zhǔn)化后單價(jià)與建筑面積聚類效果散點(diǎn)圖。
圖34 數(shù)據(jù)標(biāo)準(zhǔn)化后單價(jià)與建筑面積散點(diǎn)圖
數(shù)據(jù)標(biāo)準(zhǔn)化后總價(jià)與建筑面積聚類效果散點(diǎn)圖。
圖35 數(shù)據(jù)標(biāo)準(zhǔn)化后總價(jià)與建筑面積散點(diǎn)圖
5.3 聚類結(jié)果分析
聚類結(jié)果如下
1)聚類結(jié)果統(tǒng)計(jì)信息如下:
2)聚類后的單價(jià)與建筑面積散點(diǎn)圖和總價(jià)與建筑面積散點(diǎn)圖見圖34、圖35。
3)聚類結(jié)果分組0、1、2、3、4的區(qū)域分布圖分別如下:圖36、圖37、圖38、圖39、圖40。
聚類結(jié)果分組0的區(qū)域分布圖如下:
圖36 聚類結(jié)果0區(qū)域分布圖
聚類結(jié)果分組1的區(qū)域分布圖如下:
圖37 聚類結(jié)果1區(qū)域分布圖
聚類結(jié)果分組2的區(qū)域分布圖如下:
圖38 聚類結(jié)果2區(qū)域分布圖
聚類結(jié)果分組3的區(qū)域分布圖如下:
圖39 聚類結(jié)果3區(qū)域分布圖
聚類結(jié)果分組4的區(qū)域分布圖如下:
圖40 聚類結(jié)果4區(qū)域分布圖
根據(jù)以上聚類結(jié)果和我們的經(jīng)驗(yàn)分析,我們大致可以將這20000多套房源分為以下4類:
a、大戶型(面積大,總價(jià)高),屬于第0類。平均面積都在200平以上,這種大戶型的房源相對(duì)數(shù)量較少,主要分布在鼓樓、建鄴、江寧、棲霞等地(具體可從各類中的區(qū)域分布圖可知)。
b、地段型(單價(jià)高),屬于第2、4類。這種房源圍繞南京市中心位置集中分布,地理位置極好,交通方便,主要分布鼓樓、玄武、建鄴、建鄴等地(具體可從各類中的區(qū)域分布圖可知)。
c、大眾蝸居型(面積小、價(jià)格相對(duì)較低、房源多),屬于第3類。這類房源分布范圍廣,主要圍繞在各地鐵線兩邊。典型的區(qū)域有秦淮、鼓樓、江寧、玄武、浦口等地。
d、高性價(jià)比型(面積相對(duì)大,單價(jià)低),屬于第1類。典型的區(qū)域有棲霞、浦口、江寧等地。
總結(jié)
以上是生活随笔為你收集整理的python计算商品总价_GitHub - ideaOzy/data_analysis: 基于Python的南京二手房数据采集及可视化分析...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue-ueditor 后端配置项没有正
- 下一篇: python里import time_p