I migliori progetti di machine learning in Python per principianti [2022]

Pubblicato: 2021-01-03

Se vuoi diventare un professionista dell'apprendimento automatico, dovresti acquisire esperienza nell'utilizzo delle sue tecnologie. Il modo migliore per farlo è completare i progetti. Ecco perché in questo articolo condividiamo più progetti di machine learning in Python in modo che tu possa iniziare rapidamente a testare le tue abilità e acquisire una preziosa esperienza.

Tuttavia, prima di iniziare, assicurati di avere familiarità con l'apprendimento automatico e il suo algoritmo. Se non hai mai lavorato a un progetto prima, non preoccuparti perché abbiamo anche condiviso un tutorial dettagliato su un progetto:

Sommario

Il set di dati Iris: per i principianti

Il set di dati Iris è facilmente uno dei progetti di machine learning più popolari in Python. È relativamente piccolo, ma la sua semplicità e le dimensioni compatte lo rendono perfetto per i principianti. Se non hai lavorato su nessun progetto di machine learning in Python, dovresti iniziare con esso. Il set di dati Iris è una raccolta delle dimensioni del sepalo e dei petali dei fiori dell'Iris. Ha tre classi, con 50 istanze in ognuna di esse.

Abbiamo fornito un codice di esempio in vari punti, ma dovresti usarlo solo per capire come funziona. L'implementazione del codice senza capirlo fallirebbe nella premessa di realizzare il progetto. Quindi assicurati di comprendere bene il codice prima di implementarlo.

Passaggio 1: importa le librerie

Il primo passaggio di qualsiasi progetto di machine learning è l'importazione delle librerie. Uno dei motivi principali per cui Python è così versatile è a causa delle sue robuste librerie. Le librerie di cui avremo bisogno in questo progetto sono:

  • Panda
  • Matplotlib
  • Impara
  • SciPy
  • NumPy

Esistono più metodi per importare le librerie nel tuo sistema e dovresti usare un modo particolare per importare tutte le librerie. Garantirebbe coerenza e ti aiuterebbe a evitare qualsiasi confusione. Tieni presente che l'installazione varia in base al sistema operativo del tuo dispositivo, quindi tienilo a mente durante l'importazione delle librerie.

Codice:

# Carica librerie

da panda import read_csv

da pandas.plotting import scatter_matrix

da matplotlib import pyplot

da sklearn.model_selection import train_test_split

da sklearn.model_selection import cross_val_score

da sklearn.model_selection import StratifiedKFold

da sklearn.metrics import classificazione_report

da sklearn.metrics import confusion_matrix

da sklearn.metrics import precision_score

da sklearn.linear_model import LogisticRegression

da sklearn.tree import DecisionTreeClassifier

da sklearn.neighbors importa KNeighborsClassifier

da sklearn.discriminant_analysis import LinearDiscriminantAnalysis

da sklearn.naive_bayes importa GaussianNB

da sklearn.svm importa SVC

Leggi: I 10 migliori set di dati di Machine Learning Idee per progetti per principianti

Passaggio 2: carica il set di dati

Dopo aver importato le librerie, è il momento di caricare il set di dati. Come abbiamo discusso, utilizzeremo il set di dati Iris in questo progetto. Puoi scaricarlo da qui .

Assicurati di specificare i nomi di ogni colonna durante il caricamento dei dati e ti aiuterebbe più avanti nel progetto. Ti consigliamo di scaricare il set di dati, quindi anche in caso di problemi di connessione, il tuo progetto rimarrà inalterato.

Codice:

# Carica set di dati

url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nomi = ['lunghezza sepalo', 'larghezza sepalo', 'lunghezza petalo', 'larghezza petalo', 'classe']

set di dati = read_csv(url, nomi=nomi)

Passaggio 3: riepilogo

Prima di iniziare a utilizzare il set di dati, dobbiamo prima esaminare i dati presenti in esso. Inizieremo controllando la dimensione del set di dati, che ci mostra che il set di dati ha cinque attributi e 150 istanze.

Dopo aver verificato la dimensione, dovresti esaminare alcune righe e colonne del set di dati per darti un'idea generale del suo contenuto. Quindi dovresti guardare il riepilogo statistico del set di dati e vedere quali metriche sono le più prevalenti nello stesso.

