Python è una delle piattaforme in più rapida crescita per l'apprendimento automatico applicato. In questo mini-corso scoprirai come iniziare, creare modelli accurati e completare con sicurezza progetti di machine learning di modellazione predittiva utilizzando Python.
Questo è un post molto importante e ricco di concetti fondamentali che difficilmente cambieranno nel tempo, ti consigliamo di aggiungerlo ai segnalibri.
A chi è rivolto questo corso gratis su Python e Machine learning?
Prima di iniziare, assicuriamoci che tu sia nel posto giusto.
L'elenco seguente fornisce alcune linee guida generali su chi è stato progettato questo corso gratuito su python e il Machine learning.
Non farti prendere dal panico se non rientri esattamente a questi punti, potresti semplicemente aver bisogno di rispolverare un'area per seguire senza problemi i tutorial.
Sviluppatori che sanno scrivere un po' di codice . Ciò significa che non è un grosso problema per te prendere un nuovo linguaggio di programmazione come Python una volta che conosci la sintassi di base. Non significa che sei un programmatore mago, solo che puoi seguire un linguaggio di base simile al C con poco sforzo.
Sviluppatori che conoscono un po' di machine learning . Ciò significa che conosci le basi dell'apprendimento automatico come la convalida incrociata, alcuni algoritmi e il compromesso tra bias e varianza . Non significa devi avere 2 lauree, 3 master e 7 dottorati, ma solo che conosci i punti di riferimento o sai dove cosa cercare se non ti è chiarissimo.
Questo mini-corso non è né un libro di testo su Python né un libro di testo sull'apprendimento automatico, ma è un insieme di tutorial di difficoltà crescente, che se seguiti con costanza e dedizione ti poteranno a saperti muovere e sviluppare modelli di M.L. con Python.
Ti porterà da uno sviluppatore che conosce un po' di machine learning a uno sviluppatore che può ottenere risultati utilizzando l'ecosistema Python, la piattaforma emergente per l'apprendimento automatico professionale. Semplicemente seguendo questo corso gratis su Python e Machine Learning
Panoramica del corso gratis su Python e Machine Learning
Questo mini-corso è suddiviso in 14 lezioni.
Puoi completare una lezione al giorno (consigliato) o completare tutte le lezioni in un giorno (Vivamente sconsigliato!).
Dipende molto dal tempo che hai a disposizione e dal tuo livello di entusiasmo.
Di seguito sono elencate 14 lezioni che ti permetteranno di iniziare e diventare produttivo con l'apprendimento automatico e Python:
Lezione 1 : Scarica e installa l'ecosistema Python e SciPy.
Lezione 2 : Muoversi in Python, NumPy, Matplotlib e Pandas.
Lezione 3 : Caricare dati da CSV.
Lezione 4 : Comprendere i dati con le statistiche descrittive.
Lezione 5 : Comprendere i dati con la visualizzazione.
Lezione 6 : Prepararsi alla modellazione mediante la preelaborazione dei dati.
Lezione 7 : Valutazione dell'algoritmo con metodi di ricampionamento.
Lezione 8 : Metriche di valutazione dell'algoritmo.
Lezione 9 : Algoritmi Spot-Check.
Lezione 10 : Confronto e selezione del modello.
Lezione 11 : Migliorare la precisione con l'ottimizzazione degli algoritmi.
Lezione 12 : Migliorare la precisione con le previsioni dell'ensemble.
Lezione 13 : Finalizza e salva il tuo modello.
Lezione 14 : Hello World End-to-End Project.
Ogni lezione potrebbe richiedere 60 secondi o fino a 30 minuti.
Scarica il corso Python e Machine learning come ebook PDF
Abbiamo inviato questo articolo in anteprima ai nostri utenti più attivi, e loro hanno consigliato di prendersi un oretta per lezione sopratutto per quelle dopo la 3/4 lezione
Prenditi il tuo tempo e completa le lezioni al tuo ritmo. Poni domande e pubblica persino risultati nei commenti qui sotto.
Le lezioni si aspettano che tu esca e scopra come fare le cose. Ti daremo dei suggerimenti, ma parte del punto di ogni lezione è costringerti a imparare dove andare per cercare aiuto su e sulla piattaforma Python.
SUGGERIMENTO, tutte le risposte sono disponibili direttamente su questo blog, usa la barra ricerca
Sei pronto ? Iniziamo ? Diamo il via al Mini Corso Python e M.L.
Tieni duro, non mollare!
Lezione 1 corso gratis Python e Machine Learning:
Scarica e installa Python e SciPy
Non puoi iniziare con l'apprendimento automatico in Python finché non hai accesso alla piattaforma.
La lezione di oggi è facile, devi scaricare e installare la piattaforma Python 3.6 sul tuo computer.
Visita la homepage di Python e scarica Python per il tuo sistema operativo (Linux, OS X o Windows). Installa Python sul tuo computer. Potrebbe essere necessario utilizzare un gestore di pacchetti specifico della piattaforma come macports su OS X o yum su RedHat Linux.
È inoltre necessario installare la piattaforma SciPy e la libreria scikit-learn. Ti consiglio di usare lo stesso approccio che hai usato per installare Python.
Puoi installare tutto in una volta (molto più semplice) con Anaconda . Consigliato per i principianti.
Avvia Python per la prima volta digitando "python" nella riga di comando.
Controlla le versioni di tutto ciò di cui avrai bisogno usando il codice qui sotto:
# Python version
import sys
print('Python: {}'.format(sys.version))
# scipy
import scipy
print('scipy: {}'.format(scipy.__version__))
# numpy
import numpy
print('numpy: {}'.format(numpy.__version__))
# matplotlib
import matplotlib
print('matplotlib: {}'.format(matplotlib.__version__))
# pandas
import pandas
print('pandas: {}'.format(pandas.__version__))
# scikit-learn
import sklearn
print('sklearn: {}'.format(sklearn.__version__))
Se ci sono errori, fermati. Ora è il momento di risolverli.
Se sei proprio alle prime armi e stai trovando troppa difficoltà nell'installare Python e le relative librerie ti mettiamo a disposizione un NOSTRO AMBIENTE VIRTUALE, con Python e le librerie già installate che ti permetteranno di Programmare Python direttamente dal BROWSER.
Una volta aperto, potrai tranquillamente copiare e incollare il codice, e premere sul bottoncino verde, oppure premendo SHIFT-INVIO contemporaneamente.
Il risultato vi apparirà così :
Letture consigliate per approfondire la LEZIONE 1
Lezione 2 corso gratis Python e Machine Learning:
Primi passi con Python, NumPy, Matplotlib e Pandas.
Devi essere in grado di leggere e scrivere script Python di base.
Come sviluppatore, puoi imparare nuovi linguaggi di programmazione abbastanza rapidamente. Python fa distinzione tra maiuscole e minuscole, usa l'hash (#) per i commenti e usa gli spazi bianchi per indicare i blocchi di codice (gli spazi bianchi sono importanti).
Il compito di oggi è esercitarsi con la sintassi di base del linguaggio di programmazione Python e importanti strutture dati SciPy nell'ambiente interattivo Python.
Esercitati con l'assegnazione, il lavoro con le liste e il controllo del flusso in Python.
Esercitati a lavorare con gli array NumPy.
Esercitati a creare semplici trame in Matplotlib.
Esercitati a lavorare con Pandas Series e DataFrames.
Ad esempio, di seguito è riportato un semplice esempio di creazione di un Pandas DataFrame .
# dataframe
import numpy
import pandas
myarray = numpy.array([[1, 2, 3], [4, 5, 6]])
rownames = ['a', 'b']
colnames = ['one', 'two', 'three']
mydataframe = pandas.DataFrame(myarray, index=rownames, columns=colnames)
print(mydataframe)
Se sei proprio alle prime armi e stai trovando troppa difficoltà nell'installare Python e le relative librerie ti mettiamo a disposizione un NOSTRO AMBIENTE VIRTUALE, con Python e le librerie già installate che ti permetteranno di Programmare Python direttamente dal BROWSER.
Mi Raccomando, anche se ti sembrerà banale scrivere questi semplici script, esercitati provando a cambiare qualcosa nel codice. Solo così alla fin delle lezioni avrai realmente imparato a muoverti con Python e le principali librerie.
Letture consigliate per approfondire la LEZIONE 2
Lezione 3 corso gratis Python e Machine Learning:
Carica dati o dataset da file CSV
Gli algoritmi di apprendimento automatico necessitano di dati. Puoi caricare i tuoi dati da file CSV, ma quando inizi con l'apprendimento automatico in Python dovresti esercitarti su set di dati di apprendimento automatico standard.
Il tuo compito per la lezione di oggi è imparare a caricare i dati in Python e trovare e caricare set di dati di machine learning standard.
Ci sono molti eccellenti set di dati standard di apprendimento automatico in formato CSV che puoi scaricare ed esercitarti nel nostro repository di DATASET
Esercitati a caricare file CSV in Python usando CSV.reader() nella libreria standard.
Esercitati a caricare file CSV usando NumPy e la funzione numpy.loadtxt() .
Esercitati a caricare file CSV utilizzando Pandas e la funzione pandas.read_csv() .
Per iniziare, di seguito è riportato uno snippet che caricherà il set di dati sull'inizio del diabete utilizzando Panda direttamente dall'UCI Machine Learning Repository.
import pandas
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = pandas.read_csv(url, names=names)
print(data.shape)
Se sei proprio alle prime armi e stai trovando troppa difficoltà nell'installare Python e le relative librerie ti mettiamo a disposizione un NOSTRO AMBIENTE VIRTUALE, con Python e le librerie già installate che ti permetteranno di Programmare Python direttamente dal BROWSER.
Se usi il nostro edito ONLINE, troverai le istruzioni per leggere file CSV dal tuo computer.
Complimenti per essere arrivato fin qui! Tieni duro. Se hai fatto tutte e tre le prime lezioni di fila torna domani non mettere troppa carne al fuoco.
Qualche domanda finora? Chiedi nei commenti.
Letture consigliate per approfondire la LEZIONE 3
Dove trovare i migliori Dataset per esercitarsi con il Machine learning
Come Creare Un Dataset per il tuo Progetto Di Machine Learning
Dataset per Esercitarsi nella Data Science e Data Visualizzation
60 migliori set di dati gratuiti per l'apprendimento automatico e profondo
Visualizzare i dati con il LinePlot o grafico a linee con Python e MatplotLib
Lezione 4 corso gratis Python e Machine Learning:
Comprendere i dati con le statistiche descrittive
Dopo aver caricato i tuoi dati in Python, devi essere in grado di capirli.
Meglio puoi comprendere i tuoi dati, migliori e più accurati saranno i modelli che puoi costruire. Il primo passo per comprendere i tuoi dati è utilizzare le statistiche descrittive.
Oggi la tua lezione è imparare a utilizzare le statistiche descrittive per comprendere i tuoi dati. Consiglio di utilizzare le funzioni di supporto fornite su Pandas DataFrame.
Comprendi i tuoi dati usando la funzione head() per guardare le prime righe.
Rivedi le dimensioni dei tuoi dati con la proprietà shape .
Guarda i tipi di dati per ogni attributo con la proprietà dtypes .
Rivedi la distribuzione dei tuoi dati con la funzione describe() .
Calcola la correlazione a coppie tra le tue variabili usando la funzione corr() .
L'esempio seguente carica il set di dati sull'inizio del diabete e riassume la distribuzione di ciascun attributo.
import pandas
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = pandas.read_csv(url, names=names)
description = data.describe()
print(description)
Se sei proprio alle prime armi e stai trovando troppa difficoltà nell'installare Python e le relative librerie ti mettiamo a disposizione un NOSTRO AMBIENTE VIRTUALE, con Python e le librerie già installate che ti permetteranno di Programmare Python direttamente dal BROWSER.
Provalo! Se non funziona scrivi nei commenti l'errore
Letture consigliate per approfondire la LEZIONE 4:
Lezione 5 corso gratis Python e Machine Learning:
Comprendere i dati con la visualizzazione
Continuando dalla lezione di ieri, devi dedicare del tempo a comprendere meglio i tuoi dati.
Un secondo modo per migliorare la comprensione dei dati consiste nell'utilizzare tecniche di visualizzazione dei dati (ad es. il tracciamento).
Oggi, la tua lezione consiste nell'imparare come utilizzare la stampa in Python per comprendere gli attributi da soli e le loro interazioni. Ancora una volta, consiglio di utilizzare le funzioni di supporto fornite su Pandas DataFrame.
Utilizzare la funzione hist() per creare un istogramma di ogni attributo.
Usa la funzione plot(kind='box') per creare grafici box-and-whisker di ogni attributo.
Utilizzare la funzione pandas.scatter_matrix() per creare grafici a dispersione a coppie di tutti gli attributi.
Ad esempio, il frammento di codice seguente caricherà il set di dati del diabete e creerà una matrice del grafico a dispersione del set di dati.
import matplotlib.pyplot as plt
import pandas
from pandas.plotting import scatter_matrix
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = pandas.read_csv(url, names=names)
scatter_matrix(data)
plt.show()
il risultato di questo script sarà questo :
Naturalmente senza delle basi Statistico/matematiche per te sarà difficile capire questi grafici o individuare degli Insights.
Letture consigliate per approfondire la LEZIONE 5:
Hey, NON ANDARE AVANTI CON LE LEZIONI SE PRIMA NON HAI PROVATO A CREARE ALMENO 5 o 6 GRAFICI.
Lezione 6 corso gratis Python e Machine Learning:
Prepararsi alla modellazione mediante la preelaborazione dei dati
I tuoi dati grezzi potrebbero non essere configurati per essere nella forma migliore per la modellazione.
A volte è necessario preelaborare i dati per presentare al meglio la struttura intrinseca del problema nei dati agli algoritmi di modellazione. Nella lezione di oggi utilizzerai le capacità di pre-elaborazione fornite da scikit-learn.
La libreria scikit-learn fornisce due idiomi standard per la trasformazione dei dati. Ciascuna trasformazione è utile in circostanze diverse: Adatta e Trasformazione multipla e Adatta e trasforma combinata.
Esistono molte tecniche che è possibile utilizzare per preparare i dati per la modellazione. Ad esempio, prova alcuni dei seguenti
Standardizzare i dati numerici (ad es. media di 0 e deviazione standard di 1) utilizzando le opzioni della scala e del centro.
Normalizzare i dati numerici (ad es. in un intervallo di 0-1) utilizzando l'opzione intervallo.
Esplora l'ingegneria delle funzionalità più avanzate come la binarizzazione.
Ad esempio, lo snippet seguente carica il set di dati sull'inizio del diabete , calcola i parametri necessari per standardizzare i dati, quindi crea una copia standardizzata dei dati di input.
from sklearn.preprocessing import StandardScaler
import pandas
import numpy
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = pandas.read_csv(url, names=names)
array = dataframe.values
# separiamo il target
X = array[:,0:8]
Y = array[:,8]
scaler = StandardScaler().fit(X)
rescaledX = scaler.transform(X)
# trasformiamo i dati
numpy.set_printoptions(precision=3)
print(rescaledX[0:5,:])
L'output di questo codice sarà :
Se sei proprio alle prime armi e stai trovando troppa difficoltà nell'installare Python e le relative librerie ti mettiamo a disposizione un NOSTRO AMBIENTE VIRTUALE, con Python e le librerie già installate che ti permetteranno di Programmare Python direttamente dal BROWSER.
Letture consigliate per approfondire la LEZIONE 6:
Feature Engineering e Feature Selection per Principianti e non
Lezione 7 corso gratis Python e Machine Learning:
Valutazione dell'algoritmo con metodi di ricampionamento
Il set di dati utilizzato per addestrare un algoritmo di apprendimento automatico è chiamato set di dati di addestramento. Il set di dati utilizzato per addestrare un algoritmo non può essere utilizzato per fornire stime affidabili dell'accuratezza del modello sui nuovi dati. Questo è un grosso problema perché l'idea di creare il modello è fare previsioni su nuovi dati.
È possibile utilizzare metodi statistici chiamati metodi di ricampionamento per suddividere il set di dati di addestramento in sottoinsiemi, alcuni vengono utilizzati per addestrare il modello e altri vengono trattenuti e utilizzati per stimare l'accuratezza del modello su dati invisibili.
Il tuo obiettivo con la lezione di oggi è esercitarti utilizzando i diversi metodi di ricampionamento disponibili in scikit-learn, ad esempio:
Suddividi un set di dati in set di training e test.
Stimare l'accuratezza di un algoritmo utilizzando la convalida incrociata k-fold.
Stimare l'accuratezza di un algoritmo utilizzando la convalida incrociata omettere uno.
Lo snippet di seguito utilizza scikit-learn per stimare l'accuratezza dell'algoritmo di regressione logistica sull'inizio del set di dati del diabete utilizzando una convalida incrociata di 10 volte.
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
Y = array[:,8]
kfold = KFold(n_splits=10, random_state=7, shuffle=True)
model = LogisticRegression(solver='liblinear')
results = cross_val_score(model, X, Y, cv=kfold)
print("Accuracy: %.3f%% (%.3f%%)" % (results.mean()*100.0, results.std()*100.0))
Noi abbiamo ottenuto questa precisione :
Facci sapere nei commenti quanto ti è uscito :)
Prima di andare avanti con lezioni, divertiti a giocare un po con parametri dell'ultimo script e facci sapere se riesci ad ottenere una precisione più alta dell'85%
Lezione 8 corso gratis Python e Machine Learning:
Metriche di valutazione dell'algoritmo
Esistono molte metriche diverse che puoi utilizzare per valutare l'abilità di un algoritmo di apprendimento automatico su un set di dati.
Puoi specificare la metrica utilizzata per il tuo cablaggio di test in scikit-learn tramite la funzione cross_validation.cross_val_score() e le impostazioni predefinite possono essere utilizzate per problemi di regressione e classificazione. Il tuo obiettivo con la lezione di oggi è esercitarti utilizzando le diverse metriche delle prestazioni dell'algoritmo disponibili nel pacchetto scikit-learn.
Esercitati a utilizzare le metriche Precisione e LogLoss su un problema di classificazione.
Esercitati a generare una matrice di confusione e un rapporto di classificazione.
Esercitati a utilizzare le metriche RMSE e RSquared su un problema di regressione.
Lo snippet seguente mostra il calcolo della metrica LogLoss sull'inizio del set di dati del diabete.
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
Y = array[:,8]
kfold = KFold(n_splits=10)
model = LogisticRegression(solver='liblinear')
scoring = 'neg_log_loss'
results = cross_val_score(model, X, Y, cv=kfold, scoring=scoring)
print(f"Logloss: {results.mean()}%" )
Output
Che perdita hai avuto? Facci sapere nei commenti.
Letture consigliate per approfondire la LEZIONE 8:
Algoritmi Supervisionati e Non Supervisionati la vera differenza
Lezione 9 corso gratis Python e Machine Learning:
Algoritmi Spot-Check
Non puoi assolutamente sapere quale algoritmo funzionerà meglio sui tuoi dati in anticipo.
Devi scoprirlo usando un processo di tentativi ed errori. Lo chiamo algoritmi di controllo a campione. La libreria scikit-learn fornisce un'interfaccia a molti algoritmi e strumenti di apprendimento automatico per confrontare l'accuratezza stimata di tali algoritmi.
In questa lezione, devi esercitarti nel controllo a campione di diversi algoritmi di apprendimento automatico.
Algoritmi lineari di controllo spot su un set di dati (ad es. regressione lineare, regressione logistica e analisi discriminante lineare).
Spot check di alcuni algoritmi non lineari su un dataset (es. KNN, SVM e CART).
Verifica a campione alcuni sofisticati algoritmi di ensemble su un set di dati (ad es. foresta casuale e aumento del gradiente stocastico).
Ad esempio, lo snippet sotto controlla a campione l'algoritmo K-Nearest Neighbors sul set di dati Boston House Price.
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.neighbors import KNeighborsRegressor
url = "housing.data"
names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']
dataframe = read_csv(url, delim_whitespace=True, names=names)
array = dataframe.values
X = array[:,0:13]
Y = array[:,13]
kfold = KFold(n_splits=10, random_state=7)
model = KNeighborsRegressor()
scoring = 'neg_mean_squared_error'
results = cross_val_score(model, X, Y, cv=kfold, scoring=scoring)
print(results.mean())
a Noi è uscito questo Output
Naturalmente questo ti servirà per scegliere il modello con il MINOR ERRORE
Sei arrivato già ad un buon punto del corso su Python e Machine Learning ed hai imparato molto, hai visto tantissimi concetti. Prenditi uno o due giorni per riguardare ciò che hai fatto fin ora con occhi diversi. E inizia a cercare un set di dati che ti interessa per iniziare ad applicare in modo autonomo quanto visto fin ora
Letture consigliate per approfondire la LEZIONE 9:
Lezione 10 corso gratis Python e Machine Learning:
Confronto e selezione del modello
Ora che sai come individuare gli algoritmi di machine learning sul tuo set di dati, devi sapere come confrontare le prestazioni stimate di diversi algoritmi e selezionare il modello migliore.
Nella lezione di oggi, ti eserciterai a confrontare l'accuratezza degli algoritmi di apprendimento automatico in Python con scikit-learn.
Confronta gli algoritmi lineari tra loro su un set di dati.
Confronta gli algoritmi non lineari tra loro su un set di dati.
Confronta tra loro diverse configurazioni dello stesso algoritmo.
Creare grafici dei risultati confrontando algoritmi.
L'esempio seguente confronta la regressione logistica e l'analisi discriminante lineare tra loro sull'inizio del set di dati del diabete .
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
# carichiamo dataset
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
Y = array[:,8]
# prepare models
models = []
models.append(('LR', LogisticRegression(solver='liblinear')))
models.append(('LDA', LinearDiscriminantAnalysis()))
# valutiamo i modelli
results = []
names = []
scoring = 'accuracy'
for name, model in models:
kfold = KFold(n_splits=10)
cv_results = cross_val_score(model, X, Y, cv=kfold, scoring=scoring)
results.append(cv_results)
names.append(name)
msg = cv_results.mean()
print(msg)
Questo è uno script potentissimo perchè ti permette di sapere velocemente quale tra gli algoritmi da te scelti è più performante. Qui sotto c'è il nostro Output :
Se sei proprio alle prime armi e stai trovando troppa difficoltà nell'installare Python e le relative librerie ti mettiamo a disposizione un NOSTRO AMBIENTE VIRTUALE, con Python e le librerie già installate che ti permetteranno di Programmare Python direttamente dal BROWSER.
A te che risultati sono Usciti ? Facci sapere nei commenti.
Complimenti, sei quasi giunto al termine di questo corso su Python e il Machine Learning.
A questo punto per far si che ti rimanga qualcosa di concreto ti consigliamo di scegliere un dataset che ti piaccia da qui e di applicare questi script. Commenta il post se ti appaiono errori.
Lezione 11 corso gratis Python e Machine Learning:
Migliorare la precisione con l'ottimizzazione degli algoritmi
Dopo aver trovato uno o due algoritmi che funzionano bene sul tuo set di dati, potresti voler migliorare le prestazioni di quei modelli.
Un modo per aumentare le prestazioni di un algoritmo consiste nell'accordare i suoi parametri al tuo set di dati specifico.
La libreria scikit-learn offre due modi per cercare combinazioni di parametri per un algoritmo di apprendimento automatico. Il tuo obiettivo nella lezione di oggi è esercitarti su ciascuno.
Ottimizza i parametri di un algoritmo utilizzando una ricerca nella griglia da te specificata.
Ottimizza i parametri di un algoritmo utilizzando una ricerca casuale.
Lo snippet di seguito utilizzato è un esempio dell'utilizzo di una griglia di ricerca per l'algoritmo di regressione di Ridge sul set di dati sull'insorgenza del diabete
from pandas import read_csv
import numpy
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
Y = array[:,8]
alphas = numpy.array([1,0.1,0.01,0.001,0.0001,0])
param_grid = dict(alpha=alphas)
model = Ridge()
grid = GridSearchCV(estimator=model, param_grid=param_grid, cv=3)
grid.fit(X, Y)
print(grid.best_score_)
print(grid.best_estimator_.alpha)
Questo sarà l'output:
Letture consigliate per approfondire la LEZIONE 11:
Lezione 12 corso gratis Python e Machine Learning:
Migliorare la precisione con le previsioni dell'ensemble
Un altro modo per migliorare le prestazioni dei tuoi modelli consiste nel combinare le previsioni di più modelli.
Alcuni modelli forniscono questa capacità integrata, come la foresta casuale per il bagging e l'aumento del gradiente stocastico per il boost. Un altro tipo di insieme chiamato votazione può essere utilizzato per combinare le previsioni di più modelli diversi insieme.
Nella lezione di oggi ti eserciterai con i metodi dell'insieme.
Esercitati a insaccare gli insiemi con gli algoritmi di foresta casuale e alberi.
Esercitati a potenziare gli insiemi con la macchina per aumentare il gradiente e gli algoritmi AdaBoost.
Esercitati con gli insiemi di voto combinando le previsioni di più modelli insieme.
Lo snippet seguente mostra come utilizzare l'algoritmo Random Forest (un insieme insaccato di alberi decisionali) sul set di dati sull'insorgenza del diabete
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
Y = array[:,8]
num_trees = 100
max_features = 3
kfold = KFold(n_splits=10)
model = RandomForestClassifier(n_estimators=num_trees, max_features=max_features)
results = cross_val_score(model, X, Y, cv=kfold)
print(results.mean())
Output:
Mancano le ultime due Lezioni, speriamo davvero che tu stia seguendo i nostri consigli e che hai iniziato il tuo progetto :)
Lezione 13 corso gratis Python e Machine Learning:
Finalizza e salva il tuo modello
Una volta trovato un modello ben funzionante sul tuo problema di machine learning, devi finalizzarlo.
Nella lezione di oggi eserciterai le attività relative alla finalizzazione del tuo modello.
Esercitati a fare previsioni con il tuo modello su nuovi dati (dati non visti durante l'addestramento e i test).
Esercitati a salvare i modelli addestrati su file e a caricarli di nuovo.
Ad esempio, lo snippet seguente mostra come creare un modello di regressione logistica, salvarlo su file, quindi caricarlo in un secondo momento ed effettuare previsioni su dati nuovi.
from pandas import read_csv
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
import pickle
url = "diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
Y = array[:,8]
test_size = 0.33
seed = 7
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)
# alleniamo il modello 75%
model = LogisticRegression(solver='liblinear')
model.fit(X_train, Y_train)
# salviamo il modello
filename = 'finalized_model.sav'
pickle.dump(model, open(filename, 'wb'))
# quando ti riservirà il moello...
# Carichiamo il modello
loaded_model = pickle.load(open(filename, 'rb'))
result = loaded_model.score(X_test, Y_test)
print(result)
Ecco il nostro output:
Letture consigliate per approfondire la LEZIONE 13:
Lezione 14 corso gratis Python e Machine Learning:
Progetto end-to-end Python e M.L.
Ora sai come completare ogni attività di un problema di machine learning di modellazione predittiva.
Nella lezione di oggi, devi esercitarti a mettere insieme i pezzi e lavorare con un set di dati di machine learning standard end-to-end.
Abbiamo deciso di metterti qui una cartella con i due dataset molto semplici usati nelle lezioni e tutti gli script che abbiamo visto in questo corso.
Ora però dovrai essere in grado di affrontare un progetto da zero.
Scegli un dataset qui' , scaricalo e esegui questi passaggi:
Comprendere i tuoi dati utilizzando statistiche e visualizzazioni descrittive.
Preelaborazione dei dati per esporre al meglio la struttura del problema.
Controllo a campione di una serie di algoritmi utilizzando il proprio cablaggio di prova.
Miglioramento dei risultati utilizzando l'ottimizzazione dei parametri dell'algoritmo.
Miglioramento dei risultati utilizzando metodi di ensemble.
Finalizzare il modello pronto per un uso futuro.
Prendilo senza fretta e registra i risultati lungo il percorso. NESSUNO TI DARA' UN VOTO, RICORDA IMPARIAMO PER NOI STESSI
Che modello hai usato? Che risultati hai ottenuto? Fateci sapere nei commenti.
FINE CORSO GRATIS MACHINE LEARNING E PYTHON! ( Guarda quanto sei arrivato lontano )
Ce l'hai fatta. Ben fatto!
Prenditi un momento e guarda indietro a quanto sei arrivato.
Hai iniziato con un interesse per l'apprendimento automatico e un forte desiderio di essere in grado di esercitarti e applicare l'apprendimento automatico utilizzando Python.
Hai scaricato, installato e avviato Python, forse per la prima volta e hai iniziato a familiarizzare con la sintassi del linguaggio.
Lentamente e costantemente nel corso di una serie di lezioni hai imparato come le attività standard di un progetto di machine learning di modellazione predittiva vengono mappate sulla piattaforma Python.
Basandosi sulle ricette per le comuni attività di machine learning, hai elaborato i tuoi primi problemi di machine learning end-to-end utilizzando Python.
Utilizzando un modello standard, le ricette e l'esperienza che hai raccolto ora sei in grado di lavorare da solo attraverso nuovi e diversi problemi di apprendimento automatico di modellazione predittiva.
Non prendertela alla leggera, hai fatto molta strada in poco tempo.
Questo è solo l'inizio del tuo viaggio di apprendimento automatico con Python. Continua a esercitarti e a sviluppare le tue abilità.
Scarica il corso Python e Machine learning come ebook PDF
Riepilogo corso gratis Python e Machine Learning
Come sei andato con il mini-corso? Ti è piaciuto questo mini-corso?
Avete domande? Ci sono stati dei punti critici? Fateci sapere. Lascia un commento qui sotto.
Comments