Regressio: ennusta arvo luokan sijaan
Regressio (regression) ennustaa numeerisen kohteen, kuten keston tai anturin lukeman. Lineaarinen regressiomalli oppii syötepiirteiden painotetun summan ja vakiotermin. Myös epälineaarinen malli voi ennustaa numeerista kohdetta.
Pelkkä numeerinen tuloste ei tee tehtävästä regressiota. Luokittimen todennäköisyyskin on luku, mutta sen kohde on edelleen kategoria.
Sovitus matriisioperaationa
NumPy sovittaa pienen lineaarisen mallin ilman toistuvaa koulutussilmukkaa. Viimeinen ykkössarake tuottaa vakiotermin.
import numpy as np
x = np.array([0., 1., 2., 3.])
y = np.array([2., 5., 8., 11.])
design = np.column_stack([x, np.ones_like(x)])
weights, _, _, _ = np.linalg.lstsq(design, y, rcond=None)
prediction = np.array([4., 1.]) @ weights
Sovitettu suora on 3*x + 2, joten ennuste kohdassa neljä on neljätoista. Todellinen aineisto ei yleensä osu suoralle: pienimmän neliösumman menetelmä valitsee kertoimet, jotka minimoivat virheiden neliöiden summan.
Suuret virheet vaikuttavat tähän tavoitteeseen erityisen paljon. Absoluuttiseen virheeseen ja kvantiileihin perustuvat häviöt vastaavat eri kysymyksiin kohdejakaumasta. Regressioennuste ei myöskään itsessään ole luottamusväli, vaan epävarmuus tarvitsee oman mallin tai arviointimenetelmän.