Tutorial Scikit Impart

Tutorial Scikit Impart
“Scikit apprenderà è la libreria robusta più utilizzata che viene presentata da Python. Scikit Learn fornisce uno strumento efficiente per gli algoritmi di apprendimento automatico (apprendimento supervisionato, non supervisionato e di rinforzo) e modellazione statistica. Alcune principali funzionalità di Sci-Kit imparano a includere la classificazione, la regressione, il clustering e l'analisi dei componenti principali, i.e., Riduzione della dimensionalità. Schikit si occupa anche delle macchine vettoriali di supporto, delle discese per il gradiente e delle foreste casuali (classificatori degli alberi) che aiutano a raggiungere i risultati. Scikit Learn è costruito sulle biblioteche più familiari di Python, come Numpy, Matplotlib e Scipy."

Procedura

In questo tutorial, impareremo a conoscere la Biblioteca di Python e come possiamo usare questa libreria per sviluppare vari algoritmi di apprendimento automatico. Questa guida includerà i seguenti contenuti che verranno discussi uno per uno con una spiegazione dettagliata:

  • Installazione
  • Trama grafico
  • Vari set di dati e le loro utility in Scikit apprendono
  • Selezione delle caratteristiche
  • Formazione di un modello di apprendimento automatico

Passaggio 01: installazione

