<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2454字,需瀏覽 5分鐘

           ·

          2021-10-10 09:26

          之前Python實用寶典講過許多關(guān)于機器學(xué)習(xí)的文章,比如:

          1.Python 短文本自動識別個體是否有自殺傾向
          2.如何基于Paddle快速訓(xùn)練一個98%準(zhǔn)確率的抑郁文本預(yù)測模型?
          3.[準(zhǔn)確率:98%] 改進樸素貝葉斯自動分類食品安全新聞
          4.在泰坦尼克號上你能活下來嗎?Python告訴你
          5.準(zhǔn)確率94%!Python 機器學(xué)習(xí)識別微博或推特機器人

          等等... 但是這些文章所使用到的機器學(xué)習(xí)模型,讀者在第一次閱讀的時候可能完全不了解或不會使用。

          為了解決這樣的問題,我準(zhǔn)備使用scikit-learn給大家介紹一些模型的基礎(chǔ)知識,今天就來講講線性回歸模型

          1.準(zhǔn)備



          開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南?進行安裝。

          (可選1)?如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

          (可選2)?此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細(xì)指南

          請選擇以下任一種方式輸入命令安裝依賴
          1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
          2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
          3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

          pip install?scikit-learn


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



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

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

          外界溫度是否穿外套
          30度
          25度
          20度
          15度
          10度


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

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


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

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

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

          from?random import?randint
          TRAIN_SET_LIMIT = 1000
          TRAIN_SET_COUNT = 100

          TRAIN_INPUT = list()
          TRAIN_OUTPUT = list()
          for?i in?range(TRAIN_SET_COUNT):
          ????a = randint(0, TRAIN_SET_LIMIT)
          ????b = randint(0, TRAIN_SET_LIMIT)
          ????c = randint(0, TRAIN_SET_LIMIT)
          ????op = a + (2*b) + (3*c)
          ????TRAIN_INPUT.append([a, b, c])
          ????TRAIN_OUTPUT.append(op)


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




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



          為什么我使用sklearn?因為它真的真的很方便。像這樣的訓(xùn)練行為,你只需要3行代碼就能搞定:

          from?sklearn.linear_model import?LinearRegression

          predictor = LinearRegression(n_jobs=-1)
          predictor.fit(X=TRAIN_INPUT, y=TRAIN_OUTPUT)


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

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

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

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

          X_TEST = [[10, 20, 30]]
          outcome = predictor.predict(X=X_TEST)
          coefficients = predictor.coef_

          print('Outcome : {}\nCoefficients : {}'.format(outcome, coefficients))


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

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

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


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

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

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

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

          解決出來的同學(xué)可在后臺回復(fù):加群,將代碼發(fā)給我驗證,領(lǐng)取一份小紅包并進入Python實用寶典的高質(zhì)量學(xué)習(xí)交流群哦。

          我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關(guān)注Python實用寶典。

          原創(chuàng)不易,希望你能在下面點個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!

          點擊下方閱讀原文可獲得更好的閱讀體驗

          Python實用寶典?(pythondict.com)
          不只是一個寶典
          歡迎關(guān)注公眾號:Python實用寶典

          瀏覽 57
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼首页123 | 狠狠色综合网站 | 操逼网址进入 | 亚洲日韩小说图片视频首页 | 人妻少妇无码精品 |