Ricerca…


Classificazione

Immagina che un sistema voglia rilevare mele e arance in un cesto di frutta. Il sistema può raccogliere un frutto, estrarne alcune proprietà (ad es. Il peso di quel frutto).

Supponiamo che il sistema abbia un insegnante! che insegna al sistema quali oggetti sono le mele e quali sono le arance . Questo è un esempio di un problema di classificazione supervisionato . È supervisionato perché abbiamo esempi etichettati. È una classificazione perché l'output è una previsione di quale classe appartiene anche il nostro oggetto.

In questo esempio consideriamo 3 caratteristiche (proprietà / variabili esplicative):

  1. il peso del frutto selezionato è maggiore di 0,5gram
  2. è una dimensione superiore a 10 cm
  3. è il colore è rosso

(0 significa No, e 1 significa Sì)

Quindi per rappresentare una mela / arancione abbiamo una serie (chiamata vettore) di 3 proprietà (spesso chiamata un vettore di funzionalità)

(es. [0,0,1] significa che questo peso di frutta non è superiore a quello di .5gram, e la sua dimensione non è superiore a 10 cm e il colore è rosso)

Quindi, prendiamo 10 frutti a caso e misuriamo le loro proprietà. L'insegnante (umano) etichetta quindi ogni frutto manualmente come mela => [1] o arancione => [2] .

es.) L'insegnante seleziona un frutto che è una mela. La rappresentazione di questa mela per il sistema potrebbe essere qualcosa del genere: [1, 1, 1] => [1] , Ciò significa che questo frutto ha 1.piccolo maggiore di .5gram , 2.size maggiore di 10cm e 3. il colore di questo frutto è rosso e infine è una mela (=> [1])

Quindi per tutti i 10 frutti, l'insegnante etichetta ciascun frutto come mela [=> 1] o arancione [=> 2] e il sistema ha trovato le loro proprietà. come indovinate abbiamo una serie di vettori (che chiamano matrice) per rappresentare interi 10 frutti.

Classificazione dei frutti

In questo esempio, un modello imparerà a classificare i frutti in base a determinate caratteristiche, utilizzando le etichette per l'allenamento.

Peso Colore Etichetta
0.5 verde Mela
0.6 viola prugna
3 verde anguria
0.1 rosso ciliegia
0.5 rosso Mela

Qui un modello prenderà Peso e Colore come caratteristiche per prevedere l'Etichetta. Ad esempio [0.15, 'red'] dovrebbe dare come risultato una previsione 'cherry'.

Introduzione all'apprendimento supervisionato

Ci sono molte situazioni in cui si hanno enormi quantità di dati e l'uso di cui deve classificare un oggetto in una delle diverse classi conosciute. Considera le seguenti situazioni:

Banking: quando una banca riceve una richiesta da un cliente per una carta bancaria, la banca deve decidere se emettere o meno la carta bancaria, in base alle caratteristiche dei suoi clienti che già godono delle carte per le quali è nota la storia creditizia.

Medico: uno potrebbe essere interessato a sviluppare un sistema medico che diagnostica un paziente sia che stia avendo o meno una particolare malattia, in base ai sintomi osservati e agli esami medici condotti su quel paziente.

Finanza: una società di consulenza finanziaria vorrebbe prevedere l'andamento del prezzo di uno stock che può essere classificato verso l'alto, verso il basso o senza tendenza in base a diverse caratteristiche tecniche che regolano il movimento dei prezzi.

Espressione genica: uno scienziato che analizza i dati dell'espressione genica vorrebbe identificare i geni e i fattori di rischio più rilevanti coinvolti nel cancro al seno, al fine di separare i pazienti sani da pazienti affetti da cancro al seno.

In tutti gli esempi precedenti, un oggetto è classificato in una delle varie classi conosciute , in base alle misurazioni fatte su un numero di caratteristiche, che può ritenere discriminare gli oggetti di classi diverse. Queste variabili sono chiamate variabili di predittore e l'etichetta di classe è chiamata variabile dipendente . Si noti che, in tutti gli esempi precedenti, la variabile dipendente è categoriale .

Per sviluppare un modello per il problema di classificazione, richiediamo, per ogni oggetto, dati su un insieme di caratteristiche prescritte insieme alle etichette di classe, a cui gli oggetti appartengono. Il set di dati è diviso in due set in un rapporto prescritto. Il più grande di questi set di dati è chiamato set di dati di allenamento e l'altro set di dati di test . Il set di dati di addestramento viene utilizzato nello sviluppo del modello. Poiché il modello viene sviluppato utilizzando osservazioni le cui etichette di classe sono note, questi modelli sono noti come modelli di apprendimento supervisionato .