Infine, dovresti controllare la distribuzione delle classi nel set di dati. Ciò significa che dovresti controllare quante istanze rientrano in ciascuna classe. Ecco il codice per riassumere il nostro set di dati:

# riepiloga i dati

da panda import read_csv

# Carica set di dati

url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nomi = ['lunghezza sepalo', 'larghezza sepalo', 'lunghezza petalo', 'larghezza petalo', 'classe']

set di dati = read_csv(url, nomi=nomi)

# forma

stampa(dataset.forma)

# testa

print(dataset.head(20))

# descrizioni

print(dataset.describe())

# distribuzione di classi

print(dataset.groupby('class').size())

Passaggio 4: visualizzare i dati

Dopo aver riassunto il set di dati, dovresti visualizzarlo per una migliore comprensione e analisi. È possibile utilizzare grafici univariati per analizzare ogni attributo in dettaglio e grafici multivariati per studiare le relazioni di ogni caratteristica. La visualizzazione dei dati è un aspetto cruciale dei progetti di apprendimento automatico in quanto aiuta a trovare le informazioni essenziali presenti all'interno del set di dati.

Passaggio 5: valutazione dell'algoritmo

Dopo aver visualizzato i dati, valuteremo diversi algoritmi per trovare il modello migliore per il nostro progetto. Innanzitutto, creeremo un set di dati di convalida che elimineremo da quello originale. Quindi utilizzeremo la convalida incrociata 10 volte e creeremo vari modelli. Come già discusso, miriamo a prevedere la specie attraverso le misurazioni dei fiori. Dovresti usare diversi tipi di algoritmi e scegliere quello che produce i risultati migliori. Puoi testare SVM (Support Vector Machines), KNN (K-Nearest Neighbors), LR (Logistic Regression) e altri.

Nella nostra implementazione, abbiamo riscontrato che SVM è il modello migliore. Ecco il codice:

da panda import read_csv

da matplotlib import pyplot

da sklearn.model_selection import train_test_split

da sklearn.model_selection import cross_val_score

da sklearn.model_selection import StratifiedKFold

da sklearn.linear_model import LogisticRegression

da sklearn.tree import DecisionTreeClassifier

da sklearn.neighbors importa KNeighborsClassifier

da sklearn.discriminant_analysis import LinearDiscriminantAnalysis

da sklearn.naive_bayes importa GaussianNB

da sklearn.svm importa SVC

# Carica set di dati

url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nomi = ['lunghezza sepalo', 'larghezza sepalo', 'lunghezza petalo', 'larghezza petalo', 'classe']

set di dati = read_csv(url, nomi=nomi)

# Set di dati di convalida suddiviso

matrice = set di dati.valori

X = matrice[:,0:4]

y = matrice[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1, shuffle=True)

# Algoritmi di controllo spot

modelli = []

models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))

models.append(('LDA', LinearDiscriminantAnalysis()))

models.append(('KNN', KNeighborsClassifier()))

models.append(('CART', DecisionTreeClassifier()))

models.append(('NB', GaussianNB()))

models.append(('SVM', SVC(gamma='auto'))))

# valutare ogni modello a turno

risultati = []

nomi = []

per nome, modello nei modelli:

kfold = StratificatoKFold(n_splits=10, random_state=1, shuffle=True)

cv_results = cross_val_score(modello, X_train, Y_train, cv=kfold, scoring='accuratezza')

results.append(cv_results)

nomi.append(nome)

print('%s: %f (%f)' % (nome, cv_results.mean(), cv_results.std()))

# Confronta algoritmi

pyplot.boxplot(risultati, etichette=nomi)

pyplot.title('Confronto algoritmi')

pyplot.show()

Passaggio 6: prevedere

Dopo aver valutato diversi algoritmi e aver scelto quello migliore, è il momento di prevedere i risultati. Utilizzeremo prima il nostro modello sul set di dati di convalida per verificarne l'accuratezza. Successivamente, lo testeremo sull'intero set di dati.

Ecco il codice per eseguire il nostro modello sul set di dati:

# fare previsioni

da panda import read_csv

da sklearn.model_selection import train_test_split

da sklearn.metrics import classificazione_report

da sklearn.metrics import confusion_matrix

da sklearn.metrics import precision_score

da sklearn.svm importa SVC

# Carica set di dati

