激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python scikit-learn 做線性回歸的示例代碼

Python scikit-learn 做線性回歸的示例代碼

2020-12-15 00:29陸勤 Python

本篇文章主要介紹了Python scikit-learn 做線性回歸的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

一、概述

機(jī)器學(xué)習(xí)算法在近幾年大數(shù)據(jù)點(diǎn)燃的熱火熏陶下已經(jīng)變得被人所“熟知”,就算不懂得其中各算法理論,叫你喊上一兩個(gè)著名算法的名字,你也能昂首挺胸脫口而出。當(dāng)然了,算法之林雖大,但能者還是有限,能適應(yīng)某些環(huán)境并取得較好效果的算法會(huì)脫穎而出,而表現(xiàn)平平者則被歷史所淡忘。隨著機(jī)器學(xué)習(xí)社區(qū)的發(fā)展和實(shí)踐驗(yàn)證,這群脫穎而出者也逐漸被人所認(rèn)可和青睞,同時(shí)獲得了更多社區(qū)力量的支持、改進(jìn)和推廣。

以最廣泛的分類算法為例,大致可以分為線性和非線性兩大派別。線性算法有著名的邏輯回歸、樸素貝葉斯、最大熵等,非線性算法有隨機(jī)森林、決策樹、神經(jīng)網(wǎng)絡(luò)、核機(jī)器等等。線性算法舉的大旗是訓(xùn)練和預(yù)測(cè)的效率比較高,但最終效果對(duì)特征的依賴程度較高,需要數(shù)據(jù)在特征層面上是線性可分的。因此,使用線性算法需要在特征工程上下不少功夫,盡量對(duì)特征進(jìn)行選擇、變換或者組合等使得特征具有區(qū)分性。而非線性算法則牛逼點(diǎn),可以建模復(fù)雜的分類面,從而能更好的擬合數(shù)據(jù)。

那在我們選擇了特征的基礎(chǔ)上,哪個(gè)機(jī)器學(xué)習(xí)算法能取得更好的效果呢?誰(shuí)也不知道。實(shí)踐是檢驗(yàn)?zāi)膫€(gè)好的不二標(biāo)準(zhǔn)。那難道要苦逼到寫五六個(gè)機(jī)器學(xué)習(xí)的代碼嗎?No,機(jī)器學(xué)習(xí)社區(qū)的力量是強(qiáng)大的,碼農(nóng)界的共識(shí)是不重復(fù)造輪子!因此,對(duì)某些較為成熟的算法,總有某些優(yōu)秀的庫(kù)可以直接使用,省去了大伙調(diào)研的大部分時(shí)間。

基于目前使用python較多,而python界中遠(yuǎn)近聞名的機(jī)器學(xué)習(xí)庫(kù)要數(shù)scikit-learn莫屬了。這個(gè)庫(kù)優(yōu)點(diǎn)很多。簡(jiǎn)單易用,接口抽象得非常好,而且文檔支持實(shí)在感人。本文中,我們可以封裝其中的很多機(jī)器學(xué)習(xí)算法,然后進(jìn)行一次性測(cè)試,從而便于分析取優(yōu)。當(dāng)然了,針對(duì)具體算法,超參調(diào)優(yōu)也非常重要。

二、Scikit-learn的python實(shí)踐

本篇文章利用線性回歸算法預(yù)測(cè)波士頓的房?jī)r(jià)。波士頓房?jī)r(jià)數(shù)據(jù)集包含波士頓郊區(qū)住房?jī)r(jià)值的信息。

第一步:Python庫(kù)導(dǎo)入

?
1
2
3
4
5
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn

第二步:數(shù)據(jù)獲取和理解

波士頓數(shù)據(jù)集是scikit-learn的內(nèi)置數(shù)據(jù)集,可以直接拿來(lái)使用。

?
1
2
from sklearn.datasets import load_boston
boston = load_boston()
?
1
print(boston.keys())

dict_keys([‘data', ‘target', ‘feature_names', ‘DESCR'])

?
1
print(boston.data.shape)

(506, 13)

?
1
print(boston.feature_names)

[‘CRIM' ‘ZN' ‘INDUS' ‘CHAS' ‘NOX' ‘RM' ‘AGE' ‘DIS' ‘RAD' ‘TAX' ‘PTRATIO''B' ‘LSTAT']

結(jié)論:波士頓數(shù)據(jù)集506個(gè)樣本,14個(gè)特征。