Dopo aver sviluppato il modello, il modello deve essere valutato per le sue prestazioni utilizzando il set di dati di test. L'obiettivo di un modello di classificazione è di avere una probabilità minima di errata classificazione delle osservazioni non osservate. Le osservazioni non utilizzate nello sviluppo del modello sono note come osservazioni invisibili.

L'induzione dell'albero decisionale è una delle tecniche di costruzione del modello di classificazione. Il modello dell'albero decisionale costruito per la variabile dipendente categoriale è chiamato albero di classificazione . La variabile dipendente potrebbe essere numerica in alcuni problemi. Il modello dell'albero decisionale sviluppato per le variabili dipendenti numeriche è chiamato Albero di regressione .

Regressione lineare

Poiché l' apprendimento supervisionato consiste in una variabile obiettivo o risultato (o variabile dipendente) che deve essere prevista da un determinato insieme di predittori (variabili indipendenti). Usando questi set di variabili, generiamo una funzione che mappa gli input alle uscite desiderate. Il processo di addestramento continua fino a quando il modello raggiunge il livello desiderato di accuratezza sui dati di allenamento.

Pertanto, ci sono molti esempi di algoritmi di apprendimento supervisionato, quindi in questo caso vorrei concentrarmi sulla regressione lineare

Regressione lineare Viene utilizzato per stimare valori reali (costo di case, numero di chiamate, vendite totali, ecc.) In base a variabili continue. Qui stabiliamo una relazione tra variabili indipendenti e dipendenti adattando una linea migliore. Questa linea di adattamento ottimale è nota come linea di regressione e rappresentata da un'equazione lineare Y = a * X + b.

Il modo migliore per comprendere la regressione lineare è rivivere questa esperienza dell'infanzia. Diciamo, chiedi a un bambino in quinta elementare di organizzare le persone della sua classe aumentando l'ordine di peso, senza chiedere loro i loro pesi! Cosa pensi che farà il bambino? Lui / lei probabilmente guarderebbe (visivamente analizzando) all'altezza e alla costruzione di persone e li sistemerebbe usando una combinazione di questi parametri visibili.

Questa è una regressione lineare nella vita reale! Il bambino ha effettivamente capito che l'altezza e la struttura sarebbero correlate al peso da una relazione, che somiglia all'equazione di cui sopra.

In questa equazione:

Y – Dependent Variable
a – Slope
X – Independent variable
b – Intercept

Questi coefficienti a e b sono derivati ​​basati sulla minimizzazione della somma della differenza quadratica della distanza tra i punti dati e la linea di regressione.

Guarda l'esempio qui sotto. Qui abbiamo identificato la migliore linea di adattamento con equazione lineare y = 0,2811x + 13,9 . Ora usando questa equazione, possiamo trovare il peso, conoscendo l'altezza di una persona.

Scopri la regressione lineare in Python

La regressione lineare è principalmente di due tipi: regressione lineare semplice e regressione lineare multipla. La semplice regressione lineare è caratterizzata da una variabile indipendente. E, la regressione lineare multipla (come suggerisce il nome) è caratterizzata da più variabili (più di 1) indipendenti. Mentre trovi la migliore linea di adattamento, puoi adattare una regressione polinomiale o curvilinea. E questi sono noti come regressione polinomiale o curvilinea.

Solo un suggerimento sull'implementazione della regressione lineare in Python

#Import Library
#Import other necessary libraries like pandas, numpy...
from sklearn import linear_model

#Load Train and Test datasets
#Identify feature and response variable(s) and values must be numeric and numpy arrays

x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets

# Create linear regression object

linear = linear_model.LinearRegression()

# Train the model using the training sets and check score

linear.fit(x_train, y_train)
linear.score(x_train, y_train)

#Equation coefficient and Intercept

print('Coefficient: \n', linear.coef_)
print('Intercept: \n', linear.intercept_)

#Predict Output

predicted= linear.predict(x_test)

Ho fornito uno spaccato sulla comprensione dell'apprendimento supervisionato scavando verso il basso all'algoritmo di regressione lineare insieme a uno snippet di codice Python.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow