偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python 用5行代碼學機器學習—線性回歸

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

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

1. 準備

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

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

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

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

  1. pip install scikit-learn 

2.簡單的訓練集

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

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

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

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

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

比較難,但是如果你有足夠的數(shù)據(jù)(比如100個),機器學習能夠迅速解決這個問題。

為了方便展示機器學習的威力,我們在這里生產(chǎn)100個這樣的訓練集(公式為: 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) 

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

3. 訓練和測試

為什么我使用sklearn?因為它真的真的很方便。像這樣的訓練行為,你只需要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:默認為1,表示使用CPU的個數(shù)。當-1時,代表使用全部CPU

predictor.fit 即訓練模型,X是我們在生成訓練集時的TRAIN_INPUT,Y即TRAIN_OUTPUT.

訓練完就可以立即進行測試了,調(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.] 

驗證一下:10 + 20*2 + 30*3 = 140 完全正確。

如何,機器學習模型,用起來其實真的沒你想象中的那么難,大部分人很可能只是卡在了安裝 scikit-learn 的路上...

順便給大家留個小練習,將下列歐式距離,使用線性回歸模型進行表示。

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

 

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

2020-12-19 10:54:25

機器學習線性回歸算法

2020-12-20 20:31:56

Python機器學習多元線性回歸

2014-08-22 10:06:46

機器學習

2024-10-22 10:23:58

2020-08-25 18:10:22

Python代碼線性回歸

2017-05-17 08:24:08

TensorFlow機器學習線性回歸

2020-07-01 08:48:01

Python機器學習工具

2014-06-30 10:58:02

機器學習

2024-03-01 07:26:49

RustPolars機器學習

2021-07-29 13:06:29

Python機器學習編程語言

2022-09-25 23:10:53

Python數(shù)據(jù)集機器學習

2020-12-23 07:54:56

Python機器學習邏輯回歸算法

2017-10-24 14:32:48

2019-10-11 08:46:45

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

2021-04-18 22:06:29

機器學習算法數(shù)據(jù)

2017-09-01 13:19:21

機器學習Logostic回歸

2017-06-14 17:18:43

機器學習數(shù)據(jù)研究回歸

2019-08-01 15:40:31

Python機器學習編程語言

2023-11-10 09:41:44

Python代碼

2025-04-27 04:02:00

機器學習模型網(wǎng)絡(luò)
點贊
收藏

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