kompjuter

Shembull i mësimit të makinerisë me Python: Regresioni i thjeshtë linear

Në këtë shembull të mësimit të makinerive do të shohim një regresion linear me vetëm një veçori hyrëse. Një regresion i thjeshtë linear.

Përpara se të vazhdoni, ju rekomandoj të lexoni dy artikuj të shkurtër, ku do të gjeni disa definocionet:

  1. Çfarë është Learning Machine, për çfarë bëhet fjalë dhe qëllimet e tij
  2. Llojet e Mësimit të Makinerisë

Meqenëse do të përdorim Python, nëse nuk e keni ende në kompjuterin tuaj, lexoni më tej Si të instaloni Python në Microsoft Windows

Për shembull, le të shqyrtojmë dy lista Python: e para përfaqëson vlerat hyrëse (tipar), e dyta vlerat e daljes (objektiv).

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

y = [28, 26, 35, 21, 33, 35, 41, 44, 42, 51]

Këto dy lista mund të përfaqësohen në një tabelë me pika shpërndarëse

Dy listat në grafik

Nga grafiku mund të shohim se pikat, edhe pse jo në të njëjtën linjë, megjithatë kanë një shpërndarje pothuajse lineare, nga pika e poshtme majtas në pikën e sipërme djathtas. Shpërndarja e pikave në grafik mund të identifikohet si trendi i listave që janë baza e modelit mbi të cilin do të bazohet makina jonë automatike e të mësuarit.

Model

Pra, mund të themi se nëse X rritet, edhe Y rritet, sikur pikat të ishin rreth një vije imagjinare. Qëllimi i regresionit është pikërisht të identifikojë këtë vijë, këtë vijë të drejtë. Identifikimi i kësaj linje do të na ndihmonte për të identifikuar pikat Y për vlerat e X që nuk janë të pranishme në listë.

Në fakt, mund të pyesim veten se si të parashikojmë vlerën e Y për një X që nuk përfshihet në rastet, nuk përfshihet në dy listat? Në thelb, cila do të ishte vlera e Y nëse X do të vlente 11, ose 12, ose 13?

Regresioni linear llogarit vijën që përafron më mirë pikat, pra vijën që kalon midis pikave, duke minimizuar distancën nga secila prej tyre. Dhe duke qenë se regresioni i thjeshtë do të na japë një vijë të drejtë, është e qartë se parashikimi nuk do të jetë aq i saktë, por ne do të jemi ende në gjendje të vlerësojmë një nivel të besueshëm, shumë afër Y.

Le ta bëjmë atë me scikit-learn:

# ne importojmë modelin e regresionit linear nga scikit-learn

importoni numpy si np

nga importi sklearn.linear_model Regresioni Linear

# ne instantojmë modelin

model = Regresion linear ()

# ne inicializojmë vlerat që do të na duhen për të udhëzuar makinën

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

y = [28, 26, 35, 21, 33, 35, 41, 44, 42, 51]

# ne i strukturojmë të dhënat në formë dydimensionale

X = np.array (x) .riforma (-1,1)

# ne trajnojmë modelin

model.përshtatje (X, y)

Rezultati i marrë nga kodi Python është a model i arsimuar. Objekti i modelit u instancua nga klasa e regresionit linear dhe pas thirrjes së modelit të përshtatjes, modeli ka studiuar të dhënat dhe është gati të bëjë parashikime.

Parashikimi

Për të pasur parashikimin, duhet të përdorim metodën e parashikimit, e cila është përgjegjëse për parashikimin e skenarëve të ardhshëm. Le të shtojmë rreshtin

printim (modeli.parashikoni ([[11], [12], [13], [14]])))

Duke filluar përsëri programin, do të marrim katër vlerat e parashikuara që korrespondojnë me veçoritë 11, 12, 13 dhe 14:

Buletini i inovacionit
Mos humbisni lajmet më të rëndësishme mbi inovacionin. Regjistrohuni për t'i marrë ato me email.

[49.8 52.38181818 54.96363636 57.54545455]

Pra, katër vlerat e marra në korrespondencë janë:

  • 11 —> 49.8
  • 12 —> 52.38181818
  • 13 —> 54.96363636
  • 14 —> 57.54545455

Siç mund ta shohim, rritja e vlerave të X korrespondon me vlerat në rritje të Y, dhe kjo ka kuptim. Le të përpiqemi të shohim se çfarë ndodh në grafik

Vija e kuqe paraqet rezultatin e regresionit. Linja duket të jetë interpretimi gjeometrik, dhe në veçanti linear, i shpërndarjes së pikave. Në thelb është si të thuash se modeli i zgjedhur për të përmirësuar parashikimin është një model i thjeshtë dhe linear.

Mund të themi se parashikimi nuk është shumë i saktë, por është një interpretim.

Si të vlerësoni rezultatet

Pasi të jenë marrë rezultatet e parashikimit, do të jetë e rëndësishme të dini gjithmonë se si të vlerësoni efektivitetin e një modeli. Për ta bërë këtë, ne duhet të shohim matjet që scikit-mësuar vë në dispozicion në paketën sklearn.metrics.