Prima di iniziare con Scikit Learn, dobbiamo prima installare il suo pacchetto dai repository di Python. Per fare ciò, dobbiamo scaricare e installare Python (l'ultima versione o qualsiasi). Per scaricare il Python sul tuo sistema, vai al link i.e.

“Https: // www. Pitone .org ". Una volta reindirizzato a questo URL, vai ai download e fai clic sul Python con qualsiasi versione che desideri scaricare come di seguito:

Dopo aver scaricato il Python, ora dobbiamo installarlo. Seleziona l'opzione di installazione personalizzata dopo aver aggiunto il Python al percorso.

Controlla tutte le opzioni sulla finestra di scoppio per installare i pacchetti di PIP con Python e continuare e selezionare Avanti.

Il prossimo passo sarà specificare la posizione per i pacchetti Python, controllare tutte le opzioni avanzate fornite e specificare la posizione e fare clic su Installa; Questo inizierà quindi il processo di installazione che continuerà per un po '.

Ora Python viene installato sui nostri sistemi. Per aprire il tipo di shell Python, inserisci Python nel menu di ricerca e premi Invio. Il guscio di Python si aprirà quindi. Ora andremo avanti per installare Scikit Learn su Python. Per questo, apri il prompt dei comandi e digita Python per verificare se il Python è in esecuzione sul sistema o no. Se il sistema restituisce la versione di Python, ciò significa che il Python è in esecuzione correttamente. Quindi dobbiamo controllare la versione di PIP in modo da aggiornare i pacchetti PIP:

$ Python
$ PIP -VERSION

Dopo aver controllato sia le versioni Python che PIP, ora digita il seguente comando sul prompt dei comandi per installare Scikit Learn su Python.

$ PIP Installa Schikit Impara

Dopo questo, lo Scikit con tutti i suoi pacchetti inizierà a installare.

Ora Scikit Learn è stato installato nel nostro sistema e ora possiamo utilizzare i pacchetti Scikit per sviluppare qualsiasi algoritmo di apprendimento automatico. Dopo l'installazione riuscita di Scikit, ora andremo avanti al passaggio successivo, dove sapremo come tracciare i grafici dei dati utilizzando Scikit Learn.

Passaggio 02: trama grafico

I grafici sono noti come strumenti visivi che aiutano a visualizzare le informazioni fornite se i dati nei set di dati sono troppo numerosi o abbastanza complicati da descrivere. I grafici sottolineano che rappresentano la relazione tra una o molte variabili. Per lavorare con gli algoritmi di apprendimento automatico, dobbiamo conoscere la rappresentazione dei dati per l'analisi dei dati per formare e testare i dati di conseguenza. Scikit Learn fornisce molti pacchetti di visualizzazione (in forma grafica) per i vari set di dati.

Esempio# 01

La visualizzazione dei dati sotto forma di un grafico può essere ottenuta utilizzando il pacchetto matplotlib. Matplotlib è un pacchetto Python che contribuisce come la base di Sci-kit impara i pacchetti. Scikit Learn si integra con il matplotlib per la trama (rappresentazione visiva dei dati o i risultati ottenuti dopo l'addestramento e il test dei dati negli algoritmi di apprendimento automatico). Proviamo ad implementare un esempio usando matplotlib.

Supponiamo di voler tracciare alcuni numeri casuali per visualizzare la loro relazione reciproca. Possiamo prendere questi numeri a caso, E.G., 0.5, 1.5, 2.5. Per scrivere il codice, importeremo la libreria Matplotlib dai pacchetti Python come PLT. Dopo questo passaggio, ora possiamo usare PLT invece di scrivere matplotlib nell'intero codice. Quindi usando questo PLT, scriveremo un comando per tracciare i numeri che abbiamo già selezionato a caso usando la funzione "PLT. trama ("numeri selezionati") ". Per visualizzare questi numeri sul grafico nell'output, useremo la funzione "PLT. spettacolo()". Il codice può essere creato in modo successivo:

$ import matplotlib. Pyplot come Plt
$ PLT. Trama ([0.5, 1.5, 2.5])
$ PLT. spettacolo()

I numeri verranno quindi visualizzati nell'uscita sul grafico:

Esempio# 02

Se vogliamo tracciare i dati sotto forma di un diagramma a dispersione, allora possiamo usare la funzione "Scatter. complotto ()". Il diagramma a dispersione rappresenta i dati sotto forma dei punti dati dei punti. Questi grafici funzionano su due o più due variabili. Ogni punto o punto dati sul grafico rappresenta i due valori diversi (ciascuno sull'asse X e l'asse Y) corrispondente a un punto dati in un set di dati.

Nell'esempio successivo, tracceremo un diagramma a dispersione. Per fare ciò, importeremo il matplotlib Pyplot come PLT. Questo PLT può quindi essere utilizzato al posto di Matplotlib. Pyplot. Dopo questo, definiremo le due variabili xey come x = 1, 3, 5, 7 e y = 2, 4, 6, 8. Per il diagramma a dispersione, la dimensione di X e Y deve essere abbinata. Per tracciare entrambe le variabili, useremo la funzione PLT. SPIRESS ("variabile 1, variabile 2"). Per visualizzare queste variabili sul grafico, utilizzare la funzione PLT. spettacolo ().

$ import matplotlib. Pyplot come Plt
$ x = [1, 3, 5, 7]
$ y = [2, 4, 6, 8]
$ PLT. dispersione (x, y)
$ PLT. spettacolo ()

La relazione tra le due variabili specificate sotto forma di una trama sparsa verrà quindi visualizzata come:

Gli esempi sopra menzionati possono essere usati per tracciare i dati specifici e conoscere la loro relazione reciproca.

Esempio# 03

Supponiamo ora che stessimo lavorando con alcuni set di dati binari e dobbiamo classificare i dati come appartenenti alla classe 0 o alla classe 1. Abbiamo sviluppato un classificatore binario per quei dati utilizzando un algoritmo di apprendimento automatico e ora vogliamo sapere come funziona questo classificatore. A tale scopo, potremmo usare un AUC-ROC_Curve.

In AUC -RUC Curve AUC dice quale grado il classificatore sviluppato può prevedere correttamente le classi, come 0 o 1, e Roc raffigura la probabilità dei classificatori che raffigurano correttamente le classi correttamente. La curva AUC-RUC_ mostra la curva tra FPR (Asse Y) e TPR (Asse X), che sono entrambi ND-ARRAYS. Per implementare questa curva AUC-RUC, in primo luogo, importa il matplotlibpyPlot come PLT in modo da poter chiamare PLT per la tracciamento.

Quindi importeremo il numpy come NP per creare ND-Arrays. Dopo questa importazione dalle metriche di Sklearn. Ora specificheremo X e Y usando il NP. Array () per creare ND-Arrays. Nd-arys usa i numpy per archiviare i numeri sequenziali in essi. Per specificare FPR e TPR e Soglie, useremo il metodo “Metrics.roc_curve (x, y) ”e quindi useremo questi valori di FPR e TPR per archiviare nel ROC_AUC chiamando la funzione" Metriche.Auc () ".

Dopo aver specificato questi valori, chiameremo la funzione usando "Metriche. Roccurvedisplay () ”passando fpr, tpr e roc_auc nei suoi argomenti e memorizzandoli in una visualizzazione variabile tutto. Quindi chiameremo la funzione. Plot () e PLT. Show () per visualizzare la curva ROC-AUC con i parametri specificati nell'output come segue:

Dopo aver eseguito il codice sopra menzionato, otteniamo il seguente output:

La curva RUC-AUC è stata visualizzata nell'output ora, il che rappresenta quanto il nostro classificatore sviluppato ha previsto le classi come 1 o 0 correttamente. La curva ROC-AUC funziona per i set di dati con classificazione binaria.

Esempio # 04

Un altro metodo di trama del grafico usando Scikit impara la curva di calibrazione. La curva di calibrazione ha un altro nome: il diagramma di affidabilità; Questa curva traccia la media della probabilità prevista contro la classe positiva all'asse Y della curva prendendo l'input dal classificatore di classificazione binaria. Per implementare questa curva di calibrazione, risolviamo un esempio in cui importeremo prima il set di dati "fare la classificazione" dal pacchetto di set di dati Sklearn, quindi importare il treno e il test si è diviso dalla selezione del modello Sklearn, quindi utilizzando la selezione del modello lineare Sklearn Regressione logistica di importazione e Dopo quella curva di calibrazione di importazione e il display dalle "calibrazioni Sklearn".

Una volta importati tutti i pacchetti importanti e richiesti, ora caricano il metodo "Make Classification" utilizzando il metodo Load "DataSet_Name ()", dopo questo divideremo i dati per scopi di treno e test utilizzando il metodo "Train_test__split ()", quindi noi noi costruirà il modello di classificazione usando "logisticRegression ()" e si adatta a questo modello su X_TRAIN e Y_TRAIN.

Ora utilizzando le etichette e le probabilità che sono state previste usando "classificatore. prevedi probabilità () "bypassing the xtest come argomento di input, chiama il metodo" curva di calibrazione () "per tracciare prima la curva di calibrazione e quindi visualizzarla usando" DisplayCurve () ".

L'output visualizza il complotto della curva di calibrazione che ha utilizzato le vere probabilità previste da un classificatore binario.

Passaggio 03: vari set di dati e le loro utility in Scikit apprendono

Per lavorare con gli algoritmi di apprendimento automatico, dobbiamo avere i set di dati che possiamo utilizzare per creare gli algoritmi specifici e ottenere gli output desiderati. Scikit Learn viene fornito con alcuni pacchetti con set di dati incorporati predefiniti archiviati con il nome Sklearn. set di dati. Per lavorare sui set di dati, possiamo leggerli utilizzando i repository di set di dati predefiniti di Sklearn o generandoli.

I set di dati che Sklearn forniscono il suo utente sono alcuni set di dati di giocattoli relativamente piccoli e altri set di dati del mondo reale che sono enormi e hanno informazioni relative alle applicazioni mondane. Le dimensioni standard e i piccoli set di dati possono essere ottenuti utilizzando i caricanti di set di dati, mentre i set di dati del mondo reale vengono caricati tramite set di dati FETCHERS.

In questo esempio, importeremo prima i set di dati di giocattoli da "Sklearn. set di dati ". Per importare il set di dati, utilizzeremo Sklearn.set di dati. Sklearn.I set di dati consentono l'importazione dei set di dati dai set di dati predefiniti. Set di dati diversi possono essere caricati da Sklearn.set di dati utilizzando questo comando.

$ da Sklearn. set di dati Importa load_digits

Qui abbiamo importato il set di dati delle cifre da Sklearn.set di dati. Possiamo caricare qualsiasi altro set di dati utilizzando lo stesso comando con la semplice modifica; Cioè, dobbiamo sostituire "load_digits" con il nome di quel set di dati specifico che vogliamo caricare nel comando sopra menzionato. Ora nel passaggio successivo, caricheremo il set di dati utilizzando il metodo "Data set_name ()" e quindi lo memorizzeremo in qualsiasi variabile, diciamo set di dati, come abbiamo fatto in questo comando

$ Dataset = load_digits ().

Fino a questo passaggio, il set di dati è stato scaricato nelle cifre. Per visualizzare i dati in questo set di dati, utilizzeremo la funzione di stampa e passeremo il nome della variabile.dati negli argomenti della funzione di stampa.

$ print (set di dati.dati )

Ora eseguiremo questi comandi esplicitamente menzionati sotto forma di un codice e darà l'output come:

Dopo aver eseguito il codice, abbiamo ottenuto un output che visualizza tutti i dati che vengono archiviati nel set di dati di caricamento.

Se vogliamo conoscere le specifiche del set di dati in termini di quante classi ci sono nel set di dati o quante funzionalità ci sono per il set di dati più la dimensione del campione del set di dati, cioè per quanti esempi sono stati forniti ogni set di dati.

Per ottenere queste informazioni, possiamo semplicemente utilizzare la funzione “Dataset_varable Nome. forma". Per implementare questo, importare il set di dati (load_iris) da Sklearn.set di dati e quindi caricare questo set di dati chiamando il metodo "load_iris ()" e memorizzandolo in "Iris. carico". Quindi stampare la specifica del set di dati utilizzando la stampa (loadristi.forma) nel modo seguente:

Il codice sopra avrebbe il seguente output dopo l'esecuzione:

L'output ha restituito i valori (150, 4). Ciò significa che il set di dati ha 150 esempi di esempio e 4 attributi che possiamo utilizzare per creare il nostro algoritmo di apprendimento automatico in base alla domanda.

Nel prossimo esempio, ora impareremo come importare set di dati del mondo reale e lavorare su di essi. Per i dati del mondo reale, prendiamo i file utilizzando la funzione di recupero che scarica ed estrae il set di dati dalla cache/archivio del sito Web e lo carica nello sklearn. set di dati.

Prendiamo i dati del mondo reale dai set di dati del mondo reale utilizzando Sklearn.set di dati e lavora su di esso. Qui vorremmo prendere i dati da alcuni siti Web di newsgroup, "Siti Web TV NewsGroups". Ora importeremo il set di dati per questo sito Web specifico prendendo prima i file dal repository del sito Web. Quindi caricheremo i dati di addestramento dai file recuperati di questi dati a Sklearn.set di dati che chiama il metodo di caricamento, i.e., "Dataset_name (sottoinsegne =" o i dati del test o del treno da inserire ")" e quindi lo memorizzerà in una variabile "NewspaperDataLoad".

Dopo questo, visualizzeremo semplicemente i nomi di destinazione del set di dati. I "nomi di destinazione" sono i file che contengono i file di dati reali dei set di dati. Chiamiamo la funzione di stampa per visualizzare i nomi dei file presenti nel set di dati scrivendo i comandi:

$ pprint (elenco ("DataSetName. target ”_names))

Abbiamo importato la pprint qui perché il nome target contiene l'elenco del file e vogliamo che questo elenco venga visualizzato così com'è. Per visualizzare questo elenco, abbiamo importato prima il pacchetto pprint e, quindi utilizzandolo, abbiamo visualizzato l'elenco dei nomi dei file nel set di dati che abbiamo già caricato in "Sklearn.set di dati "recuperando i file dal sito Web. Abbiamo implementato il codice sopra menzionato in Python e il suo output è stato così:

Ora l'elenco dei set di dati è stato visualizzato dal sistema. Se vogliamo conoscere gli attributi di questo set di dati, E.G., Il numero di esempi di esempio che il set di dati contiene, il numero totale di funzionalità nel set di dati, ecc. Possiamo semplicemente usare la stampa (DataSet_Name. nome del file. forma) poiché, come abbiamo già spiegato che tutte le informazioni del set di dati sono archiviate nel file file_name o target_name e restituirà le informazioni sull'attributo del set di dati così com'è.

$ print (Dataload di giornali. nome del file. forma )

Passaggio 04: selezione delle funzionalità

Negli algoritmi di apprendimento automatico, l'aspetto più importante che controlla l'output dell'algoritmo sono le caratteristiche. Le caratteristiche contribuiscono principalmente alla costruzione di qualsiasi algoritmo di apprendimento automatico. Tutta l'elaborazione viene eseguita sui set di dati basati sulle funzionalità. Le caratteristiche possono rendere robusti gli algoritmi o un completo fallimento in termini di precisione (migliore previsione o stima) per il confine decisionale. Se esistono caratteristiche ridondanti o un numero maggiore di funzionalità richieste, ciò contribuisce a un overfitting nell'output.

Overfitting è il fenomeno in cui un modello addestrato su set di dati con più funzionalità del richiesto e ha un errore di addestramento più vicino a zero, ma quando è addestrato sul set di dati di test, il modello non funziona bene su quel set di dati di test e quindi non riesce a prendere le decisioni corrette. Per evitare che le possibilità che il modello addestrato venga eccessivo, lasciamo cadere alcune delle caratteristiche inutili. Questa riduzione della dimensionalità può essere fatta in diversi modi usando Scikit Learn.

Esempio #01

Il primo metodo per rimuovere la funzione è attraverso una soglia di varianza bassa; In questo tipo di selezione delle funzionalità, rimuoviamo queste funzionalità dai set di dati con bassa varianza che sono al di sotto delle soglie fornite. Le caratteristiche a bassa varianza sono quelle che contribuiscono allo stesso valore in tutto il set di dati.

Proviamo un esempio per la riduzione delle caratteristiche. Supponiamo di avere un set di dati che ha tre funzionalità nei dati binari. Nel nostro esempio, i set di dati delle cifre hanno quattro colonne come quattro caratteristiche. Se vogliamo rimuovere una funzione con tutti i suoi esempi di esempio dal set di dati, utilizzeremo la formula di varianza e creeremo una soglia di varianza su questo. Se una funzione ha una bassa varianza, la soglia verrà quindi rimossa dal set di dati.

Per prima cosa importeremo la soglia di varianza dal "Sklearn Feature_Selection". Una volta importata la soglia di varianza, imposteremo il valore di questa soglia che, nel nostro caso, abbiamo definito "0.5 ". Quindi, qualsiasi colonne di funzionalità che hanno un valore inferiore a questa soglia scompariranno da questo set di dati delle cifre.

Per fare ciò, chiameremo il metodo "Soglia di varianza ()". Negli argomenti della funzione, passeremo il valore di soglia per essere 0.5 e conservalo in qualche "sdraio" variabile. Dopo questo, chiameremo la funzione "sdraio. fit_transform () ”e passare il set di dati a questa funzione e lasciarlo archiviare con il nome new_dataset. Una volta terminato questi passaggi, stamperemo il set di dati come mostrato:

Come si può vedere nell'output che prima di applicare la soglia di varianza sul set di dati, aveva 4 funzionalità e ora dopo l'applicazione della soglia di varianza sul set di dati, abbiamo incaricato il sistema di rimuovere tutte le colonne con varianza al di sotto del Valore di soglia, i.e., 0.5, l'output visualizza tre colonne nel set di dati, il che significa che la colonna è stata calcolata per avere una varianza inferiore alla soglia, quindi è stato abbandonato dal set di dati per evitare la ridondanza nel set di dati e per far addestrare il modello sui dati impostare per essere più preciso in termini di precisione ed evitare il sovradimensionamento.

Esempio #02

Il secondo metodo per selezionare le funzionalità nel set di dati è fornito dal metodo "Seleziona il miglior". Per l'implementazione di questo metodo, il set di dati IRIS verrà importato da "Sklearndatasets", e quindi caricheremo questo set di dati e lo salveremo in una variabile casuale come Iris. Quindi per caricare il set di dati, chiameremo "loaddataset_name ()".

Chi2 misura la differenza tra le caratteristiche attese e osservate e viene utilizzata per le attività di classificazione. Dopo aver caricato il set di dati in Iris e importato il migliore K e chi2, ora li useremo nel "adattamento. Funzione trasform () ". Il selectkbest (chi2, k = 2). adatto.trasform (), si adatta prima ai dati prendendo i dati di allenamento come input e quindi trasformandoli. Quindi il k nel metodo SelectKBest lascia cadere le colonne e seleziona quelle funzionalità che hanno ottenuto il punteggio più alto nelle funzionalità. Nel nostro caso, selezioneremo le due funzionalità mentre selezioniamo il valore k pari a 2.

In questo esempio, quando abbiamo semplicemente caricato il set di dati e quindi visualizzato, c'erano quattro colonne come funzionalità nel set di dati, ma ora dopo aver applicato il metodo SelectKBest con k = 2 sul set di dati ora, il nuovo set di dati è uscito Due colonne come funzionalità questo significa che il sectkbest ha selezionato le due migliori funzionalità dal set di dati originale.

Esempio #03

Un altro modo per selezionare la funzionalità importante dal set di dati è fornito da Scikit Learn utilizzando la "Eliminazione delle caratteristiche ricorsive (RFE)". RFE rilascia le funzionalità meno importanti dal set di dati eseguendo la formazione ricorsiva del set di dati. RFE seleziona il numero di funzionalità per sé utilizzando la mediana del numero totale di funzionalità nel set di dati e rilascia solo una funzione dal set di dati ad ogni iterazione. Per implementare RFE, importare prima le librerie necessarie per creare il codice tramite questi comandi.

Ora abbiamo importato con successo i pacchetti per RFE da Sklearn. caratteristica. selezione. Per creare il set di dati, abbiamo caricato la funzione "Make_regression ()" e, nei suoi argomenti, abbiamo superato quei parametri che desideriamo nel set di dati.

$ X, y = make_regression (n_samples = 10000, n_features = 100, n_informative = 2)
$ print (x.forma)

Quindi stampiamo questo set di dati per conoscere la forma esatta o gli attributi del set di dati. Dopo aver visualizzato il set di dati, ora utilizzeremo l'eliminator di funzionalità ricorsiva. A tal fine, faremo un modello come decisionEreGressor (). Dopo che il modello è stato completato ora utilizzando RFECV () che abbiamo importato in precedenza, passeremo il verboso, il modello/stimatore, il passo, il punteggio e il CV come parametri richiesti negli argomenti di RFECV.

Ora per rimuovere la funzione ricorsiva, adatteremo e trasformeremo i dati. L'intero procedura spiegata può essere scritta come codice seguente:

Ora le caratteristiche verranno eliminate in modo ricorsivo in base al nostro requisito dopo ogni iterazione, in quanto può essere chiaramente mostrata nell'output. Questa eliminazione di funzionalità ricorsiva continuerà fino a quando non raggiungiamo il punto in cui ci restano due importanti caratteristiche tra le 100 funzionalità totali presenti nel set di dati originale.

Esempio #04

Un altro metodo che possiamo usare per rimuovere le funzionalità extra, oppure possiamo semplicemente lasciarle cadere a causa della loro ridondanza, è il "modello selezionata" insieme ai "modelli lineari". Quando le tesi modelli lineari sono in qualche modo penalizzati con la norma L1, la loro soluzione esiste scarsamente poiché la maggior parte dei loro coefficienti diventa uguale a zero.

Nella riduzione della dimensionalità o selezione delle caratteristiche, questi modelli lineari, insieme al modello SelectFrom, aiutano a selezionare quel coefficiente diverso da zero. Lavorano principalmente per il problema di regressione. Per implementare il modello SelectFrom, dobbiamo prima importare LineARSVC da Sklearn.SVM, LinearsVC è il classificatore vettoriale di supporto lineare che trova la linea di adattamento migliore (iper-piano) per dividere e classificare i dati in diverse categorie; Una volta ottenuto l'iperplano in LSVC, possiamo quindi fornire qualsiasi funzionalità a questo modello migliore per sapere a quale classe sarebbe quella funzionalità, quindi importeremo il set di dati da Sklearn. ATA SET, e dopo questo, dovremo importare il "modello di selezione" da Sklearn.Selezione delle caratteristiche.

Dopo che i pacchetti richiesti sono stati importati, cariciamo il set di dati IRIS utilizzando load_dataset () e quindi visualizziamo gli attributi del set di dati IRIS in termini di esempi di esempio e il numero di funzionalità che ha utilizzando il " .Metodo di forma ". Dopo aver conosciuto la forma del set di dati, ora applicheremo il "linearsvc ().FIT (set di dati _loded) "con c = 0.01, una penalità di linearsvc = L1 come argomento di input. Quindi costruire il modello usando "SelectFrom Model ()" e quindi trasformare il modello usando "Modello.trasformare()". Ora visualizza il nuovo set di dati di trasformata e mostra il suo attributo utilizzando i dati “set_new.forma".

La forma del set di dati prima di applicare il "modello di selezione" per la selezione delle caratteristiche era (150, 4), il che significa che aveva 150 esempi di campioni e quattro attributi, ma una volta applicata la selezione delle funzionalità sul set di dati utilizzando "LineArsVC "E SelectFrom Model La forma del set di dati è stata trasformata in (150, 3), il che significa che una caratteristica è stata abbandonata dal set di dati.

Passaggio 05: preelaborazione dei dati

I set di dati con cui lavoriamo per sviluppare e formare diversi algoritmi di apprendimento automatico non sono sempre quelli nella loro forma perfetta da utilizzare per la costruzione del modello. Dobbiamo modificare questi set di dati in base ai nostri requisiti. Il primo passo che dobbiamo fare dopo il caricamento del set di dati e prima della formazione il modello è la pre-elaborazione dei dati. Per pre-elaborazione dei dati, intendiamo:

  • Scallo delle caratteristiche
  • Normalizzazione / standardizzazione delle caratteristiche

Scallo delle caratteristiche

L'attività più importante nel pre-elaborazione dei dati è il ridimensionamento delle funzionalità. Il ridimensionamento delle funzionalità viene eseguito per rendere tutte le funzionalità del set di dati hanno la stessa unità; Altrimenti, l'algoritmo non si allenerà correttamente e può influire sulle prestazioni dell'algoritmo rallentando il processo. Il ridimensionamento può essere eseguito utilizzando MinMaxScaler o MaxabSscaler. Il ridimensionamento delle caratteristiche imposta gli intervalli dei valori di funzionalità tra zero e uno per lo più, e talvolta su richiesta, può limitare il valore di una funzione alla dimensione dell'unità.

Qui implementeremo un esempio in cui prima importeremo la preelaborazione da Sklearn, e quindi importeremo Numpy. Numpy è usato nelle funzioni in cui dobbiamo lavorare con gli array. Ora creeremo un ND-ARRAY usando Numpy. Per eseguire il ridimensionamento di questo array che abbiamo creato, in primo luogo, useremo il metodo "Preelabossing. Minmaxscaler () ". Dopo questo passaggio, applichiamo MinMaxScaler all'array chiamando il metodo "MinMaxScaler. fit_transform () ”e passerà questo array nei suoi argomenti. Il codice può essere riscritto come:

L'output dopo il ridimensionamento delle funzionalità è stato eseguito su "X" fornisce il valore di un array tra zero e uno. Il MaxabSscaler funziona principalmente come MinMaxScaler, ma questo scaler ridimensiona i valori di dati tra uno negativo (-1) e uno positivo (+1). Il codice per MaxabSscaler è dato da:

Nell'output, i valori dei dati "x" sono stati restituiti nella forma continua dall'intervallo che varia da -1 a +1.

Normalizzazione / standardizzazione delle caratteristiche

In questo esempio impareremo le tecniche di pre-elaborazione dei dati. Prima importazione dal preelaborazione di Sklearn e dopo aver importato la preelaborazione da Sklearn, quindi importiamo anche Numpy poiché ora lavoreremo con le array ND. Ora crea un array ND e memorizzalo in "X". Ora dobbiamo eseguire la normalizzazione/standardizzazione media su questi dati. Per fare ciò, useremo il metodo convenzionale "preelaborazione. standardcaler. FIT ("Digita qui i dati da normalizzare") ". Il valore dalla funzione verrà quindi salvato in una variabile, E.G., Scaler. Ora eseguire la standardizzazione sui dati forniti x con il metodo, e.G. “Scaler. trasforma ("dati") "e visualizza i dati appena trasformati:

I dati "x" sono stati standardizzati con il valore medio più vicino a zero. La normalizzazione/standardizzazione dei dati viene eseguita per evitare eventuali ridondanti o duplicati nel set di dati. La normalizzazione/ standardizzazione media assicura che mantenere solo i dati correlati nei set di dati. Inoltre, si occupa anche di eventuali problemi causati da modifiche, e.G., Eliminazione di dati, aggiunta di nuovi dati o qualsiasi aggiornamento nei set di dati che potrebbero diventare un ostacolo in futuro.

Ora che abbiamo imparato di più sui pacchetti di apprendimento Scikit che possiamo usare per costruire gli algoritmi di apprendimento automatico. Dovremmo testare le nostre capacità con Scikit Learn una funzione che abbiamo usato sopra in questa guida e sviluppare un algoritmo di apprendimento automatico per formare prima un modello sul set di dati specifico e quindi testare quel modello eseguendolo sul set di dati di test sconosciuto su Ottieni un'esperienza pratica su questo Scikit Learn funzioni/pacchetti. Diamo il via all'implementazione delle funzioni di apprendimento di Scikit per l'algoritmo o il modello di apprendimento automatico.

Passaggio 06: Formazione del modello usando Scikit Learn

Forgheremo il "modello di regressione lineare" sul set di dati sui prezzi della casa che ci creeremo nel codice in seguito. La regressione lineare trova la migliore linea adatta ai punti dati indicati nel set di dati. Questa riga è tracciata sui punti dati sul grafico. Usiamo questa riga quindi per prevedere i valori che il nostro modello di treno prevederà quando verrà testato su alcuni dati di test con la convinzione che i punti dati di output generati dopo l'esecuzione dei dati di test sul modello seguiranno la linea come dati originali o formazione I dati hanno seguito.

Per lavorare con il modello di regressione lineare, dobbiamo importare la libreria Matplotlib, quindi da Scikit Learn, importeremo il modello lineare, le matrici e qualsiasi selezione del modello per addestrare il modello più avanti nel codice. Per creare il set di dati del prezzo della casa, importeremo NP da Numpy e creeremo i due array con nomi "areeq_footage_x" e "HousePrice_Y", rispettivamente.

Dopo aver creato questi due array, tracceremo i loro valori sulla trama usando la "dispersione.Plot () "etichettando l'asse X del grafico come" area della casa "e l'asse Y come" prezzo della casa ". Una volta tracciati i punti dati, addestreremo il modello usando il modello "LinearRegression ()". Espanderemo quindi le dimensioni dell'array ND "areeq_footage_x", e quindi verrà archiviato nella nuova variabile "X_NEW". Quindi useremo il "Model_house.fit () "e passerà" x_new "e" houseprice_y "nei suoi argomenti di input per adattarsi al modello per la linea migliore.

Creeremo l'ipotesi della migliore linea adatta a “y = theta0* x + theta1” e tracceremo questi output previsti ai dati reali dati e trama il grafico. Questo grafico ci consentirà di sapere la linea di adattamento migliore per i punti dati indicati, in base ai quali prevederemo l'output dei punti dati dei dati di test previsti come corretti o no.

Questo è il grafico che abbiamo ottenuto prima di addestrare il modello. Tutti i punti dati qui sono stati tracciati seguendo i valori sia dell'asse x che dell'asse y.

Questo grafico è l'output del modello addestrato e mostra la linea di adattamento migliore per prevedere l'output per i punti dati se il modello addestrato viene valutato su alcuni dati di test.

Conclusione

Scikit Learn è una biblioteca per Python che utilizza il pacchetto Sklearn per lavorare con le sue diverse funzioni disponibili per la costruzione di qualsiasi algoritmo di apprendimento automatico. In questo tutorial, abbiamo imparato Scikit Learn da passaggi molto basilari (installazione di Scikit imparare su Python al complesso allenamento un modello usando i pacchetti di apprendimento Scikit). Tra il livello di base a un livello complesso, abbiamo discusso del grafico, del caricamento di set di dati, della selezione delle funzionalità e della pre-elaborazione dei dati. Speriamo che troverai questo tutorial utile nello sviluppo delle tue conoscenze riguardo a Sci-kit.