url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”

nomi = ['lunghezza sepalo', 'larghezza sepalo', 'lunghezza petalo', 'larghezza petalo', 'classe']

set di dati = read_csv(url, nomi=nomi)

# Set di dati di convalida suddiviso

matrice = set di dati.valori

X = matrice[:,0:4]

y = matrice[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1)

# Fare previsioni sul set di dati di convalida

modello = SVC(gamma='auto')

model.fit(X_treno, Y_treno)

previsioni = model.predict(X_validation)

# Valuta le previsioni

print(punteggio_accuratezza(validazione_Y, previsioni))

print(confusion_matrix(Y_validation, forecasts))

print(classification_report(Y_validation, forecasts))

Questo è tutto. Ora hai completato un progetto di machine learning in Python usando il set di dati Iris.

Ulteriori progetti di Machine Learning in Python

Il set di dati Iris è principalmente per i principianti. Se hai una certa esperienza di lavoro su progetti di machine learning in Python, dovresti guardare i progetti seguenti:

1. Usa ML per prevedere i prezzi delle azioni

Un posto eccellente per applicare algoritmi di apprendimento automatico è il mercato azionario. Le aziende utilizzano algoritmi di intelligenza artificiale e tecnologie basate su ML per eseguire analisi tecniche da un po' di tempo ormai. Puoi anche creare un modello ML che prevede i prezzi delle azioni.

Tuttavia, per lavorare su questo progetto, dovrai utilizzare diverse tecniche, tra cui l'analisi di regressione, l'analisi predittiva, la modellazione statistica e l'analisi dell'azione. È possibile ottenere i dati necessari dai siti Web ufficiali delle borse valori. Condividono i dati sulle prestazioni passate delle azioni. Puoi usare quei dati per addestrare e testare il tuo modello.

Come principiante, puoi concentrarti su una particolare società e prevederne il valore delle azioni per tre mesi. Allo stesso modo, se vuoi rendere il progetto impegnativo, puoi utilizzare più aziende ed estendere le tempistiche di previsione.

Cosa imparerai da questo progetto:

Questo progetto ti farà familiarizzare con le applicazioni di AI e ML nel settore finanziario. Puoi anche studiare l'analisi predittiva attraverso questo progetto e provare diversi algoritmi.

2. Scrivi un algoritmo di apprendimento automatico da zero

Se sei un principiante e non hai lavorato a nessun progetto di machine learning in Python, puoi anche iniziare con questo. In questo progetto, devi creare un algoritmo ML da zero. Fare questo progetto ti aiuterà a comprendere tutte le basi delle funzioni dell'algoritmo, insegnandoti anche a convertire le formule matematiche in codice di apprendimento automatico.

Sapere come convertire concetti matematici in codice ML è fondamentale, poiché dovrai implementarlo molte volte in futuro. Man mano che affronterai problemi più avanzati, dovrai fare affidamento su questa abilità. Puoi scegliere qualsiasi algoritmo in base alla tua familiarità con i suoi concetti. Sarebbe meglio iniziare con un semplice algoritmo se non hai esperienza.

Cosa imparerai da questo progetto:

Acquisterai familiarità con i concetti matematici dell'intelligenza artificiale e dell'apprendimento automatico.

3. Crea un lettore di grafia

Questo è un progetto di visione artificiale. La visione artificiale è il settore dell'intelligenza artificiale legato all'analisi delle immagini. In questo progetto creerai un modello ML in grado di leggere la scrittura a mano. Leggere significa che il modello dovrebbe essere in grado di riconoscere ciò che è scritto sulla carta. Dovresti usare una rete neurale in questo progetto per avere familiarità con il deep learning e i suoi concetti rilevanti.

Dovrai prima pre-elaborare l'immagine e rimuovere le sezioni non necessarie; in altre parole, eseguire la pulizia dei dati sull'immagine per chiarezza. Successivamente, dovrai eseguire la segmentazione e il ridimensionamento dell'immagine in modo che l'algoritmo possa leggere correttamente i caratteri. Dopo aver completato la pre-elaborazione e la segmentazione, puoi passare al passaggio successivo, la classificazione. Un algoritmo di classificazione distinguerà i caratteri presenti nel testo e li collocherà nelle rispettive categorie.

