top of page

Introduzione a Scikit Learn con esempio pratico in Python


Se sei un programmatore Python o stai cercando una libreria robusta che puoi usare per portare l'apprendimento automatico in un sistema di produzione, allora una libreria che vorrai considerare seriamente è scikit-learn.


In questo post avrai una panoramica della libreria scikit-learn e utili riferimenti su dove puoi saperne di più.



Introduzione a Scikit Learn con esempi pratici in Python
Introduzione a Scikit Learn con esempi pratici in Python


Dove nasce Scikit-Learn ?

Scikit-learn è stato inizialmente sviluppato da David Cournapeau come progetto di Google Summer of Code nel 2007.


Successivamente Matthieu Brucher si è unito al progetto e ha iniziato a usarlo come parte del suo lavoro di tesi. Nel 2010 è stata coinvolta INRIA e la prima versione pubblica (v0.1 beta) è stata pubblicata a fine gennaio 2010.


Il progetto ha ora più di 30 contributori attivi e ha ricevuto sponsorizzazioni da INRIA , Google, Tinyclues e Python Software Foundation .



Cos'è scikit-learn?

Scikit-learn è una libreria che fornisce una gamma di algoritmi di apprendimento supervisionati e non supervisionati tramite un'interfaccia python.

È concesso in licenza con una licenza BSD semplificata permissiva ed è distribuito sotto molte distribuzioni Linux, incoraggiando l'uso accademico e commerciale.

La libreria è basata su SciPy (Scientific Python) che deve essere installata prima di poter usare scikit-learn. Questa librerie si appoggia anche su:

  • NumPy : pacchetto di matrice n-dimensionale di base

  • SciPy : Libreria fondamentale per il calcolo scientifico

  • Matplotlib : grafica 2D/3D completa

  • IPython : Console interattiva migliorata

  • Sympy : matematica simbolica

  • Pandas : Strutture e analisi dei dati

Estensioni o moduli per SciPy sono convenzionalmente denominati SciKits . In quanto tale, il modulo fornisce algoritmi di apprendimento ed è denominato scikit-learn.


La visione per la libreria è un livello di robustezza e supporto richiesto per l'uso nei sistemi di produzione. Ciò significa una profonda attenzione a questioni quali facilità d'uso, qualità del codice, collaborazione, documentazione e prestazioni.


Sebbene l'interfaccia sia Python, le librerie C fanno leva per prestazioni come numpy per operazioni di array e matrici, LAPACK , LibSVM e l'uso attento di cython.


Quali sono le caratteristiche di scikit-learn?

La libreria è focalizzata sulla modellazione dei dati. Non si concentra sul caricamento, la manipolazione e il riepilogo dei dati. Per queste funzionalità, fare riferimento a NumPy e Pandas.


Alcuni gruppi popolari di modelli forniti da scikit-learn includono:

  • Clustering : per raggruppare dati senza etichetta come KMeans.

  • Cross Validation : per stimare la performance di modelli supervisionati su dati invisibili.

  • Set di dati : per testare set di dati e per generare set di dati con proprietà specifiche per l'analisi del comportamento del modello.

  • Riduzione dimensionale : per ridurre il numero di attributi nei dati per il riepilogo, la visualizzazione e la selezione di funzionalità come l'analisi dei componenti principali.

  • Metodi di insieme : per combinare le previsioni di più modelli supervisionati.

  • Estrazione delle caratteristiche : per definire gli attributi in immagini e dati di testo.

  • Selezione delle funzioni : per identificare attributi significativi da cui creare modelli supervisionati.

  • Regolazione dei parametri : per ottenere il massimo dai modelli supervisionati.

  • Apprendimento multidimensionale: per riassumere e rappresentare dati multidimensionali complessi.

  • Modelli supervisionati : una vasta gamma non limitata a modelli lineari generalizzati, analisi discriminate, baye ingenue, metodi pigri, reti neurali, macchine vettoriali di supporto e alberi decisionali.


Esempio: Classificazione e alberi di regressione

Vogliamo farti un esempio per mostrarti quanto sia facile usare la libreria.

In questo esempio, utilizziamo l'algoritmo dell'albero decisionale Classification and Regression Trees (CART) per modellare il set di dati dei fiori Iris.

Questo set di dati viene fornito come set di dati di esempio con la libreria e viene caricato. Il classificatore si adatta ai dati e quindi vengono effettuate previsioni sui dati di addestramento.

Infine, viene stampata l'accuratezza della classificazione e una matrice di confusione .



# Semplice esempio di Decision Tree Classifier
from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
# Carichiamo il dataset iris
dataset = datasets.load_iris()
# creiamo e alleniamo il modello
model = DecisionTreeClassifier()
model.fit(dataset.data, dataset.target)
print(model)
# Facciamo le nostre previsioni
expected = dataset.target
predicted = model.predict(dataset.data)
# Riassumiamo le performance del modello
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

#Ti consigliamo di provarlo è molto divertente




L'esecuzione di questo esempio produce l'output seguente, che mostra i dettagli del modello addestrato, l'abilità del modello in base ad alcune metriche comuni e una matrice di confusione.



DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
            max_features=None, max_leaf_nodes=None, min_samples_leaf=1,
            min_samples_split=2, min_weight_fraction_leaf=0.0,
            presort=False, random_state=None, splitter='best')
            
       
             precision    recall  f1-score   support
 
          0       1.00      1.00      1.00        50
          1       1.00      1.00      1.00        50
          2       1.00      1.00      1.00        50
 
avg / total       1.00      1.00      1.00       150
 
[[50  0  0]
 [ 0 50  0]
 [ 0  0 50]]


Chi usa scikit-learn?

La pagina delle testimonianze di scikit-learn elenca Inria, Mendeley, wise.io, Evernote, Telecom ParisTech e AWeber come utenti della libreria.


Se questa è una piccola indicazione delle aziende che hanno presentato informazioni sul loro utilizzo, è molto probabile che ci siano decine o centinaia di organizzazioni più grandi che utilizzano la libreria.


Ha una buona copertura di test e versioni gestite ed è adatto sia per prototipi che per progetti di produzione.


Risorse utili per scikit-learn

Se sei interessato a saperne di più, controlla la homepage di Scikit-Learn che include documentazione e risorse correlate.


Puoi ottenere il codice dal repository github e le versioni sono storicamente disponibili sul progetto Sourceforge .


Documentazione

Ti consiglio di iniziare con il tutorial di avvio rapido e di sfogliare la guida per l'utente e la galleria di esempi per gli algoritmi che ti interessano.

In definitiva, scikit-learn è una libreria e il riferimento API sarà la migliore documentazione per portare a termine le cose.

  • Tutorial di installazione-> http://scikit-learn.org/stable/tutorial/basic/tutorial.html

  • Guida per l'utente-> http://scikit-learn.org/stable/user_guide.html

  • Riferimento API-> http://scikit-learn.org/stable/modules/classes.html

  • Galleria di esempi-> http://scikit-learn.org/stable/auto_examples/index.html


Condividi o Commenta l'Articolo per sostenerci

PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page