日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python 用5行代碼學(xué)機(jī)器學(xué)習(xí)—線性回歸

我準(zhǔn)備使用scikit-learn給大家介紹一些模型的基礎(chǔ)知識(shí),今天就來(lái)講講線性回歸模型。

10多年的渝中網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整渝中建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“渝中網(wǎng)站設(shè)計(jì)”,“渝中網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1. 準(zhǔn)備

開(kāi)始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上噢,如果沒(méi)有,請(qǐng)?jiān)L問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda

Windows環(huán)境下打開(kāi)Cmd(開(kāi)始—運(yùn)行—CMD),蘋(píng)果系統(tǒng)環(huán)境下請(qǐng)打開(kāi)Terminal(command+空格輸入Terminal),準(zhǔn)備開(kāi)始輸入命令安裝依賴。

當(dāng)然,我更推薦大家用VSCode編輯器,把本文代碼Copy下來(lái),在編輯器下方的終端運(yùn)行命令安裝依賴模塊,多舒服的一件事?。篜ython 編程的最好搭檔—VSCode 詳細(xì)指南。

在終端輸入以下命令安裝我們所需要的依賴模塊:

 
 
 
 
  1. pip install scikit-learn 

2.簡(jiǎn)單的訓(xùn)練集

冬天快到了,深圳這幾天已經(jīng)準(zhǔn)備開(kāi)始入冬了。

從生活入手,外界溫度對(duì)是否穿外套的影響是具有線性關(guān)系的:

現(xiàn)在,考慮這樣的一個(gè)問(wèn)題:如果深圳的溫度是12度,我們應(yīng)不應(yīng)該穿外套?

這個(gè)問(wèn)題很簡(jiǎn)單,上述簡(jiǎn)單的訓(xùn)練集中,我們甚至不需要機(jī)器學(xué)習(xí)就能輕易地得到答案:應(yīng)該。但如果訓(xùn)練集變得稍顯復(fù)雜一些呢:

你能看出其中x1, x2, x3和y之間的規(guī)律嗎?

比較難,但是如果你有足夠的數(shù)據(jù)(比如100個(gè)),機(jī)器學(xué)習(xí)能夠迅速解決這個(gè)問(wèn)題。

為了方便展示機(jī)器學(xué)習(xí)的威力,我們?cè)谶@里生產(chǎn)100個(gè)這樣的訓(xùn)練集(公式為: y=x1 + 2*x2 + 3*x3):

 
 
 
 
  1. from random import randint 
  2. TRAIN_SET_LIMIT = 1000 
  3. TRAIN_SET_COUNT = 100 
  4.  
  5. TRAIN_INPUT = list() 
  6. TRAIN_OUTPUT = list() 
  7. for i in range(TRAIN_SET_COUNT): 
  8.     a = randint(0, TRAIN_SET_LIMIT) 
  9.     b = randint(0, TRAIN_SET_LIMIT) 
  10.     c = randint(0, TRAIN_SET_LIMIT) 
  11.     op = a + (2*b) + (3*c) 
  12.     TRAIN_INPUT.append([a, b, c]) 
  13.     TRAIN_OUTPUT.append(op) 

然后讓線性回歸模型使用該訓(xùn)練集(Training Set)進(jìn)行訓(xùn)練(fit),然后再給定三個(gè)參數(shù)(Test Data),進(jìn)行預(yù)測(cè)(predict),讓它得到y(tǒng)值(Prediction),如下圖所示。

3. 訓(xùn)練和測(cè)試

為什么我使用sklearn?因?yàn)樗娴恼娴暮芊奖?。像這樣的訓(xùn)練行為,你只需要3行代碼就能搞定:

 
 
 
 
  1. from sklearn.linear_model import LinearRegression 
  2.  
  3. predictor = LinearRegression(n_jobs=-1) 
  4. predictor.fit(X=TRAIN_INPUT, y=TRAIN_OUTPUT) 

需要注意線性回歸模型(LinearRegression)的參數(shù):

n_jobs:默認(rèn)為1,表示使用CPU的個(gè)數(shù)。當(dāng)-1時(shí),代表使用全部CPU

predictor.fit 即訓(xùn)練模型,X是我們?cè)谏捎?xùn)練集時(shí)的TRAIN_INPUT,Y即TRAIN_OUTPUT.

訓(xùn)練完就可以立即進(jìn)行測(cè)試了,調(diào)用predict函數(shù)即可:

 
 
 
 
  1. X_TEST = [[10, 20, 30]] 
  2. outcome = predictor.predict(X=X_TEST) 
  3. coefficients = predictor.coef_ 
  4.  
  5. print('Outcome : {}\nCoefficients : {}'.format(outcome, coefficients)) 

這里的 coefficients 是指系數(shù),即x1, x2, x3.

得到的結(jié)果如下:

 
 
 
 
  1. Outcome : [ 140.] 
  2. Coefficients : [ 1. 2. 3.] 

驗(yàn)證一下:10 + 20*2 + 30*3 = 140 完全正確。

如何,機(jī)器學(xué)習(xí)模型,用起來(lái)其實(shí)真的沒(méi)你想象中的那么難,大部分人很可能只是卡在了安裝 scikit-learn 的路上...

順便給大家留個(gè)小練習(xí),將下列歐式距離,使用線性回歸模型進(jìn)行表示。

解決思路和本文的方案其實(shí)是類似的,只不過(guò)需要變通一下。


網(wǎng)頁(yè)題目:Python 用5行代碼學(xué)機(jī)器學(xué)習(xí)—線性回歸
網(wǎng)站地址:http://m.5511xx.com/article/dpjpsji.html