Paano Maipatupad ang Linear Regression para sa Pag-aaral ng Makina?



Saklaw ng artikulong ito ang konsepto ng linear regression para sa pag-aaral ng makina na may iba't ibang mga terminolohiya at isang kaso ng paggamit upang ipatupad ang linear regression.

Ang pokus ng umiikot sa mga variable ng pag-input at output gamit ang isang algorithm upang mahulaan ang kinalabasan. Kung ang isang bagong variable ng pag-input ay dumating sa larawan. Ang linear regression algorithm sa ay isang pinangangasiwaang diskarte sa pag-aaral upang tantyahin ang pagpapaandar sa pagmamapa upang makuha ang pinakamahusay na mga hula. Sa artikulong ito, matututunan natin ang tungkol sa linear regression para sa machine machine. Ang mga sumusunod na paksa ay tinalakay sa blog na ito.

Ano ang Regression?

Ang pangunahing layunin ng pagbabalik ay ang pagbuo ng isang mahusay na modelo upang mahulaan ang mga umaasa na mga katangian mula sa isang bungkos ng mga variable ng katangian. Ang isang problema sa pagbabalik ay kapag ang variable ng output ay alinman sa tunay o isang tuluy-tuloy na halaga ie suweldo, timbang, lugar, atbp.





Maaari rin nating tukuyin ang pagbabalik bilang isang statistic na paraan na ginagamit sa mga application tulad ng pabahay, pamumuhunan, atbp. Ginagamit ito upang hulaan ang ugnayan sa pagitan ng isang umaasang variable at isang bungkos ng mga independiyenteng variable. Tingnan natin ang iba't ibang mga uri ng mga diskarte sa pagbabalik.

halimbawa-linear na pagbabalik sa pag-aaral ng makina - edureka

Mga Uri Ng Pag-urong

Ang mga sumusunod ay mga uri ng pagbabalik.



  1. Simpleng Linear Regression
  2. Polynomial Regression
  3. Suportahan ang Pag-urong ng Vector
  4. Desisyon ng Pag-urong ng Puno
  5. Random na Pag-urong sa Kagubatan

Simpleng Linear Regression

Ang isa sa mga pinaka-kagiliw-giliw at karaniwang pamamaraan ng pagbabalik ay simpleng linear regression. Sa ito, hinuhulaan namin ang kinalabasan ng isang umaasang variable batay sa mga independiyenteng variable, ang ugnayan sa pagitan ng mga variable ay linear. Samakatuwid, ang salitang linear regression.

Polynomial Regression

Sa diskarteng pagbabalik na ito, binago namin ang mga orihinal na tampok sa mga tampok na polynomial ng isang naibigay na degree at pagkatapos ay nagsasagawa ng pagbabalik dito.

Suportahan ang Pag-urong ng Vector

Para kay pagbabalik o SVR, kinikilala namin ang isang hyperplane na may maximum margin tulad na ang maximum na bilang ng mga puntos ng data ay nasa loob ng mga margin na iyon. Medyo katulad ito sa algorithm ng pag-uuri ng vector machine ng suporta.



Desisyon ng Pag-urong ng Puno

SA maaaring magamit para sa parehong pagbabalik at . Sa kaso ng pag-urong, ginagamit namin ang ID3 algorithm (Iterative Dichotomiser 3) upang makilala ang split node sa pamamagitan ng pagbawas ng karaniwang paglihis.

Random na Pag-urong sa Kagubatan

Sa random na pag-urong sa kagubatan, pinagsasama-sama namin ang mga hula ng ilang mga pagpapasya sa pag-urong ng puno. Ngayong alam na natin ang tungkol sa iba't ibang uri ng pag-urong suriin natin nang detalyado ang simpleng linear na pag-urong.

Ano ang Linear Regression?

Ang simpleng linear regression ay isang diskarte sa pagbabalik kung saan ang independiyenteng variable ay may isang linear na relasyon sa dependant variable. Ang tuwid na linya sa diagram ay ang pinakamahusay na linya na magkasya. Ang pangunahing layunin ng simpleng linear regression ay upang isaalang-alang ang mga ibinigay na puntos ng data at balangkas ang pinakamahusay na linya na magkasya upang magkasya ang modelo sa pinakamahusay na paraang posible.

Bago magpatuloy sa kung paano gumagana ang linear regression algorithm, tingnan muna natin ang ilang mahahalagang terminolohiya sa simpleng linear regression.

