Informatica

Esempio di Machine Learning con Python: la Regressione lineare multipla

La regressione lineare multipla si differenzia dalla regressione lineare semplice perchè viene applicata a molteplici features, invece che a una sola. In questo esempio di machine learning andremo a vedere una regressione lineare multipla, quindi con più feature in input.

Prima di procedere, vi consiglio di leggere tre brevi articoli, dove troverete diverse definizioni:

  1. Che cos’è il Machine Learning, di cosa si occupa e obiettivi
  2. Tipologie di Machine Learning
  3. Esempio di Machine Learning con Python: la Regressione lineare semplice

Visto che useremo Python, se non lo avete ancora sul vostro PC, leggete anche Come installare Python in ambiente Microsoft Windows

Anche per la regressione lineare multipla useremo la scikit-learn, in quanto estremamente flessibile rendendo tutto valido quello che abbiamo visto nell’esempio della Regressione lineare semplice.

Avremo quindi a disposizione il metodo fit per l’addestramento e il metodo predict per la predizione. Inoltre useremo ancora la classe Linear-Regression.

Inoltre con la funzione make_regression andremo a costruire un Data Set di prova in base ai parametri che gli forniremo. In questo modo la struttura di base è già pronta per fare la Regressione lineare. Richiameremo la make_regression sfruttando l’assegnazione multipla caratteristica di Python, come segue:

x, y = make_regression(n_samples=500, n_features=5, noise=10)

Quindi il dataset avrà le seguenti caratteristiche: 500 valori, organizzati in 5 features, e aggiungiamo un rumore, uno scarto di errore di 10 per non far sembrare il dataset troppo regolare.

Provvediamo ora a suddividere il dataset in una parte utile al training e una parte utile al test. Potremmo pensare a 80 campioni per il test e il restante per il training. Per farlo utilizziamo la funzione train_test_split che ci suddivide le due liste x e y in x_train, y_train e x_test, y_test

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=80)

come risultato avremo

((420, 5), (80, 5), (420, ), (80, ))

Ora procediamo alla regressione che avviene in modo totalmente analogo alla regressione lineare semplice, ma senza il reshape perchè in questo caso ci ha pensato la make_regression.

from sklearn.linear_model import LinearRegression

model = LinearRegression()

Articoli correlati
Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

model.fit(x_train, y_train)

Qui di seguito abbiamo i parametri calcolati per la regressione, insieme ai coefficienti e l’intercetta

model.coef_ assume il seguente valore

array([90.65, 23.45, 66.43, 42.54, 24.35])

model.intercept_ assume il seguente valore

-0.4564

Con il modello addestrato possiamo effettuare la previsione sui dati di test e valutarla con alcune metriche:

previsione = model.predict(x_test)

mean_absolute_error(y_test, previsione)

6.964857

re_score(y_test, previsione)

0.9876

Pur avendo usato dati a scopo didattico, i risultati dimostrano che il nostro modello funziona. E’ stato istruito, è in grado di eseguire previsioni e ha registrato anche un valore per la metrica R quadro praticamente al livello massimo.

Ercole Palmeri: Innovation addicted


Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.

Articoli recenti

Nasce Nim, l’Osservatorio del Nord-Est sull’economia dell’innovazione

Nasce l’Osservatorio del Nordest sull’economia dell’Innovazione Nim, (Numbers Innovation Motion) è un progetto di Galileo Visionary District realizzato in collaborazione…

7 Dicembre 2023

Innovazione del Content Marketing con Memory e Personality

ASKtoAI lancia le innovative funzionalità Memory e Personality, strumenti d'avanguardia per la creazione di contenuti digitali che promettono di migliorare…

6 Dicembre 2023

Discuss apre una nuova era di ricerca qualitativa con GenAI ampliata e innovazione asincrona

Discuss , la piattaforma leader appositamente creata per trasformare le esperienze in insight, ha potenziato le sue capacità di scalare la…

6 Dicembre 2023

Unwrapping Innovation: Blue Lake Packaging annuncia un’alternativa a base di fibra e priva di plastica al nastro e ai dispenser tradizionali

Con le festività che si avvicinano rapidamente, Blue Lake Packaging è entusiasta di offrire un'alternativa ecologica al nastro da imballaggio…

6 Dicembre 2023

Riepilogo del Netlogistik Innovation Day: trasformazione digitale della catena del freddo, innovazioni nel riciclaggio e leadership nella supply chain

Netlogistik , leader in potenti servizi che guidano le aziende verso la trasformazione digitale della catena di fornitura, ha recentemente tenuto…

6 Dicembre 2023

Lattice collabora con NVIDIA per accelerare l’IA edge

Annuncia una soluzione integrata che combina FPGA di Lattice a bassa potenza e bassa latenza con la piattaforma NVIDIA Orin…

6 Dicembre 2023

Evoluzione del tessile: il progetto TEPP della Taiwan Textile Federation ispira l’innovazione sostenibile oltre il 2023

Con un successo clamoroso, il Textile Export Promotion Project (TEPP), guidato dalla Taiwan Textile Federation nel 2023, ha messo in…

5 Dicembre 2023

Lattice continua la rapida espansione del portafoglio di prodotti che rende possibile la prossima era dell’innovazione

Lattice presenta i nuovi FPGA mid-range Lattice Avant-G e Lattice Avant-X, stack di soluzioni specifiche per le applicazioni ampliate e…

5 Dicembre 2023

Scopri di più sulla gestione della conoscenza e sull’innovazione per gli studi legali con un nuovo trattato scritto da esperti

Innovazione per i professionisti della gestione della conoscenza e dell'innovazione (KM&I). Nel settore legale è ora disponibile un riferimento completo…

5 Dicembre 2023

La Fondazione Eclipse lancia il gruppo di lavoro Eclipse Dataspace per promuovere l’innovazione globale nella condivisione affidabile dei dati

La Eclipse Foundation , una delle più grandi fondazioni di software open source al mondo, ha annunciato oggi la formazione dell'Eclipse…

5 Dicembre 2023