自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 用5行代碼學(xué)機(jī)器學(xué)習(xí)—線性回歸

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

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

1. 準(zhǔn)備

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

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

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

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

  1. pip install scikit-learn 

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

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

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

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

這個(gè)問題很簡(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è)問題。

為了方便展示機(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_INPUTy=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í)模型,用起來其實(shí)真的沒你想象中的那么難,大部分人很可能只是卡在了安裝 scikit-learn 的路上...

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

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

 

責(zé)任編輯:趙寧寧 來源: Python實(shí)用寶典
相關(guān)推薦

2020-12-19 10:54:25

機(jī)器學(xué)習(xí)線性回歸算法

2020-12-20 20:31:56

Python機(jī)器學(xué)習(xí)多元線性回歸

2014-08-22 10:06:46

機(jī)器學(xué)習(xí)

2024-10-22 10:23:58

2020-08-25 18:10:22

Python代碼線性回歸

2017-05-17 08:24:08

TensorFlow機(jī)器學(xué)習(xí)線性回歸

2020-07-01 08:48:01

Python機(jī)器學(xué)習(xí)工具

2014-06-30 10:58:02

機(jī)器學(xué)習(xí)

2024-03-01 07:26:49

RustPolars機(jī)器學(xué)習(xí)

2021-07-29 13:06:29

Python機(jī)器學(xué)習(xí)編程語(yǔ)言

2022-09-25 23:10:53

Python數(shù)據(jù)集機(jī)器學(xué)習(xí)

2020-12-23 07:54:56

Python機(jī)器學(xué)習(xí)邏輯回歸算法

2019-10-11 08:46:45

Python數(shù)據(jù)Numpy

2017-10-24 14:32:48

2021-04-18 22:06:29

機(jī)器學(xué)習(xí)算法數(shù)據(jù)

2023-11-10 09:41:44

Python代碼

2017-06-14 17:18:43

機(jī)器學(xué)習(xí)數(shù)據(jù)研究回歸

2017-09-01 13:19:21

機(jī)器學(xué)習(xí)Logostic回歸

2019-08-01 15:40:31

Python機(jī)器學(xué)習(xí)編程語(yǔ)言

2025-04-27 04:02:00

機(jī)器學(xué)習(xí)模型網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)