Sommario[Nascondere][Spettacolo]
Se sei un programmatore Python o se stai cercando un potente toolkit da utilizzare per introdurre l'apprendimento automatico in un sistema di produzione, Scikit-learn è una libreria che devi controllare.
Scikit-learn è ben documentato e semplice da usare, indipendentemente dal fatto che tu sia un principiante dell'apprendimento automatico, desideri iniziare a funzionare rapidamente o utilizzare lo strumento di ricerca ML più aggiornato.
Ti consente di costruire un modello di dati predittivo in poche righe di codice e quindi utilizza quel modello per adattarlo ai tuoi dati come libreria di alto livello. È flessibile e funziona bene con altri Librerie Python come Matplotlib per la creazione di grafici, NumPy per la vettorizzazione di array e Panda per la visualizzazione dei dati.
In questa guida, scoprirai tutto su cos'è, come puoi usarlo, insieme ai suoi pro e contro.
Che cosa è l' Scikit-learn?
Scikit-learn (noto anche come sklearn) offre un insieme diversificato di modelli statistici e apprendimento automatico. A differenza della maggior parte dei moduli, sklearn è sviluppato in Python anziché in C. Nonostante sia stato sviluppato in Python, l'efficienza di sklearn è attribuita all'uso di NumPy per operazioni di algebra lineare e array ad alte prestazioni.
Scikit-Learn è stato creato come parte del progetto Summer of Code di Google e da allora ha semplificato la vita di milioni di data scientist incentrati su Python in tutto il mondo. Questa sezione della serie si concentra sulla presentazione della libreria e su un elemento: le trasformazioni del set di dati, che sono un passaggio chiave e vitale da compiere prima di sviluppare un modello di previsione.
La libreria è basata su SciPy (Scientific Python), che deve essere installato prima di poter usare scikit-learn. Questa pila contiene i seguenti elementi:
- NumPy: pacchetto array n-dimensionale standard di Python
- SciPy: È un pacchetto fondamentale per il calcolo scientifico
- Panda: strutture dati e analisi
- Matplotlib: è una potente libreria di plottaggio 2D/3D
- Sympy: matematica simbolica
- IPython: console interattiva migliorata
Applicazioni della libreria Scikit-learn
Scikit-learn è un pacchetto Python open source con sofisticate funzionalità di analisi dei dati e mining. Viene fornito con una miriade di algoritmi integrati per aiutarti a ottenere il massimo dai tuoi progetti di data science. La libreria Scikit-learn viene utilizzata nei seguenti modi.
1. Regressione
L'analisi di regressione è una tecnica statistica per analizzare e comprendere la connessione tra due o più variabili. Il metodo utilizzato per eseguire l'analisi di regressione aiuta a determinare quali elementi sono rilevanti, quali possono essere ignorati e come interagiscono. Le tecniche di regressione, ad esempio, possono essere utilizzate per comprendere meglio il comportamento dei prezzi delle azioni.
Gli algoritmi di regressione includono:
- Regressione lineare
- Regressione della cresta
- Regressione al lazo
- Regressione dell'albero decisionale
- Foresta casuale
- Supporta macchine vettoriali (SVM)
2. Classificazione
Il metodo di classificazione è un approccio di apprendimento supervisionato che utilizza i dati di formazione per identificare la categoria delle nuove osservazioni. Un algoritmo in Classificazione impara da un dato dataset o osservazioni e quindi classifica le osservazioni aggiuntive in una delle tante classi o raggruppamenti. Possono, ad esempio, essere utilizzati per classificare le comunicazioni e-mail come spam o meno.
Gli algoritmi di classificazione includono quanto segue:
- Regressione logistica
- K-vicini più vicini
- Supporta la macchina vettoriale
- Albero decisionale
- Foresta casuale
3. Raggruppamento
Gli algoritmi di clustering in Scikit-learn vengono utilizzati per disporre automaticamente i dati con proprietà simili in insiemi. Il raggruppamento è il processo di raggruppamento di un insieme di elementi in modo che quelli nello stesso gruppo siano più simili a quelli negli altri gruppi. I dati dei clienti, ad esempio, potrebbero essere separati in base alla loro posizione.
Gli algoritmi di clustering includono quanto segue:
- SCANSIONE DB
- K-Mezzi
- Mini-batch K-Mean
- Clustering spettrale
4. Selezione del modello
Gli algoritmi di selezione dei modelli forniscono metodi per confrontare, convalidare e selezionare i parametri e i modelli ottimali da utilizzare nelle iniziative di scienza dei dati. Dati i dati, la selezione del modello è il problema di scegliere un modello statistico da un gruppo di modelli candidati. Nelle circostanze più elementari, viene presa in considerazione una raccolta di dati preesistente. Tuttavia, il compito può includere anche la progettazione di esperimenti in modo che i dati acquisiti siano adatti al problema di selezione del modello.
I moduli di selezione del modello che possono migliorare la precisione regolando i parametri includono:
- Convalida incrociata
- Grid Search
- Metrica
5. Riduzione della dimensionalità
Il trasferimento di dati da uno spazio ad alta dimensione a uno spazio a bassa dimensione in modo che la rappresentazione a bassa dimensione conservi alcuni aspetti significativi dei dati originali, idealmente vicino alla sua dimensione intrinseca, è noto come riduzione della dimensionalità. Il numero di variabili casuali per l'analisi si riduce quando si riduce la dimensionalità. I dati esterni, ad esempio, potrebbero non essere considerati per migliorare l'efficienza delle visualizzazioni.
L'algoritmo di riduzione della dimensionalità include quanto segue:
- Selezione delle funzionalità
- Analisi dei componenti principali (PCA)
Installazione di Scikit-learn
NumPy, SciPy, Matplotlib, IPython, Sympy e Pandas devono essere installati prima di utilizzare Scikit-learn. Installiamoli usando pip dalla console (funziona solo per Windows).
Installiamo Scikit-learn ora che abbiamo installato le librerie richieste.
Caratteristiche
Scikit-learn, noto anche come sklearn, è un toolkit Python per l'implementazione di modelli di machine learning e modelli statistici. Possiamo usarlo per creare più modelli di machine learning per la regressione, la classificazione e il clustering, nonché strumenti statistici per valutare questi modelli. Include anche la riduzione della dimensionalità, la selezione delle caratteristiche, l'estrazione delle caratteristiche, gli approcci dell'insieme e i set di dati integrati. Indagheremo ciascuna di queste qualità una alla volta.
1. Importazione di set di dati
Scikit-learn include una serie di set di dati predefiniti, come il set di dati iris, il set di dati sul prezzo delle case, il set di dati titanic e così via. I principali vantaggi di questi set di dati sono che sono semplici da comprendere e possono essere utilizzati per sviluppare immediatamente modelli ML. Questi set di dati sono appropriati per i principianti. Allo stesso modo, puoi utilizzare sklearn per importare set di dati aggiuntivi. Allo stesso modo, puoi usarlo per importare set di dati aggiuntivi.
2. Divisione del set di dati per la formazione e il test
Sklearn includeva la possibilità di dividere il set di dati in segmenti di addestramento e test. La suddivisione del set di dati è necessaria per una valutazione imparziale delle prestazioni di previsione. Possiamo specificare la quantità dei nostri dati da includere nei set di dati del treno e dei test. Abbiamo diviso il set di dati utilizzando la suddivisione del test del treno in modo tale che il set di treni comprenda l'80% dei dati e il set di test abbia il 20%. Il dataset può essere suddiviso come segue:
3. Regressione lineare
La regressione lineare è una tecnica di apprendimento automatico basata sull'apprendimento supervisionato. Svolge un lavoro di regressione. Sulla base di variabili indipendenti, la regressione modella un valore di previsione dell'obiettivo. Viene utilizzato principalmente per determinare il collegamento tra variabili e previsione. Diversi modelli di regressione differiscono per il tipo di connessione che valutano tra variabili dipendenti e indipendenti, nonché per il numero di variabili indipendenti utilizzate. Possiamo semplicemente creare il modello di regressione lineare usando sklearn come segue:
4. Regressione logistica
Un approccio di categorizzazione comune è la regressione logistica. È nella stessa famiglia della regressione polinomiale e lineare e appartiene alla famiglia dei classificatori lineari. I risultati della regressione logistica sono semplici da comprendere e veloci da calcolare. Allo stesso modo della regressione lineare, la regressione logistica è una tecnica di regressione supervisionata. La variabile di output è categoriale, quindi questa è l'unica differenza. Può determinare se un paziente ha o meno una malattia cardiaca.
Vari problemi di classificazione, come il rilevamento dello spam, possono essere risolti utilizzando la regressione logistica. La previsione del diabete, la determinazione se un consumatore acquisterà un prodotto specifico o passerà a un concorrente, la determinazione se un utente farà clic su uno specifico collegamento di marketing e molti altri scenari sono solo alcuni esempi.
5. Albero decisionale
La tecnica di classificazione e previsione più potente e ampiamente utilizzata è l'albero decisionale. Un albero decisionale è una struttura ad albero che assomiglia a un diagramma di flusso, con ogni nodo interno che rappresenta un test su un attributo, ogni ramo che rappresenta la conclusione del test e ogni nodo foglia (nodo terminale) con un'etichetta di classe.
Quando le variabili dipendenti non hanno una relazione lineare con le variabili indipendenti, cioè quando la regressione lineare non produce risultati corretti, gli alberi decisionali sono utili. L'oggetto DecisionTreeRegression() può essere utilizzato in modo simile per utilizzare un albero decisionale per la regressione.
6. Foresta casuale
Una foresta casuale è a machine learning approccio per risolvere i problemi di regressione e classificazione. Fa uso dell'apprendimento d'insieme, che è una tecnica che combina più classificatori per risolvere problemi complicati. Un metodo foresta casuale è costituito da un gran numero di alberi decisionali. Può essere utilizzato per classificare le domande di prestito, rilevare comportamenti fraudolenti e anticipare focolai di malattie.
7. Matrice di confusione
Una matrice di confusione è una tabella utilizzata per descrivere le prestazioni del modello di classificazione. Le seguenti quattro parole sono usate per esaminare la matrice di confusione:
- Vero positivo: significa che il modello prevedeva un esito favorevole ed era corretto.
- Vero negativo: significa che il modello prevedeva un risultato negativo ed era corretto.
- Falso positivo: significa che il modello si aspettava un esito favorevole ma in realtà era negativo.
- Falso negativo: significa che il modello si aspettava un risultato negativo, mentre il risultato era davvero positivo.
Implementazione della matrice di confusione:
Vantaggi
- È semplice da usare.
- Il pacchetto Scikit-learn è estremamente adattabile e utile e serve obiettivi del mondo reale come la previsione del comportamento dei consumatori, lo sviluppo di neuroimmagini e così via.
- Gli utenti che desiderano connettere gli algoritmi con le loro piattaforme troveranno la documentazione API dettagliata sul sito Web Scikit-learn.
- Numerosi autori, collaboratori e una vasta comunità online mondiale supportano e mantengono aggiornato Scikit-learn.
Svantaggi
- Non è l'opzione ideale per uno studio approfondito.
Conclusione
Scikit-learn è un pacchetto fondamentale per ogni data scientist con cui avere una solida conoscenza e una certa esperienza. Questa guida dovrebbe aiutarti con la manipolazione dei dati utilizzando sklearn. Ci sono molte altre funzionalità di Scikit-learn che scoprirai man mano che avanzi nella tua avventura di scienza dei dati. Condividi i tuoi pensieri nei commenti.
Lascia un Commento