Scikit Learn - Introduzione
In questo capitolo, capiremo cos'è Scikit-Learn o Sklearn, l'origine di Scikit-Learn e alcuni altri argomenti correlati come le comunità e i contributori responsabili dello sviluppo e della manutenzione di Scikit-Learn, i suoi prerequisiti, l'installazione e le sue caratteristiche.
Cos'è Scikit-Learn (Sklearn)
Scikit-learn (Sklearn) è la libreria più utile e robusta per l'apprendimento automatico in Python. Fornisce una selezione di strumenti efficienti per l'apprendimento automatico e la modellazione statistica tra cui classificazione, regressione, clustering e riduzione della dimensionalità tramite un'interfaccia di coerenza in Python. Questa libreria, che è in gran parte scritta in Python, è costruita suNumPy, SciPy e Matplotlib.
Origine di Scikit-Learn
In origine si chiamava scikits.learn ed è stato inizialmente sviluppato da David Cournapeau come progetto Google Summer of Code nel 2007. Successivamente, nel 2010, Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort e Vincent Michel, del FIRCA (Istituto francese di ricerca in informatica e automazione), hanno questo progetto a un altro livello e ha reso la prima versione pubblica (v0.1 beta) il 1 ° febbraio 2010.
Diamo un'occhiata alla sua cronologia delle versioni:
Maggio 2019: scikit-learn 0.21.0
Marzo 2019: scikit-learn 0.20.3
Dicembre 2018: scikit-learn 0.20.2
Novembre 2018: scikit-learn 0.20.1
Settembre 2018: scikit-learn 0.20.0
Luglio 2018: scikit-learn 0.19.2
Luglio 2017: scikit-learn 0.19.0
Settembre 2016. scikit-learn 0.18.0
Novembre 2015. scikit-learn 0.17.0
Marzo 2015. scikit-learn 0.16.0
Luglio 2014. scikit-learn 0.15.0
Agosto 2013. scikit-learn 0.14
Comunità e collaboratori
Scikit-learn è uno sforzo della comunità e chiunque può contribuirvi. Questo progetto è ospitato suhttps://github.com/scikit-learn/scikit-learn. Le persone che seguono sono attualmente i principali contributori allo sviluppo e alla manutenzione di Sklearn -
Joris Van den Bossche (Data Scientist)
Thomas J Fan (Sviluppatore software)
Alexandre Gramfort (ricercatore in machine learning)
Olivier Grisel (esperto di machine learning)
Nicolas Hug (ricercatore associato)
Andreas Mueller (scienziato dell'apprendimento automatico)
Hanmin Qin (ingegnere del software)
Adrin Jalali (Sviluppatore Open Source)
Nelle Varoquaux (Data Science Researcher)
Roman Yurchak (Data Scientist)
Diverse organizzazioni come Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify e molte altre stanno utilizzando Sklearn.
Prerequisiti
Prima di iniziare a utilizzare l'ultima versione di scikit-learn, è necessario quanto segue:
Python (> = 3.5)
NumPy (> = 1.11.0)
Scipy (> = 0,17,0) li
Joblib (> = 0,11)
Matplotlib (> = 1.5.1) è richiesto per le funzionalità di plottaggio di Sklearn.
Pandas (> = 0.18.0) è richiesto per alcuni degli esempi di scikit-learn utilizzando la struttura e l'analisi dei dati.
Installazione
Se hai già installato NumPy e Scipy, di seguito sono riportati i due modi più semplici per installare scikit-learn:
Utilizzando pip
Il seguente comando può essere utilizzato per installare scikit-learn tramite pip -
pip install -U scikit-learn
Utilizzando conda
Il seguente comando può essere utilizzato per installare scikit-learn tramite conda -
conda install scikit-learn
D'altra parte, se NumPy e Scipy non sono ancora installati sulla tua workstation Python, puoi installarli utilizzando uno dei due pip o conda.
Un'altra opzione per usare scikit-learn è usare distribuzioni Python come Canopy e Anaconda perché entrambi forniscono l'ultima versione di scikit-learn.
Caratteristiche
Piuttosto che concentrarsi sul caricamento, la manipolazione e il riepilogo dei dati, la libreria Scikit-learn si concentra sulla modellazione dei dati. Alcuni dei gruppi di modelli più popolari forniti da Sklearn sono i seguenti:
Supervised Learning algorithms - Quasi tutti i più diffusi algoritmi di apprendimento supervisionato, come la regressione lineare, la Support Vector Machine (SVM), l'albero decisionale ecc.
Unsupervised Learning algorithms - D'altra parte, ha anche tutti i popolari algoritmi di apprendimento non supervisionato dal clustering, analisi fattoriale, PCA (analisi dei componenti principali) alle reti neurali non supervisionate.
Clustering - Questo modello viene utilizzato per raggruppare i dati senza etichetta.
Cross Validation - Viene utilizzato per verificare l'accuratezza dei modelli supervisionati su dati non visualizzati.
Dimensionality Reduction - Viene utilizzato per ridurre il numero di attributi nei dati che possono essere ulteriormente utilizzati per il riepilogo, la visualizzazione e la selezione delle caratteristiche.
Ensemble methods - Come suggerisce il nome, viene utilizzato per combinare le previsioni di più modelli supervisionati.
Feature extraction - Viene utilizzato per estrarre le caratteristiche dai dati per definire gli attributi nei dati di immagine e testo.
Feature selection - Viene utilizzato per identificare attributi utili per creare modelli supervisionati.
Open Source - È una libreria open source e utilizzabile anche commercialmente con licenza BSD.