Mga Terminolohiya sa Linear Regression

Ang mga sumusunod na terminolohiya ay mahalaga upang maging pamilyar ka bago lumipat sa linear regression algorithm.

Pag-andar ng Gastos

Ang pinakamagandang linya ng fit ay maaaring batay sa linear equation na ibinigay sa ibaba.

  • Ang umaasa na variable na hinuhulaan ay tinukoy ni Y.
  • Ang isang linya na humipo sa y-axis ay tinukoy ng intercept b0.
  • bisaay ang slope ng linya, x kumakatawan sa mga independiyenteng variable na tumutukoy sa hula ng Y.
  • Ang error sa nagresultang prediksyon ay tinukoy ng e.

Ang pagpapaandar sa gastos ay nagbibigay ng pinakamahusay na mga posibleng halaga para sa b0at bisaupang gawin ang pinakamahusay na linya na magkasya para sa mga puntos ng data. Ginagawa namin ito sa pamamagitan ng pag-convert sa problemang ito sa isang problema sa pag-minimize upang makuha ang pinakamahusay na mga halaga para sa b0at bisa. Ang error ay nai-minimize sa problemang ito sa pagitan ng aktwal na halaga at ng hinulaang halaga.

Pinipili namin ang pagpapaandar sa itaas upang i-minimize ang error. Nilalagay namin ang pagkakaiba sa error at binubuo ang error sa lahat ng mga puntos ng data, ang paghahati sa pagitan ng kabuuang bilang ng mga puntos ng data. Pagkatapos, ang nagawa na halaga ay nagbibigay ng average na parisukat na error sa lahat ng mga puntos ng data.

Kilala rin ito bilang MSE (Mean Squared Error), at binabago namin ang mga halaga ng b0at bisaupang ang halaga ng MSE ay naayos sa minimum.

Gradient Descent

Ang susunod na mahalagang terminolohiya upang maunawaan ang linear regression ay galing sa gradient. Ito ay isang paraan ng pag-update ng b0at bisamga halagang mabawasan ang MSE. Ang ideya sa likod nito ay upang mapanatili ang pag-ulit ng b0at bisahalaga hanggang sa bawasan namin ang MSE sa minimum.

Upang mai-update b0at bisa, kumukuha kami ng mga gradient mula sa pagpapaandar ng gastos. Upang hanapin ang mga gradient na ito, kumukuha kami ng bahagyang derivatives na patungkol sa b0at bisa. Ang mga bahagyang derivatives na ito ay ang gradients at ginagamit upang i-update ang mga halaga ng b0at bisa.

Ang isang mas maliit na rate ng pagkatuto ay tumatagal ng malapit sa minimum, ngunit tumatagal ng mas maraming oras at sa kaso ng isang mas malaking rate ng pag-aaral. Ang oras na ginugol ay mas maaga ngunit may pagkakataon na ma-overshoot ang minimum na halaga. Ngayon na natapos namin ang mga terminolohiya sa linear regression, tingnan natin ang ilang mga kalamangan at dehado ng linear regression para sa pag-aaral ng makina.

Mga Kalamangan At Disbentahe

Mga kalamangan Mga Dehado
Ang Linear regression ay mahusay na gumaganap para sa linearly separable dataAng palagay ng linearity sa pagitan ng umaasa at independiyenteng mga variable
Mas madaling ipatupad, bigyang kahulugan at mahusay na sanayinIto ay madalas na madaling kapitan ng sakit sa ingay at overfitting
Humahawak ito ng overfitting nang maayos gamit ang mga diskarte ng dimensyonal na pagbawas, regularisasyon, at pag-validate ng crossAng Linear regression ay lubos na sensitibo sa mga outliers
Ang isa pang kalamangan ay ang extrapolation na lampas sa isang tukoy na hanay ng dataIto ay madaling kapitan ng sakit sa multicollinearity

Mga Kaso sa Paggamit ng Linear Regression

  • Pagtataya sa Pagbebenta

  • Pagsusuri sa Panganib

  • Mga Application sa Pabahay Upang Hulaan ang mga presyo at iba pang mga kadahilanan

  • Mga Aplikasyon sa Pananalapi Upang Hulaan ang Mga presyo ng stock, pagsusuri sa pamumuhunan, atbp.

