Video: Game Theory: Doki Doki Decoded! (Doki Doki Literature Club) 2024
Un'altra attività nell'analisi predittiva è quello di classificare nuovi dati predittendo a quale classe appartiene un elemento di dati di destinazione, dato un insieme di variabili indipendenti. È possibile, ad esempio, classificare un cliente per tipo, ad esempio un cliente di valore elevato, un cliente abituale o un cliente pronto a passare a un concorrente utilizzando un albero decisionale.
Per visualizzare alcune informazioni utili sul modello di classificazione R, digitare il seguente codice:
La colonna Classe ti dice che hai creato un albero decisionale. Per vedere come vengono determinate le divisioni, è sufficiente digitare il nome della variabile a cui è stato assegnato il modello, in questo caso il modello, in questo modo: >> modello Albero dell'inferenza condizionale con 6 nodi terminali Risposta: input seedType: area, perimetro, compattezza, lunghezza, larghezza, asimmetria, lunghezza2 Numero di osservazioni: 147 1) area <= 16 2; criterio = 1, statistica = 123. 423 2) area <= 13 37; criterio = 1, statistica = 63. 549 3) lunghezza2 4. 914 5) * pesi = 45 2) area> 13. 37 6) lunghezza2 5. 396 8) * pesi = 8 1) area> 16. 2 9) lunghezza2 5. 877 11) * pesi = 40
Ancora meglio, puoi visualizzare il modello creando una trama dell'albero decisionale con questo codice:> trama (modello)
Questa è una rappresentazione grafica di un albero decisionale. Puoi vedere che la forma complessiva riproduce quella di un albero reale. È composto da
nodi(cerchi e rettangoli) e collegamenti o bordi (le linee di collegamento). Il primo nodo (che inizia in alto) è chiamato nodo radice
ei nodi nella parte inferiore dell'albero (rettangoli) sono chiamati nodi terminali . Ci sono cinque nodi decisionali e sei nodi terminali.
Inizia dal nodo radice, che è il nodo 1 (il numero è mostrato nel quadratino nella parte superiore del cerchio). Decidi in base all'attributo: è l'osservazione n. 2 minore o uguale a (denotata da <=) 16.2? la risposta è sì, quindi spostati lungo il percorso fino al nodo 2.
Al nodo 2, il modello chiede: L'area è 13. 37? La risposta è sì, quindi spostati lungo il percorso verso il nodo 6. A questo nodo il modello chiede: La lunghezza2 <= 5. 396? è, e ti sposti al nodo terminale 7 e il verdetto è che l'osservazione n. 2 è del tipo di seme 1. Ed è, di fatto, il tipo di seme 1.
-
Il modello esegue quel processo per tutte le altre osservazioni per prevedere il loro classi.
-
Per scoprire se hai allenato un buon modello, confrontalo con i dati di allenamento. È possibile visualizzare i risultati in una tabella con il seguente codice: >> tabella (previsione (modello), trenoSet $ seedType) 1 2 3 1 45 4 3 2 3 47 0 3 1 0 44
I risultati mostrano che l'errore (o il tasso di errata classificazione) è 11 su 147 o il 7,4 percento.
-
Con i risultati calcolati, il passo successivo è leggere la tabella.
Le previsioni corrette sono quelle che mostrano i numeri di colonna e di riga come uguali. Questi risultati appaiono come una linea diagonale da sinistra a sinistra a destra in basso; ad esempio, [1, 1], [2, 2], [3, 3] sono il numero di previsioni corrette per quella classe.
Quindi, per il tipo di seme 1, il modello lo ha previsto correttamente 45 volte, mentre ha classificato erroneamente il seme 7 volte (4 volte come seed type 2 e 3 volte come type 3). Per il tipo di seme 2, il modello lo ha correttamente previsto 47 volte, mentre lo ha classificato erroneamente per 3 volte. Per il tipo di seme 3, il modello lo ha previsto correttamente 44 volte, mentre lo classifica erroneamente solo una volta.
-
Questo dimostra che questo è un buon modello. Quindi ora lo valuti con i dati del test. Ecco il codice che utilizza i dati di test per prevederli e memorizzarli in una variabile (testPrediction) per un uso successivo: >> testPrediction <- predicti (model, newdata = testSet)
Per valutare come il modello viene eseguito con il prova i dati, visualizzali in una tabella e calcoli l'errore, per il quale il codice è simile a questo: >> tabella (testPrediction, testSet $ seedType) testPrediction 1 2 3 1 23 2 1 2 1 19 0 3 1 0 17