本篇文章給大家分享的是有關(guān)Python AI中如何使用機(jī)器學(xué)習(xí)回歸模型預(yù)測(cè)房?jī)r(jià),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
專(zhuān)業(yè)從事企業(yè)網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)服務(wù),包括網(wǎng)站建設(shè)、域名注冊(cè)、網(wǎng)絡(luò)空間、企業(yè)郵箱、微信公眾號(hào)開(kāi)發(fā)、微信支付寶微信平臺(tái)小程序開(kāi)發(fā)、app軟件開(kāi)發(fā)公司、軟件開(kāi)發(fā)、等服務(wù)。公司始終通過(guò)不懈的努力和以更高的目標(biāo)來(lái)要求自己,在不斷完善自身管理模式和提高技術(shù)研發(fā)能力的同時(shí),大力倡導(dǎo)推行新經(jīng)濟(jì)品牌戰(zhàn)略,促進(jìn)互聯(lián)網(wǎng)事業(yè)的發(fā)展。
今天我們來(lái)具體了解一下使用機(jī)器學(xué)習(xí)算法進(jìn)行回歸預(yù)測(cè)。
回歸預(yù)測(cè)主要用于預(yù)測(cè)與對(duì)象關(guān)聯(lián)的連續(xù)值屬性,得到數(shù)值型的預(yù)測(cè)數(shù)據(jù)?;貧w預(yù)測(cè)的應(yīng)用場(chǎng)景有各類(lèi)的價(jià)格預(yù)測(cè)、相關(guān)性的反應(yīng)預(yù)測(cè)等。
下面,我們就使用sklearn模塊,以一個(gè)sklearn中集成的波士頓房?jī)r(jià)數(shù)據(jù)集來(lái)演示如何進(jìn)行回歸預(yù)測(cè)。
在sklearn中內(nèi)置的數(shù)據(jù)集都位于datasets子模塊下,我們可以直接進(jìn)行導(dǎo)入:
導(dǎo)入之后,看看數(shù)據(jù)集中的內(nèi)容:
其中有五個(gè)鍵,從字面意思上理解,可以發(fā)現(xiàn)data是數(shù)據(jù)集中所有的數(shù)據(jù)特征,DESCR是數(shù)據(jù)集的描述信息,target是數(shù)據(jù)集特征對(duì)應(yīng)的目標(biāo)值,feature_name則是數(shù)據(jù)特征的名稱(chēng)。
我們先來(lái)看看數(shù)據(jù)特征的名稱(chēng):
可以發(fā)現(xiàn)數(shù)據(jù)集中有13個(gè)特征,每個(gè)特征具體是什么意思,倒不清楚,我們可以在DESCR描述中找到具體意思:
最后可以知道每個(gè)數(shù)據(jù)特征的含義如下:
CRIM:人均犯罪率 ;
ZN:住宅用地超過(guò)兩萬(wàn)五千平方英尺的比例 ;
INDUS:城鎮(zhèn)的非零售營(yíng)業(yè)比例;
CHAS:河流分界;
NOX:一氧化氮濃度 ;
RM:住宅平均房間數(shù);
AGE:1940年之前建造的房屋業(yè)主比例;
DIS:距離波士頓五個(gè)就業(yè)中心的加權(quán)距離;
RAD:徑向公路的可達(dá)指數(shù);
TAX :每一萬(wàn)美元財(cái)產(chǎn)的全額財(cái)產(chǎn)稅率
PTRATIO :城鄉(xiāng)教師比例;
B :黑人比例
LSTAT :低層人群比例
MEDV :房屋價(jià)格中值
再來(lái)看看具體的數(shù)據(jù)特征和目標(biāo)數(shù)據(jù)值:
數(shù)據(jù)特征形狀:
數(shù)據(jù)特征概覽:
數(shù)據(jù)特征一共有506行,13列,正好對(duì)應(yīng)13個(gè)數(shù)據(jù)特征。而目標(biāo)數(shù)據(jù)值的也正好是506個(gè):
相當(dāng)于是已經(jīng)處理好的數(shù)據(jù)了。
但是對(duì)于初學(xué)者來(lái)說(shuō),這樣處理好的數(shù)據(jù)看起來(lái)不是太直觀,我們使用Pandas將其還原為DataFrame的形式,可以直觀地看出這個(gè)數(shù)據(jù)集到底是什么樣的:
對(duì)于熟悉使用pandas的同學(xué)來(lái)說(shuō),這樣看這個(gè)數(shù)據(jù)集是不是親切多了。
好了,我們可以直接進(jìn)行下一步。
為了檢驗(yàn)我們創(chuàng)建和訓(xùn)練好的機(jī)器學(xué)習(xí)模型的效果,將數(shù)據(jù)集分割為訓(xùn)練集和測(cè)試集是必須的。
而在sklearn中,也有一個(gè)專(zhuān)門(mén)的接口方法用于分割數(shù)據(jù)集的訓(xùn)練集和測(cè)試集——train_test_split,我們首先導(dǎo)入它:
然后將我們的數(shù)據(jù)集data傳入,并設(shè)置測(cè)試集的比例為15%:
在sklearn中,所有的機(jī)器學(xué)習(xí)算法都以“估計(jì)器”的形式來(lái)呈現(xiàn),每一個(gè)估計(jì)器都是一個(gè)類(lèi),機(jī)器學(xué)習(xí)模型通過(guò)實(shí)例化一個(gè)估計(jì)器的類(lèi)來(lái)進(jìn)行創(chuàng)建。比如線性回歸的算法估計(jì)器:
每一個(gè)算法估計(jì)器,無(wú)論是監(jiān)督學(xué)習(xí)算法還是非監(jiān)督學(xué)習(xí)算法,都擁有一個(gè)fit()方法,用于接收訓(xùn)練數(shù)據(jù)集來(lái)訓(xùn)練數(shù)據(jù),比如這樣:
同時(shí)每一個(gè)算法估計(jì)器都有用一個(gè)predict()方法,用于接收數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè),比如這樣:
在sklearn中,各類(lèi)機(jī)器學(xué)習(xí)算法的API設(shè)計(jì)根據(jù)不同的用途的算法進(jìn)行劃分,我們可以方便地調(diào)用自己想要的算法,每一個(gè)監(jiān)督學(xué)習(xí)算法,都由一個(gè)單獨(dú)的子模塊構(gòu)成,其下包含算法的具體類(lèi),比如廣義的線性回歸算法:
其中根據(jù)用途,有的算法 可細(xì)分為用于回歸的估計(jì)器和用于分類(lèi)的估計(jì)器。
在此,我們選擇隨機(jī)森林算法的用于回歸的估計(jì)器:
首先,導(dǎo)入算法估計(jì)器:
接著,實(shí)例化隨機(jī)森林回歸估計(jì)器,設(shè)置算法的參數(shù)并將訓(xùn)練集傳入進(jìn)行訓(xùn)練:
訓(xùn)練好模型之后,再使用predict()方法對(duì)訓(xùn)練集進(jìn)行預(yù)測(cè):
這樣,我們就獲得了使用隨機(jī)森林回歸模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè)的數(shù)據(jù)了,其為一個(gè)一維數(shù)組,我們可以直接打印出來(lái)看到:
還記得我們分割訓(xùn)練測(cè)試集的時(shí)候,有過(guò)一個(gè)y_test的數(shù)組吧?它是測(cè)試集x_test數(shù)據(jù)特征對(duì)應(yīng)正確的房?jī)r(jià)結(jié)果,我們也來(lái)看看其數(shù)據(jù):
如何比較正確數(shù)組和預(yù)測(cè)出來(lái)的數(shù)組的值的正確度呢?一個(gè)比較蠢的方法是通過(guò)遍歷這兩個(gè)數(shù)組進(jìn)行對(duì)比,查看其差值:
如果測(cè)試數(shù)據(jù)集少的話,這樣來(lái)比較似乎工作量還不大,要是測(cè)試集很大那就沒(méi)辦法了。幸而,sklearn中也提供了對(duì)模型的評(píng)估方法,所有的評(píng)估方法都集成在sklearn.metrics子模塊中。針對(duì)回歸模型,我們可以使用平均絕對(duì)誤差MAE和均方差MSE以及R2分?jǐn)?shù)來(lái)對(duì)回歸模型評(píng)估:
然后在評(píng)估方法中傳入預(yù)測(cè)數(shù)組和正確數(shù)組:
最終得到了我們的平均絕對(duì)誤差值、均方差值和R2分?jǐn)?shù)。其中,R2分?jǐn)?shù)理論最佳值為1,平均絕對(duì)誤差理論最佳值為0.0,均方差理論最佳值也為0.0.
嗯,這個(gè)機(jī)器學(xué)習(xí)隨機(jī)森林回歸模型的效果如何?大家自己評(píng)估,也可以自己調(diào)用其他的回歸模型來(lái)測(cè)試,看看哪個(gè)算法對(duì)這個(gè)數(shù)據(jù)集的預(yù)測(cè)效果較好。
以上就是Python AI中如何使用機(jī)器學(xué)習(xí)回歸模型預(yù)測(cè)房?jī)r(jià),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章名稱(chēng):PythonAI中如何使用機(jī)器學(xué)習(xí)回歸模型預(yù)測(cè)房?jī)r(jià)
網(wǎng)站鏈接:http://aaarwkj.com/article22/igcccc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、外貿(mào)建站、網(wǎng)站內(nèi)鏈、微信小程序、服務(wù)器托管、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)