Puoi utilizzare l'attivazione del sigmoid log per addestrare il tuo algoritmo ML per questo progetto.

Cosa imparerai da questo progetto:

Potrai studiare la visione artificiale e le reti neurali. Il completamento di questo progetto ti consentirà anche di familiarizzare con il riconoscimento e l'analisi delle immagini.

4. Un predittore delle vendite

Il settore della vendita al dettaglio ha molte applicazioni per l'intelligenza artificiale e l'apprendimento automatico. In questo progetto scoprirai una di queste applicazioni, ovvero la previsione delle vendite di prodotti.

Un set di dati prevalente tra gli appassionati di apprendimento automatico è il set di dati di vendita di BigMart. Ha più di 1559 prodotti distribuiti nei suoi vari punti vendita in 10 città. È possibile utilizzare il set di dati per creare un modello di regressione. Secondo i punti vendita, il tuo modello deve prevedere le potenziali vendite di prodotti particolari nel prossimo anno. Questo set di dati ha attributi specifici per ogni punto vendita e prodotto per comprendere rapidamente le loro proprietà e la relazione tra i due.

Cosa imparerai da questo progetto:

Lavorare su questo progetto ti farà familiarizzare con i modelli di regressione e l'analisi predittiva. Imparerai anche le applicazioni del machine learning nel settore della vendita al dettaglio.

Ulteriori informazioni su Machine Learning e Python

Ci auguriamo che tu abbia trovato utile questo elenco di progetti di apprendimento automatico in Python. Se hai domande o pensieri, faccelo sapere attraverso la sezione commenti. Ci piacerebbe rispondere alle tue domande.

Impara i corsi di scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Ecco alcune risorse aggiuntive per studiare l'apprendimento automatico e Python.

  • Esercitazione Python
  • Apprendimento automatico vs. Apprendimento approfondito
  • Applicazioni di apprendimento automatico

D'altra parte, se vuoi ottenere un'esperienza di apprendimento più personalizzata, puoi seguire un corso di intelligenza artificiale e machine learning. Imparerai dagli esperti del settore attraverso video, compiti e progetti.

L'apprendimento automatico è una buona scelta professionale?

Se sei appassionato di tecnologie emergenti e notizie correlate, devi già aver sentito parlare della quarta rivoluzione industriale causata dalla tecnologia di apprendimento automatico. Secondo i rapporti, il mercato globale dell'apprendimento automatico dovrebbe raggiungere un valore di 543 miliardi di INR entro il 2023. Tuttavia, il divario nella domanda e nell'offerta di professionisti esperti dell'apprendimento automatico è aumentato fino a quasi il 125%. Ciò indica che per un professionista dell'apprendimento automatico con la giusta combinazione di competenze, il mercato del lavoro mantiene molte promesse. Che tu aspiri a diventare un ingegnere di apprendimento automatico, un ingegnere ricercatore o uno scienziato ricercatore, sarà senza dubbio una carriera arricchente per te.

Una borsa più fresca può svolgere un lavoro di apprendimento automatico?

Anche se la maggior parte dei lavori di machine learning oggi richiedono professionisti esperti, anche le opzioni per le matricole stanno aumentando, a causa dell'enorme richiesta del mercato. Può essere difficile per i principianti, ma non è certo impossibile ottenere un lavoro di machine learning. Se riesci a padroneggiare le abilità richieste, pianificare come esibirti bene e imparare rapidamente dai giocatori esperti sul campo, puoi anche aggiudicarti il ​​lavoro dei sogni. Puoi prendere in considerazione opzioni come ottenere certificazioni pertinenti per aggiungere più valore, iscriverti a corsi di machine learning su piattaforme affidabili, provare alcuni progetti pratici, seguire le ultime notizie e tendenze tecnologiche e unirti alle comunità online.

Quanto guadagna un ingegnere di machine learning?

Lo stipendio medio prelevato da un ingegnere di apprendimento automatico in India è di circa INR 8,2 lakh all'anno, secondo i dati di glassdoor.in. Ora, il reddito medio dipende da diversi fattori come competenze, certificazioni, esperienza, posizione e altro ancora. Ma con più esperienza lavorativa, puoi aspettarti di aumentare i tuoi guadagni. Ad esempio, gli ingegneri senior dell'apprendimento automatico possono guadagnare in media tra 13 e 15 lakh di INR.