?
1
print(boston.DESCR)
?
1
2
bos = pd.DataFrame(boston.data)
print(bos.head())
?
1
2
3
4
5
6
7
8
9
10
11
12
    0   1   2  3   4   5   6    7  8   9   10 \
0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 15.3 
1 0.02731  0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 17.8 
2 0.02729  0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0 17.8 
3 0.03237  0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0 18.7 
4 0.06905  0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0 18.7 
    11  12
0 396.90 4.98
1 396.90 9.14
2 392.83 4.03
3 394.63 2.94
4 396.90 5.33
?
1
2
bos.columns = boston.feature_names
print(bos.head())
?
1
print(boston.target[:5])
?
1
bos['PRICE'] = boston.target
?
1
bos.head()

第三步:數(shù)據(jù)模型構(gòu)建——線性回歸

?
1
2
3
4
from sklearn.linear_model import LinearRegression
X = bos.drop('PRICE', axis=1)
lm = LinearRegression()
lm
?
1
lm.fit(X, bos.PRICE)
?
1
2
print('線性回歸算法w值:', lm.coef_)
print('線性回歸算法b值: ', lm.intercept_)
?
1
2
3
4
5
6
7
import matplotlib.font_manager as fm
myfont = fm.FontProperties(fname='C:/Windows/Fonts/msyh.ttc')
plt.scatter(bos.RM, bos.PRICE)
plt.xlabel(u'住宅平均房間數(shù)', fontproperties=myfont)
plt.ylabel(u'房屋價(jià)格', fontproperties=myfont)
plt.title(u'RM與PRICE的關(guān)系', fontproperties=myfont)
plt.show()

Python scikit-learn 做線性回歸的示例代碼

第四步:數(shù)據(jù)模型應(yīng)用——預(yù)測(cè)房?jī)r(jià)

?
1
lm.predict(X)[0:5]

array([ 30.00821269, 25.0298606 , 30.5702317 , 28.60814055, 27.94288232])

?
1
2
mse = np.mean((bos.PRICE - lm.predict(X)) ** 2)
print(mse)

21.897779217687486

總結(jié)

1 使用.DESCR探索波士頓數(shù)據(jù)集,業(yè)務(wù)目標(biāo)是預(yù)測(cè)波士頓郊區(qū)住房的房?jī)r(jià);

2 使用scikit-learn針對(duì)整個(gè)數(shù)據(jù)集擬合線性回歸模型,并計(jì)算均方誤差。

思考環(huán)節(jié)

1 對(duì)數(shù)據(jù)集分割成訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集

2 訓(xùn)練數(shù)據(jù)集訓(xùn)練線性回歸模型,利用線性回歸模型對(duì)測(cè)試數(shù)據(jù)集進(jìn)行預(yù)測(cè)

3 計(jì)算訓(xùn)練模型的MSE和測(cè)試數(shù)據(jù)集預(yù)測(cè)結(jié)果的MSE

4 繪制測(cè)試數(shù)據(jù)集的殘差圖

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://shujuren.org/article/510.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91久久久久久久久久久久久久 | www中文在线 | 欧美zoofilia杂交videos | 亚洲成人在线视频网 | 国产日韩一区二区三区在线观看 | 国产合集91合集久久日 | 一级观看免费完整版视频 | 久久久久在线 | 成人免费网站在线观看视频 | 毛片一区二区三区 | 亚洲va久久久噜噜噜久牛牛影视 | 羞羞电影在线观看 | 一级在线| 欧美精品毛片 | 欧美一级一区二区三区 | 欧美精品欧美 | 成人免费在线观看视频 | 国产青草视频在线观看 | 一级片免费在线 | 日韩欧美高清一区 | 久久精品小短片 | 久久精片 | 操网| 看免费毛片 | 国产精品亚洲一区二区三区在线观看 | 午夜精品福利影院 | 国产一区二区三区视频在线观看 | 亚洲码无人客一区二区三区 | 国产在线欧美日韩 | 国产精品视频不卡 | 久久成人精品视频 | 日韩一级片一区二区三区 | 久久精品在这里 | 国产一区免费在线 | 成人在线视频在线观看 | 激情视频在线播放 | 国产午夜精品视频免费不卡69堂 | 欧美3p激情一区二区三区猛视频 | 亚洲国产精品高潮呻吟久久 | 日韩黄网站| 国产一区二区三区在线免费 |