Metrikat bazohen në konceptin e mbetjes, d.m.th. sa larg vija devijon nga vlera e vërtetë e y për një x të caktuar. Praktikisht për çdo pikë distanca nga vija e drejtë e vetë pikës.

Ne mund të llogarisim mbetjet duke llogaritur diferencën midis vlerës reale dhe vlerës së parashikuar, mund ta bëjmë këtë për veçoritë 1 deri në 10:

# llogaritni parashikimet për vlerat x nga 1 në 10

y_pred = model.parashikoj (X)

printim (y_pred)

# llogarit mbetjet

mbetje = y - y_pred

printim (mbetjet)

si rezultat i marr parashikimet

[23.98181818 26.56363636 29.14545455 31.72727273 34.30909091 36.89090909 39.47272727 42.05454545 44.63636364.

dhe mbetjet
[4.01818182 -0.56363636 5.85454545 -10.72727273 -1.30909091 -1.89090909 1.52727273 1.94545455 -2.63636364]

Secila prej këtyre vlerave mat se sa larg ka kaluar vija nga pika në grafik. Quhen pikat me mbetje më të madhe i jashtëm, pra vlerat që janë më pak të përafruara me trendin e përgjithshëm (për shembull tremujori -10.72). Vlera e dytë është -0.56 dhe për këtë arsye shumë në përputhje me trendin e përgjithshëm.

Metrikat

Për regresionin linear ka metrika shumë të rëndësishme që scikit-learn i vë në dispozicion, le të shohim disa prej tyre:

  • Gabimi mesatar absolut: përbëhet nga mesatarja e vlerave absolute të mbetjeve. Konceptualisht mat distancën e secilës pikë nga vija. E thjeshtë dhe konkrete, matet me vlera absolute, sepse mat distancën dhe jo pozicionin mbi ose poshtë vijës. Për më tepër, vlera absolute na siguron që vlerat e kundërta nuk anulojnë njëra-tjetrën. Vlera MAE mund të jetë më e madhe ose e barabartë me zero, dhe sa më afër zeros, aq më i mirë është parashikimi;
  • Gabimi mesatar në katror: përbëhet nga mesatarja e katrorëve të vlerave absolute të mbetjeve, të tilla si MAE por katrorët. Vlera e MSE është më e madhe ose e barabartë me zero, dhe sa më afër zeros, aq më i mirë është parashikimi;
  • R katror: pak më i komplikuar se të mëparshmit, por mund të themi se lidh gabimet e bëra gjatë fazës së parashikimit me variancën e vetë të dhënave. Vlera e katrorit R është gjithmonë më e vogël ose e barabartë me 1, me mundësi që të ketë vlera negative. Nëse katrori R është i barabartë me 1 do të thotë se modeli e interpreton mirë trendin, në zero performanca është neutrale. Nëse katrori R ka një vlerë negative, atëherë kjo do të thotë se modeli nuk performoi mirë.

Funksionet e mësimit scikit që përmirësojnë tre treguesit janë:

  • gabimi_mesatar_absolut për MPJ
  • gabimi_mesatar_katror për MSE
  • r2_rezultat për R katror

duke i zbatuar ato në shembullin tonë, marrim vlerat e mëposhtme:

MAE = 3.4254545454545466
MSE = 19.847272727272724
R2 = 0.7348039453865216

nga sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score

printim (gabim_mesatar_absolut (y, y_pred))

printim (gabim_mesatar_katror (y, y_pred))

printim (r2_rezultat (y, y_pred))

Ercole Palmeri: I varur nga inovacioni


Buletini i inovacionit
Mos humbisni lajmet më të rëndësishme mbi inovacionin. Regjistrohuni për t'i marrë ato me email.

Artikujt e fundit

Ndërhyrje novatore në realitetin e shtuar, me një shikues Apple në Poliklinikën Catania

Një operacion oftalmoplastik duke përdorur shikuesin komercial Apple Vision Pro u krye në Poliklinikën Catania…

3 Maj 2024

Përfitimet e Faqeve të Ngjyrosjes për Fëmijë - një botë magjike për të gjitha moshat

Zhvillimi i aftësive të shkëlqyera motorike përmes ngjyrosjes i përgatit fëmijët për aftësi më komplekse si shkrimi. Për të ngjyrosur…

2 Maj 2024

E ardhmja është këtu: Si industria e transportit po revolucionarizon ekonominë globale

Sektori detar është një fuqi e vërtetë ekonomike globale, e cila ka lundruar drejt një tregu prej 150 miliardë...

1 Maj 2024

Botuesit dhe OpenAI nënshkruajnë marrëveshje për të rregulluar rrjedhën e informacionit të përpunuar nga Inteligjenca Artificiale

Të hënën e kaluar, Financial Times njoftoi një marrëveshje me OpenAI. FT licencon gazetarinë e saj të klasit botëror…

30 Prill 2024