Ang pangunahing ideya sa likod ng linear regression ay upang mahanap ang ugnayan sa pagitan ng mga umaasa at independiyenteng mga variable. Ginagamit ito upang makuha ang pinakamahusay na linya na umaangkop na mahuhulaan ang kinalabasan na may pinakamaliit na error. Maaari naming gamitin ang linear regression sa simpleng mga sitwasyon sa totoong buhay, tulad ng paghula sa mga marka ng SAT tungkol sa bilang ng mga oras ng pag-aaral at iba pang mapagpasyang kadahilanan.

Sa pag-iisip na ito, tingnan natin ang isang kaso ng paggamit.

Gumamit ng Kaso - Pagpapatupad ng Linear Regression

Ang proseso ay nagaganap sa mga sumusunod na hakbang:

  1. Nilo-load ang Data
  2. Paggalugad sa Data
  3. Paghiwa ng Data
  4. Tren at Hatiin ang Data
  5. Bumuo ng Model
  6. Suriin ang kawastuhan

Makilala natin ang mga detalye ng bawat hakbang upang maipatupad ang linear regression.

1. Nilo-load ang Data

Maaari kaming magsimula sa pangunahing hanay ng data ng diyabetis na naroroon sa sklearn (scikit-malaman) na module ng mga set ng data upang simulan ang aming paglalakbay sa linear regression.

mula sa sklearn import datasets disease = datasets.load_diabetes () print (sakit)

Output:

2. Pagtuklas sa Data

Matapos naming matapos ang pag-load ng data, maaari naming simulan ang paggalugad sa pamamagitan ng simpleng pag-check sa mga label sa pamamagitan ng paggamit ng sumusunod na code.

java ano ang scanner
print (disease.keys ())

Output:

Ibinibigay ng code sa itaas ang lahat ng mga label mula sa hanay ng data, pagkatapos nito, maaari naming hiwain ang data upang mailagay namin ang linya sa huli. Gagamitin din namin ang lahat ng mga puntos ng data, sa ngayon, hahatiin namin ang haligi 2 mula sa data.

i-import ang numpy bilang np disease_X = disease.data [:, np.newaxis, 2] print (disease_X)

Output:

Matapos ang hakbang na ito, hahatiin namin ang data sa tren at set ng pagsubok.

3. Paghahati sa Data

sakit_X_train = sakit_X [: - 30] sakit_X_test = sakit_X [-20:] sakit_Y_train = sakit.target [: - 30] sakit_Y_test = sakit.target [-20:]

Ang susunod na bahagi ay nagsasangkot ng pagbuo ng modelo, na kung saan ay isasama ang pag-import ng linear_model mula sa sklearn.

4. Bumubuo ng modelo

mula sa sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (disease_X_train, disease_Y_train) y_predict = reg.predict (disease_X_test)

Upang suriin ang kawastuhan ng modelo, gagamitin namin ang ibig sabihin ng parisukat na error mula sa scikit-malaman.

5. Pagsusuri

kawastuhan = mean_squared_error (disease_Y_test, y_predict,) print (katumpakan) timbang = reg.coef_ intercept = reg.intercept_ print (weights, intercept)

Output:

Upang mas maging malinaw sa kung paano ang hitsura ng mga puntos ng data sa grapiko, balangkasin din natin ang mga graph.

i-import ang matplotlib.pyplot bilang plt plt.scatter (disease_X_test, disease_Y_test) plt.plot (disease_X_test, y_predict) plt.show ()

Output:

Upang makakuha ng isang mas tumpak na modelo sa senaryong ito, maaari naming gamitin ang buong data sa halip na ang haligi lamang 2. Magbibigay iyon ng isang kawastuhan tulad ng ipinakita sa ibaba:

#gumawa ng kaunting pagbabago sa code sa itaas, at alisin ang balangkas na code upang maiwasan ang mga error sa sakit_X = disease.data

Output:

Dinadala tayo nito sa katapusan ng artikulong ito kung saan natutunan ang tungkol sa Linear Regression para sa Pag-aaral ng Makina. Inaasahan kong malinaw ka sa lahat ng naibahagi sa iyo sa tutorial na ito.

Kung nakita mo ang artikulong ito sa 'Linear Regression for Machine Learning' na may kaugnayan, tingnan ang isang pinagkakatiwalaang kumpanya sa online na pag-aaral na may isang network ng higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.

Kung mahahanap mo ang anumang mga katanungan, huwag mag-atubiling itanong ang lahat ng iyong mga katanungan sa seksyon ng mga komento ng 'Linear Regression for Machine Learning' at ang aming koponan ay nalulugod na sagutin.