
ringrazio e buona mattina sono ringrazio
qui per parlare di due cose e spero
almeno uno di loro è interessante
il numero uno è la scintilla di Apache che io sono
certo tutti nella stanza sono ormai
sentito parlare di è un nuovo hotness nel
L’ecosistema Hadoop è una nuova elaborazione
paradigma e ha molto da offrire, penso
per i dati scienziati nella stanza come
bene, ma voglio anche parlare di
foresta decisionale che è un comune e
algoritmo importante e in macchina
apprendimento e scienza dei dati e uno io
penso che tutti dovrebbero saperlo un po ‘
quindi spero che tu sia qui per
conoscere almeno uno forse forse
entrambi allo stesso tempo iniziamo che voglio
per iniziare eseguendo il backup un po ‘e
parlando delle radici di
predizione o dove abbiamo avuto questa idea
predire alcuni dati da altri dati e
Mi piace tornare a questa immagine questo
è stato disegnato da Sir Francis Galton
nel 18 ° secolo penso che lo fosse
studiando la relazione tra
genitori e figli in particolare loro
altezze e ha notato che i genitori alti
avere bambini alti sorprendentemente quello che lui
stava davvero arrivando però era quello
i genitori molto alti hanno alti ma non molto
bambini alti e ha chiamato questo
regressione alla media e lo facciamo ancora
parlare di regressione al mezzo
ma interessante ha provato a tracciare il suo
dati e aveva complottato i genitori credo che lui
potrebbe aver capovolto gli assi rispetto a
quello a cui siamo abituati, ma i genitori contro
bambino altezza e trovato c’era un tipo
di relazione lineare tra i due
e la pendenza era meno di uno, ma io
penso che questo sia davvero quasi un esempio
di un modello predittivo precoce l’idea
che potremmo dire qualcosa sul
altezza del bambino dato il sito genitore come
input e questo atto di disegnare una linea a
stabilire quella relazione lineare noi
chiama ancora quella regressione per questo
ragione anche se in realtà non ha nulla
fare con regressione alla media o
muoversi all’indietro o qualsiasi cosa così non c’è
qualcosa di interessante su questo
immagine particolare storicamente ora se
pensate a questo proposito è che è un presente
Dalton forse involontariamente stava postando un
scatola nera c’è questa catena di
nucleo di relazioni
relazioni forse causazioni tra questo
input e questa uscita non sappiamo cosa
sono io non credo che lui stava cercando di
spiegare esattamente fisiologicamente perché
i genitori hanno figli alti ma lui
pensavo che ci fosse una relazione lì
e ha mostrato la relazione che ha provato
per descrivere quella scatola nera in questo
relazione lineare e davvero questo è
come gran parte dell’apprendimento automatico o
l’apprendimento supervisionato pensa al mondo
più in particolare c’è un molto comune
i dati indicati hanno chiamato i dati dell’iride
impostare che le persone hanno utilizzato nella ricerca
per anni e il set di dati che
descrive un mazzo di iris o fiori
e dà loro misurazioni loro
lunghezza e larghezza delle persone e dei petali e
la loro specie e pensiamo che ci sia
qualche relazione tra i due
mi scusi hanno dato alcuni di questi
misurazioni che sono cause o correlazioni
con il tipo di fiore che è
e noi non sappiamo perché non abbiamo bisogno di
so perché, al fine di modello che
relazione o per descrivere quel nero
box che collega questi input a quello
uscita e infatti questa è la magia di a
apprendimento automatico che in realtà non lo facciamo
dobbiamo capire le relazioni noi
possiamo solo provare a modellarli e
imparali empiricamente dai dati che sono
un esempio dal set di dati dell’iride stesso
i set di dati non sono importanti ma è a
buon esempio di quasi ogni normale
dati di apprendimento automatico impostati là fuori voi
avere un sacco di esempi di input più
le uscite in questo caso sono quattro colonne
di misure numeriche questi sono i
lunghezze e centimetri del sepalo e
il sepalo e pedali lunghezze e larghezze
e la specie le uscite e questo è
la cosa che stiamo cercando di prevedere
dati gli input e ancora crediamo
c’è questa connessione tra i due
e vogliamo scoprire ciò che non è
scoprilo ma descrivilo e modellalo
e quindi ne abbiamo dato abbastanza di questo
questi esempi di input e output
crediamo di poter imparare come
blackbox si comporta e questa è l’essenza
di quasi tutti i convenzionali standard
l’apprendimento automatico ha dato abbastanza di questi
caratteristica dei vettori possiamo costruire un modello
questo è un tentativo di tracciare questi dati
impostato ora è davvero quadridimensionale ma
qui penso solo che ho appena tracciato
tre o raccolto un complotto di tre di
loro
motori quindi ogni punto nello spazio tre di
le sue dimensioni sono terminate determinate
da tre dei suoi ingressi e il colore e
la forma è l’ output o la specie e
tu ed io possiamo vedere che l’iris setosa
esiste in un’area abbastanza distinta di
lo spazio delle funzionalità intuitivamente lo capiamo
che quando le misure sono messe a
punto là è probabilmente uno zoo
Tosa e davvero molto classico
algoritmi di classificazione e macchina
l’apprendimento riguarda esclusivamente il disegno delle linee
cercando di capire qual è la linea
tra questi dati di un tipo e quello
dati di un altro tipo, perché se potessimo
disegniamo questa linea in modo efficace che potremmo
effettivamente dire che roba qui in
lo spazio delle funzionalità è probabilmente questo tipo di
fiore a questo tipo di output e questo è
una che è una forma di modello predittivo quindi
se hai sentito parlare di regressione logistica
la regressione logistica è davvero lineare
modello sta cercando di scegliere una linea migliore
o davvero molto iperpiano nello spazio
questo sta dividendo alcuni tipi di
uscite da altri tipi di uscite
se hai sentito parlare del vettore di supporto
macchine è anche un modello lineare che
cerca di disegnare forse un po ‘meglio
iperpiano che sta massimizzando i margini
qui tra le classi e il
linea e poi se hai sentito parlare di supporto
macchine vettoriali più il kernel
trucco che è un tentativo di disegnare un pareggio
linea migliore forse non lineare
lo spazio delle feature originali, quindi possiamo
disegnare linee curve nello spazio e di nuovo
ognuna di queste l’idea alla base di ciascuna di
questi è solo disegnare un migliore e
migliore confine tra le uscite
stiamo cercando di prevedere per discriminare
loro e questo è buono e questo è
potente ma questa non è l’ unica forma
dell’algoritmo o del limite decisionale che possiamo
costruisci per cercare di discriminare le classi
o uscite e in effetti gli alberi decisionali sono
non di questa forma e ma c’è ancora a
idea interessante e potente per
classificazione quindi voglio presentarvi
brevemente così da introdurre una decisione
alberi voglio dare un rapido esempio di giocattolo
quindi immagina di essere un robot che lavora
un negozio di animali e hai bisogno di sapere quale
gli animali domestici sono adatti a bambini e te
non so perché
gli animali domestici sono adatti ai bambini o meno
ma i proprietari
ti ho detto quanto segue puoi farlo
misurare quanto segue gli attributi di
gli animali nel negozio e sei stato
detto in alcuni casi che sono sì
adatto a bambini o no non ora io
penso che tu e io possiamo in qualche modo intuitivamente
capisci che un enorme elefante non è un
buon animale domestico sì forse un millepiedi velenoso
non è un buon animale si, ma il robot
non sa queste cose che può fare il robot
impara solo empiricamente su questi dati
che abbiamo dato ad essa oggi una valida
approccio se tu sei il robot è quello di provare
a venire con alcune regole pratiche
basato su questi dati che potrebbero
discriminare i sì dal naso per
esempio potresti davvero vedere quel peso
sembra importare il sai molto pesante
animale domestico sembra non essere un buon animale domestico in questi
due casi così forse è un bene
luogo per iniziare forse proviamo a fare un
regola decisionale basata sul peso quindi noi
inizia da lì e forse questo è il primo
la regola decisionale ci viene in mente se lo è
oltre 500 chilogrammi non è adatto se
è altrimenti se lo fosse e sarebbe così
avere ragione in circa la metà di questi casi
in realtà non è male, ma non lo è
davvero meglio del caso così
non sembra abbastanza buono
regola delle decisioni in modo che possiamo rendere questo più
elaborato forse potrebbe provare diverso
Soglie forse sai cento
chilogrammi è un posto migliore per iniziare
discriminante e forse tra i
animali più piccoli abbiamo bisogno di un ulteriore
discriminazione e un’altra regola che
basato sul colore può essere così puoi fare un
processo decisionale più elaborato che
con diversi livelli qui e ottenere di più
risposte corrette
per esempio questa regola di decisione mentre
ancora piuttosto semplicistico ottiene sette di
i nove esempi corretti e questo è
è meglio e tu puoi immaginare
che con un altro paio di passaggi qui
potrebbe ottenere un cento per cento della
esempi corretti che possono o non possono essere
una cosa buona in realtà potremmo finirci
adatta i dati ma penso che il processo sia
abbastanza chiaro, vogliamo continuare a tagliare
le regole decisionali e la stratificazione
loro al fine di riflettere con precisione il
input abbiamo e c’è qualche processo
qui con il quale potremmo fare questo e il
la cosa bella dell’output qui è che lo è
è abbastanza intuitivo da leggere e dentro
fatto
come classificatore questo è anche un modello
della relazione tra tre input
e un output quindi è valido
algoritmo di classificazione di
Certo che la domanda è come costruiamo
questi alberi e che è in realtà tutti
la complessità degli alberi decisionali come si fa
prendiamo l’albero giusto come lo sappiamo
quando fermare cose del genere così per il
curioso se pensi alle regole
gli alberi decisionali sono semplici
gli alberi decisionali finiscono per prendere una decisione
confini come questo in confronto
l’accesso allinea i confini che mantengono
tagliare lo spazio in due parti
questo caso e due tramite decisioni binarie
continua a tagliare lo spazio ricorsivamente lungo
lungo determinate dimensioni così è
qualitativamente un diverso tipo di
regola decisionale da cui puoi uscire
alberi decisionali quindi puoi uscire da un
modello lineare e questo ha in alcuni casi
questo è più potente questo è un altro
un modo potente per modellare la decisione
confini qui per l’illustrazione che ho
costruito due diverse classificazione
modelli questo è solo un R questo non lo è
SPARC a sinistra abbiamo un supporto
modello di macchina vettoriale a destra noi
avere un modello di foresta decisionale e in entrambi
casi che stiamo per costruire
basato sul set di dati IRS che è così
comune ed è incorporato nel nostro come IRS
molto semplice da fare in R a questo punto in
entrambi i casi che abbiamo costruito costruiamo un modello e
è una classificazione perfettamente eccellente
modello su cui entrambi hanno un’accuratezza elevata
questo set di dati, ma interessante se tu
guarda il modello e prova a interpretare
si basa sulla sua rappresentazione in stringa a
scopri che i modelli lineari sono un po ‘
sono troppo difficili da ragionare su questi
i vettori di supporto e hanno a
significato e possiamo capire
loro e forse li interpretano ma è così
ci vuole un po ‘ di tempo per pensare
su cosa questo significhi il significato di
questo anche il cambiamento si basa su cosa
esattamente come hai fatto nel vettore di supporto
macchina così i modelli lineari sono forse no
banale da interpretare mentre decisione
gli alberi sono molto più semplici si
può quasi leggere la logica in
linguaggio semplice
in cima inizia l’albero decisionale
chiedendo se la lunghezza del pedale è inferiore
uguale o uguale a un punto nove
centimetri se è così penso che questo significhi
prevedere la prima classe il primo di
le tre specie altrimenti sembra
alla larghezza del petalo altro e se questo è
abbastanza piccolo controlla la lunghezza del pedale
e così via, così potresti facilmente
ricostruire la logica e spiegare a
Qualunque cosa sia la logica che ha portato
tu ad una decisione o l’altra e
forse come un botanico che potresti valutare
se queste regole sono sicure ma
ma almeno possiamo tutti leggerli
fuori e spiega come è il modello
relativi ingressi a un’uscita e questo è
spesso anche potente soprattutto nel pensare
sulla finanza o sui settori regolamentati
dove devi spiegare perché il tuo
processo approvato qualcuno da un prestito
o no quindi questo è un non banale
considerazione nella modellazione ora ovviamente
come pubblicizzato di cui voglio parlare
alberi decisionali implementati in Sparks
sottoprogetto di apprendimento automatico che è
chiamato ml vivono almeno i classici
il componente di apprendimento automatico si chiama ml
Lib e ha un’implementazione di
alberi decisionali e decisione effettiva
anche foreste che ci arriveremo
questa è la parte in cui iniziamo a mostrare
cosa significa costruire una vera decisione
albero su larga scala usando la scintilla per questo
esempio, ho intenzione di utilizzare un set di dati
chiamato il set di dati del tipo di copertura che è
una felice coincidenza anche per gli alberi e
foreste è 580
mille esempi ciascuno dei quali
descrive un pezzo di terra Credo che in in
Colorado negli Stati Uniti ha un
un sacco di funzioni su quel pezzo di
terra come la sua altezza e pendenza e io
pensa all’umidità e alla distanza dall’acqua e
forse la luce del sole e così via e ha anche
il tipo di foresta che copre quel pezzo
di terra è
nessun albero è Aspen abete ecc. questo può essere o
potrebbe non essere interessante per noi come a
problema ma sarà un buon esempio
possiamo effettivamente prevedere in base al
attributi del pezzo di terra cosa
tipo di foresta è probabilmente in crescita su
che atterra questo è di nuovo un ragionevole
set di dati ben noti e la macchina
imparare la comunità quindi è imitare un bene
esempio
come un punto di riferimento e quindi guardiamo
i dati bene i dati sono un mucchio di
caratteristica vettori un esempio e come prima
abbiamo un sacco di input e un output
e l’ho stampato un esempio qui e
formattato in un modo particolare per fare
alcuni punti su di esso i primi dieci
colonne o dieci funzioni sono i nostri valori numerici
e sono misure di cose come
elevazione e pendenza e penso a distanza
ad acqua e forse al più vicino
autostrada dimentico quello che sono che
quasi non importa i prossimi quattro
le funzionalità e i prossimi 40 sono in realtà
rispettivamente solo due caratteristiche due
attributi questi quattro descrivono il
tipo deserto è quel deserto arido o
scrub Mi dimentico che ci sono quattro tipi
di deserto che un pezzo di terra può
sii così esattamente una di queste quattro colonne
è uno e gli altri sono zero così
davvero questo è categorico o giusto
valore discreto che è stato codificato come a
serie di numeri e ci torneremo a
questo punto ma anche per questi quaranta
questo è in realtà uno dei quaranta tipi di terreno
quindi ci sono quaranta caratteristiche qui ma
sono concettualmente una caratteristica
perché tutti saranno zero tranne
per uno che sarà uno è come un
indicatore Vivint bandiera e ultimo ma non
Almeno abbiamo il tipo di copertina che richiede
su uno dei sette valori e questi sono
codificato come un numero da 1 a 7 così
è interessante notare che c’è davvero
tre valori non numerici qui codificati in
due modi diversi come la vita questo è
questo è un dato reale e iniziare a lavorare
con esso abbiamo bisogno di convertirlo in a
forma e una rappresentazione che la scintilla
ml implementazioni delle labbra possono consumare e
per la scintilla che si chiama Point etichettato
che è davvero solo un doppio e un
la matrice di raddoppia l’etichetta è l’uscita
e felicemente vuole anche categorico
caratteristiche codificate come un numero e noi abbiamo
già ottenuto che ok e poi questi sono
il resto è il vettore di funzionalità
tutti gli input sono codificati come un vettore
che è davvero solo una serie di doppi
così per fortuna noi questo dovrebbe essere
piuttosto semplice
questo è già il modo in cui questi dati sono codificati
in realtà questo dovrebbe essere carino
semplice per fare oggetti come
questo fuori dell’ingresso facciamolo può essere
un po ‘difficile da leggere, ma camminerò
attraverso questo questo è codice di scintilla reale
questo sta usando l’API di Sparks Scala e se lo è
sembra regolare Scala perché è
la scintilla è davvero a cuore distribuito
Scala così tante operazioni che
sono in realtà le chiamate API scintilla qui sono
andando a guardare, proprio come collezione Scala
Chiamate API e questa è una cosa buona importazione
alcune classi prima cosa che faremo è
apri o ottieni un riferimento a questo set di dati
che potrebbe vivere su HDFS o your your
cluster di file system distribuiti e in
SPARC praticamente tutto è un RDD a
set di dati distribuito resiliente in entrata
una collezione distribuita mutevole di
cose e nel caso di un file di testo
quella scintilla media può usarlo come RDD di
stringhe quindi un file di testo è solo un grande
la raccolta di stringhe ne vede una per riga
giusto questo è R, quindi i dati così grezzi sono un
RDD di stringhe che stiamo per trasformare
quelle stringhe in punti etichettati usando
una mappa qui per ogni linea divisa
virgole quindi ne facciamo un tokenize e noi
mappare ognuno di questi a un doppio quindi ora
Ho trasformato la mia linea in formato CSV in
una serie di doppi che ho intenzione di prendere
tutto tranne l’ ultimo e fare un vettore
fuori di esso quindi questo è il mio vettore di funzionalità
Prenderò l’ ultimo come il
uscita o etichetta e sottrarre uno da esso
poiché SPARC vuole che siano basati su zero
non uno basato e ci andiamo a fare un
etichettato fuori dall’etichetta e
caratteristica vettoriale e questo è il mio
processo di trasformazione in modo da poter digitare
questo codice direttamente nella shell SPARC
non c’è bisogno di compilare un programma e se tu
digita quello e digiti quello che troverai
che non succede nulla perché
non c’è ancora stata azione, quindi abbiamo appena fatto
ha descritto un processo che si sarebbe trasformato
un dato su HDFS in questo set di oggetti
in memoria ma non l’abbiamo chiesto di fare
ancora niente prima che andiamo e facciamo
qualcosa con esso e costruire una decisione
modello di albero comunque stiamo andando a
in realtà mettere da parte circa il 10% dei dati
per
a scopo di test, stiamo andando
per addestrare il modello sulla maggior parte dei dati
e trattenere un po ‘per quattro
ragioni per cui ti mostrerò nella prossima slide
per testare il modello, ma non per ultimo
almeno è interessante notare che noi
dovrebbe memorizzare nella cache i dati di allenamento
questo dice che l’ho fatto una volta che hai calcolato
l’ RTD mantieni il risultato
memoria nel cluster quindi prendili
quegli oggetti punto etichetta e in realtà
persisterli attraverso il distribuito
cache che ha lo sparuto esecutore
e questo sarà importante perché questo
processo accederà a tali dati
ancora e ancora e se è in memoria
questo è veloce e, naturalmente, questo è il motivo
la gente dice che SPARC può essere molto più veloce
di dire MapReduce perché può usare
memoria quindi utilizzare più memoria per
guadagna velocità e questo è un buon compromesso
in generale in questi giorni tutto ciò che ha fatto tutto
che lo mise da parte e poi costruì il
il modello dell’albero decisionale è solo un metodo
chiama qui questo non si allena
classificatore oltre i dati di input che abbiamo
a raccontarla in questo caso che ci sono
sette possibili valori dell’etichetta e questo
tratteremo in seguito questo è preoccupazioni che
i valori sono categorici e gli diamo un
accoppiare i parametri iper che di nuovo lo farò
spiegalo in un attimo
e l’uscita è un albero decisionale si
può stamparlo e di nuovo come nel nostro
codice vedi che possiamo leggere
fuori dalla logica qui data questa API
in realtà non sa cosa questi
le caratteristiche sono che non abbiamo dato loro il nome
quindi tutto ciò che può fare è chiamarli funzione
zero uno due tre, ma ancora una volta questo è
questo è l’ elevazione per esempio così il
la prima decisione è l’elevazione meno
di tremilaquarantadue piedi e
così via abbiamo potuto leggere la logica e
vedi questa struttura ad albero annidato nel
allo stesso modo, quindi è bello così abbiamo ottenuto
un buon albero decisionale fuori da questo ma di
Certo , non volevamo solo costruire il
albero per costruire l’albero che vogliamo costruire
l’albero per fare previsioni e guardare
a quell’albero decisionale certamente non lo facciamo
sapere se è un buon modello anche io
Pensa se siamo un esperto nel
campo non so che potremmo guardare
che e decidere se questo è il migliore
modello quindi abbiamo bisogno di un modo per valutare
se abbiamo costruito un buon modello se
questa cosa in realtà predicherà altri
tipi di copertura forestale da nuovi dati da fare
che abbiamo bisogno di un po ‘
qualche teoria della valutazione ed è per questo
abbiamo tenuto fuori alcuni dei dati del test scusate
alcuni dei dati di input come set di test
perché si tratta di nuovi dati o dati
modelli non visti prima per cui abbiamo
la risposta giusta e così abbiamo potuto vedere come
spesso il modello predice la stessa risposta
questo è ciò che sappiamo essere corretti da questo
test set quindi è quello che stiamo facendo qui
Farò un metodo che prende in
il modello che ho creato e un test per impostare un RDD
di punti etichettati e per ognuno di essi
andando a prendere quel punto e mapparlo a
il risultato della previsione dal modello
e la risposta corretta conosciuta così il
risultato di questa funzione sono due poli o
coppie di risposte previste e corrette
la risposta e la scintilla hanno anche un pochino
di supporto per l’analisi automatica
quei risultati per ottenere alcune metriche fuori così
questo è quello che sto per tornare e lo sono
intenzione di usarlo sul mio modello e testare
dati e quindi stampare alcuni dei
metriche che ne derivano
questo processo di valutazione quindi una cosa io
può uscire da questo è una confusione
matrice e una matrice di confusione è
effettivamente queste sono le risposte corrette di
fila quindi ecco tutti i sette possibili
uscite e le sette possibili
previsioni che il modello avrebbe potuto fare
e idealmente i modelli scrivono sempre e
quindi come il contare il numero di
volte che la risposta corretta era
ha predetto di essere tale e così una risposta
così idealmente l’unico che sarebbe diagonale
avere i valori e tutto il resto
sarebbe zero, che vorrebbe dire ogni in
ogni caso il modello ha previsto il
correggi i casi giusti
sono i conteggi diagonali qui e quello è
per lo più vero come puoi vedere ma no
sempre e la matrice di confusione aiuta
leggi alcuni attributi del
il modello come classificato non è mai stato
previsto per qualche motivo non so perché
ma forse è interessante così nel
principale sembra che i modelli lo facciano
qualcosa di ragionevole ma non lo è
sempre giusto non puoi vedere un numero di
errori qui e qui per esempio ma
forse poi un solo valore interessante
fuori da questa è la precisione di quanti
i tempi erano il modello corretto e questo è
questo è circa il 70% che è effettivamente il
somma della diagonale sulla somma di
tutto qui
corretto fuori dal 70% totale
suona bene è meglio di uno dentro
sette credo, ma è così buono?
fare meglio è meglio che casuale e
questo è sempre un buon modo di pensare
pensa a queste cose quando ottieni un
risultati sembra ok benchmarking
contro qualcos’altro qualcosa di più semplice
forse dopotutto se non è meglio
che indovinare casualmente perché preoccuparsi di a
modello di albero decisionale facciamo solo fare
ipotesi casuali e fare pure
quindi confrontiamoci con questo
indovinare casualmente e fare ciò che noi
potrebbe fare è guardare il nostro set di allenamento e
contare il numero di volte ciascuno dei
sette uscite si sono verificate e quindi indovinare
proporzione a quei conteggi per esempio
di classe uno era presente nei dati
il cinquanta percento delle volte 50
per cento delle volte vorrei solo indovinare
che la risposta è di classe 1 e alcuni di
il tempo che sarebbe giusto proprio come a
l’ orologio rotto è corretto due volte al giorno
potrebbe essere anche abbastanza corretto
spesso chi lo sa, possiamo implementarlo
abbastanza facilmente contando ce n’è un altro
esempio di azione scintillante contando il
numero di volte in cui ciascuna etichetta si verifica
siamo noi a togliere l’etichetta da ognuno di essi
punta e contandoli e poi solo
producendo proporzioni o prezzo sono
probabilità se ne uscirai così
questo è solo un conteggio diviso per la somma
del calcio lo faccio per il treno
e testare e poi metterli insieme
quindi conosciamo le probabilità del treno
Detti quanto frequentemente indovineremo
una classe contro l’altra e il test
le probabilità ci danno una distribuzione di
le risposte corrette corrette nel test
set e da quello che potremmo dedurre
quanto spesso saremmo corretti con questo
ipotesi casuali e persino fare uno pseudo
matrice di confusione qui fuori da questo
processo che sarà simmetrico
ovviamente ed è peggio casuale
suppongo che non sorprendentemente non lo sia
come va bene circa il 38% delle volte
così va bene così fuori dalla scatola la decisione
l’algoritmo ad albero sta facendo meglio di a
molto semplicistico ipotesi casuali
algoritmo in modo tale che tanto è buono così noi
fare qualcosa di giusto ma possiamo farlo
migliori e sì possiamo di sicuro Quindi cerchiamo di
Facciamo una parte migliore di fare meglio è
accordando il modello e te l’ho detto lì
c’erano tre parametri qui che spiegherei
più tardi e questi sono iper
parametri per il modello sono chiamati
parametri iper dal momento che non sono
cose che la modella impara ma cose di te
devono dare come parametri al modello
processo di costruzione stesso così mentre il
il modello imparerà quali nodi mettere
dove e quali soglie da scegliere
queste sono cose che abbiamo per i nostri input
al processo di costruzione del modello stesso
che scegliamo la massima profondità per qui è
facile da spiegare è la profondità massima
che l’albero si espanderà e tu
voglio limitarlo perché mentre vai
costruisci in profondità un albero sempre più profondo
taglia i dati in piccoli e
i sottoinsiemi più piccoli alla fine sei solo tu
rumore adeguato e questo non aiuta e
ti aiuta solo ad adattare i dati
avete in mano ed è improbabile per aiutare
fai buone previsioni in futuro
questo e ci vuole più tempo e
rende un modello più grande che ci vuole
più a punteggio, quindi questo è il più crudo
modo e l’ unico modo in cui questa implementazione
supporta al momento di sapere quando
smetti di espandermi ora puoi anche forse
guarda quando sembra espandersi il nodo
non aiuta molto perché non guadagna
molte informazioni o diminuzione in
purezza molto e questo ci porta a
impurità quindi in realtà forse ti spiego
il minimo si piega prima nell’iniziale
esempio ho provato due diverse soglie
per il peso dovrei provare una regola
basato su 500 chilogrammi o 100 chilogrammi
e in un processo algoritmico lo farei
voglio provare molte più possibilità e
scegli il migliore e questo è davvero un
parte fondamentale di ciò che l’ albero decisionale
algoritmo fa un sacco di nodi
espansioni e regole decisionali e
sceglie il migliore e poi procede
attraverso l’albero ma ma cosa è meglio
Voglio dire, sì, posso dirlo per provare a
centinaia di valori diversi su ogni nodo
ma quale è il migliore
come faccio a sapere quali sono le soglie
quello giusto per scegliere tra quei cento
quello che provo e quello è dove l’impurità
misura viene in impurità è un è vero
sarà il Krait
area in base alla quale giudichiamo una divisione nella sua
qualità ci sono due valori possibili per
l’impurità misura uno è Gini
impurità e uno è l’entropia ho messo la
la formula non lo è – perché è così
importante ma per illustrare che sono
in realtà non è poi così diverso
la loro interpretazione è probabilmente abbastanza
diverso dall’impurità di Gini, ti penso
potrebbe più rapidamente vederlo come un segno negativo
la probabilità che si tratti di un’ipotesi casuale
corretto all’interno di quel set di dati, quindi cosa
questo significa se il set di dati è molto
misto e ha un po ‘di tutto il
uscite quindi un’ipotesi casuale è improbabile
per essere corretti e quindi questo valore è alto
e questo è male perché noi lo vogliamo
regole decisionali per suddividere i dati in
regioni in cui l’output è chiaro
c’è solo un tipo di etichetta o di output
presenza nei sottoinsiemi quindi vogliamo
minore impurità vuoi una regola decisionale
prendere un insieme di impurità elevato di dati e
dividerlo in due sottoinsiemi con basso
impurità potremmo usare anche entropia come
quel criterio entropia è un’informazione
concetto teorico che misura l’in a
modo la mescolanza di un insieme di cose e
di nuovo se ne hai un bel po ‘
di tutto in un set che ha un valore elevato
entropia in un certo senso si potrebbe dire che è
perché è la prevedibilità del
il risultato a quel punto è alto il
l’imprevedibilità è alta, quindi anche noi
piacerebbe creare sottoinsiemi da a
regola decisionale che ha bassa entropia
Ho solo un’uscita o l’ altra
uscita perché poi saremmo saremo
guidando ad una decisione chiara dal
modello quindi in entrambi i casi inferiore è meglio
e le formule significano ignorare questo
costante che non ha importanza
sono entrambi come un negativo
media ponderata di qualcosa in questo
caso il registro delle proporzioni in questo
caso le proporzioni stesse così
sono lì in un modo relativo ma questo
è un po ‘di una barra laterale la domanda è
qual è la misura migliore per questo
set di dati e non sappiamo in realtà
non so solo guardarlo, quindi cosa?
intendiamo come facciamo a sapere quale
misura per scegliere quale profondità massima è
giusto o quale numero di curve da provare
e questo è un problema generale nel modello
costruendo perché i modelli avranno alti
programma
e non sappiamo necessariamente quali
sono corretti perché questo è il miglior valore
dipenderà dal set di dati così
la risposta per fortuna in Hadoop è giusta
provali tutti o prova un sacco di loro e in
scintilla ed è specificamente il
Scala API questo è davvero facile da fare in modo da
puoi scrivere un triplo annidato per loop qui
questo è quello che è in Scala
andando a provare tutte le possibili combinazioni
di due valori per questi tre iper
parametri così ho intenzione di provare entrambi Gini
impurità ed entropia, ci proverò a
profondità che dovrebbe essere molto superficiale
e la profondità 20 che dovrebbe essere molto profonda
e forse proverò a costruire 10 curve
contro 300 curve e quindi ce ne sono otto
possibili combinazioni qui e io vado
costruire un modello per ognuno di essi
qui e valutare la sua accuratezza proprio come
prima e restituire i tre valori I
usato e la precisione alla fine e
allora posso semplicemente prenderli e ordinarli
scendendo con questa precisione e stampando
li fuori così se si esegue questo ho trovato quando
L’ho eseguito che ho ottenuto circa il 91%
accuratezza con entropia come impurità
misura la profondità di venti e prova tre
cento curve che non è male, intendo
chiaramente questo è meglio di questo
combinazione che è solo il 63% ed è
meglio che la mia ipotesi iniziale di Geni per
100 proprio così penso che sia un po ‘
bello che solo in esecuzione questo processo
andare e ottenere una tazza di caffè si
può lasciare che questo costoso cluster faccia il
lavora per te e migliora la tua
prevedibilità e in effetti si potrebbe fare
questo tutto il giorno
potresti provare molte più combinazioni tu
potrebbe essere più intelligente di questa esplorazione
dello spazio parametro iper ma il
Il punto è che puoi spesso lanciare
Hardware e forza bruta cruda a
problema come questo e farlo fare un po ‘
lavoro altrimenti molto molto complesso
o difficile per noi sapere o indovinare e
che è questa è la premessa e promessa di
Hadoop quindi immagino che potremmo osservarlo
in generale parlando e provando di più
i valori più pieghe è meglio che rende
ha senso, se sto provando di più
possibili soglie sono più propensi a
avere una migliore
migliore risposta e la spesa non c’è
semplicemente che richiede più calcoli essa
richiede 30 volte di più per provare 300 valori
contro 10 in modo che più dritto
ovvio ma la profondità massima e il
misura di informazione che non è quasi
è chiaro quale scegliere, quindi è bello
per essere in grado di fare appello alla forza bruta su
con esso scatenando con un Duca e il
la cosa più bella è che voglio dire questo è
un processo parallelo che costruirà
parallelo attraverso il tuo cluster ma se tu
volevo rendere davvero caldo il tuo ammasso
in alto potresti inserire un punto in punto qui
da qualche parte in Scala e chiedi all’autista
programma in Scala per valutare tutto questo
allo stesso tempo in parallelo così dentro
costruire in parallelo otto modelli che sono
stessi processi paralleli sulla
cluster in modo da poter facilmente riempire il tuo
intero cluster con questo processo tutto a
una volta che è una buona cosa se hai
l’hardware è bello poterlo fare
digitare alcuni caratteri e fare pieno uso
per ottenere una risposta più veloce
parallelismo all’interno del parallelismo possiamo fare
meglio sì possiamo fare di meglio per ottenere
meglio da qui potremmo aver bisogno di no
applica solo forza bruta ma pensa a
un po ‘attraverso il processo e fare
alcuni miglioramenti ai nostri dati e a
rappresentazione così che ci darà anche noi
una vittoria e voglio tornare a questo
idea di variabili categoriali come me
diciamo che in realtà le uscite sono categoriche
variabile è una soia è un tipo di copertura
non c’è ordine, non c’è
come l’abete rosso è più grande di
Aspen o abete rosso sono uno in meno della quercia
ma lo abbiamo codificato come numero e
Inoltre ci sono altri due valori nella
dati impostati il tipo di terreno e il
tipo di deserto che non sono anche
valori ordinati ma loro dobbiamo
rappresentarli come numeri o cosa abbiamo
dovuto e il modo in cui sono stati codificati
in questo set di dati si chiama un cacciatore o
uno di questi è la codifica della pratica
prendere un set di un valore categoriale
che assume n valori possibili e
codificalo come n variabili di indicatore
sono zero o uno così per esempio se avessi
un valore categoriale che ha assunto tre
possibili valori cane gatto e pesce potrei
codificalo come tre caratteristiche esattamente
uno di cosa
era uno e il resto dei quali sono zero
quindi puoi pensare a questo come a un è
il gatto è cane è la caratteristica del pesce e gira
fuori che è un modo ragionevole di principio
per codificare i dati non numerici come numerici
per la maggior parte degli algoritmi, a
abbastanza buono codifica l’unico lato negativo
è se questo ha molti valori distinti
questo esplode e diventa piuttosto difficile
gestire in questo caso è carina
ragionevole
avevamo un valore con 40 valori ma quello
non era così male ora la cosa è questa
il processo è necessario se stai usando un
algoritmo che non può consumare categoricamente
valori direttamente per esempio il supporto
vettore forza decisionale macchina può
consumare queste categorie direttamente o
loro hanno un modo di principio di fare
valutare le regole in base alle categorie
senza questa codifica quindi in un modo questo
questo non è ottimale per una decisione
albero in modo che possiamo annullare questa codifica e
quindi riprovare e vedere se quello realmente
aiuta con una rappresentazione diversa così
concettualmente stiamo per crollare
queste quattro e queste 40 caratteristiche fino a
due questo diventerà l’indice
quello era un 1 nel set di 4 e questo è
l’indice che era un 1 in questo set di 40
quindi eccoci ancora in rappresentanza
questi valori non numerici come numeri così
dobbiamo essere un po ‘attenti a
rendersi conto che questi non sono numeri ma possiamo
dire all’algoritmo dell’albero decisionale a
trattarli come valori categoriali e
e procedere di conseguenza in modo che ETL
processo è ancora abbastanza semplice
dividiamo la linea che stiamo per tagliare
fuori dai 4 e 40 valori capire dove
il 1.0 è e aggiungere quelli indietro come
funzionalità aggiuntive sulla nostra funzione
vector e procedi come prima per restituire a
etichettato punto facile e poi riprovare
l’unica differenza qui è che siamo noi
dicendo l’input che quel decimo
caratteristica in quell’undicesima caratteristica non lo sono
in realtà numeri sono categorici
valori che assumono 4 e 40 diversi
valori rispettivamente, quindi devi dirlo
questa particolare implementazione su
quello prima del tempo diverso da quello che è
lo stesso possiamo eseguire lo stesso iper
processo di selezione dei parametri e uscire
con nuove risposte
quindi in questo caso il risultato migliore è stato
circa il 94% di precisione con impostazioni simili
Direi che ho provato alcuni valori diversi
qui profondità 3.300 curve quindi non è male
Voglio dire , sembra chiaramente chiaramente come
stiamo ottenendo risultati migliori da
questo processo e immagino che la ragione sia
che stiamo perdendo meno informazioni da parte
collassando concettualmente un valore verso il basso
ad un valore e lasciando l’algoritmo
trattalo di conseguenza piuttosto che
codificandolo e in qualche modo oscurando il
i dati così fa la rappresentazione dei dati
questione e questo è un altro argomento
per alberi decisionali che possono consumare
queste caratteristiche non numeriche possono direttamente
facciamo meglio sì possiamo ancora fare meglio
di questo ora è qui la decisione
le foreste entrano così come probabilmente hai
indovinato che questa non è foresta è un
mazzo di alberi decisionali messi insieme e
in particolare parleremo di
decisione casuale per noi ora di impostare il
palcoscenico per questo voglio che tu pensi
prendere una congettura non non non non fare
dimmi di non dirlo ai tuoi vicini
quanti taxi neri operano a Londra
pensa per te stesso non so di aver preso un
indovina come sei adesso e lo ero
Sbagliatamente , ma poi di nuovo più
le persone hanno torto ma abbiamo tutti noi
probabilmente ha fatto delle ipotesi plausibili
quindi la vera risposta è di circa 19.000
Credo che forse ne avresti avuto circa 10.000
più vicino di me l’ ho chiesto al nostro
ufficio e ho avuto un po ‘di partenza
cattive stime del numero di taxi in
Londra ma interessante se ho preso il
il mezzo di tutte le ipotesi era la media
ben più vicino alla risposta corretta quindi
la mia risposta è stata e in realtà era più vicino
alla risposta corretta rispetto alla maggior parte delle risposte
erano infatti così anche se molti
la gente si sbagliava in media
le persone erano ragionevolmente giuste, questo è il
cosiddetta saggezza delle folle se noi
medio combinato alcuni parzialmente istruiti
indovina ci ritroviamo con una ipotesi migliore
nel complesso e quindi questo è il fenomeno che noi
voglio sfruttare l’apprendimento automatico
quando parliamo di tecniche d’insieme
dove stiamo effettivamente mettendo insieme
molti classificatori che potrebbero avere diversi
opinioni sulla risposta giusta e
producendo una sola risposta da ciò
forse è meglio che nel
output di classificatori individuali, quindi facciamolo
vediamo se possiamo usare questo fenomeno per
migliorare migliorare sugli alberi decisionali sì così
questo non è per noi sfruttare la saggezza di
la folla è la chiave da asporto qui
ora il problema qui è tutto ciò che ho
descritto finora come deterministico, quindi se
date a questo algoritmo gli stessi dati
e gli stessi parametri iper si finirà
con lo stesso albero ogni volta e quello
non aiuta non aiuta ad avere 100
copie dello stesso albero che dà un
predizione perché sono tutti uguali
è come se avessi un solo albero quello che noi
davvero bisogno è una diversità di opinioni
qui abbiamo bisogno di un po ‘di leggermente
alberi diversi che danno leggermente
opinioni diverse buone buone ipotesi
previsioni ma forse leggermente diverse
quelli che possiamo fare la media insieme in a
previsione generale migliore quindi come facciamo noi
fai così come possiamo effettivamente diventare diversi
risposte dallo stesso algoritmo e
stessi dati due cose numero uno che possiamo
caramelle ogni albero un po ‘vicino
mostrando solo una parte dei dati così per
esempio potresti creare dieci alberi ciascuno
che guardano a un diverso 90% del
dati e per i quali un diverso 10% di
i dati sono tenuti in modo che ogni individuo
l’albero sarà un po ‘
diverso poiché è visto diversamente
input sarà un po ‘
peggio di un albero che sembrava tutto
i dati poiché ha meno input ma
stranamente l’ipotesi media su tutto
quei 10 formaggi saranno migliori
generale di un albero costruito su tutto il
dati che sono un’idea potente così e questo è
dove l’idea è la motivazione
perché le foreste casuali arrivano, potremmo
anche fare la stessa cosa ma con le caratteristiche
potresti vedere alberi diversi
diversi sottoinsiemi dell’input e del make
diverse previsioni basate su
quella
per esempio questo albero potrebbe guardare solo
l’elevazione e la pendenza e così via
uno potrebbe guardare il suolo e
tipo di deserto e otterrebbero
risposte diverse in effetti ma forse
nel complesso il
la risposta combinata è meglio di te
puoi fare entrambe le cose, puoi dividerlo entrambi
modi in cui puoi dividerlo fino ad alcuni
grado a caso che genera anche
un certo grado di differenza nel
uscite degli alberi e questo fenomeno
prende la decisione per noi l’edificio
processo particolarmente piacevole per Hadoop
Hadoop è fondamentalmente un parallelo di dati
paradigma in cui dobbiamo convivere con i dati
distribuito tutto attraverso un cluster e
in un mondo in cui è relativamente
costoso per spostare i dati in giro, quindi abbiamo bisogno
fare piccole operazioni su piccoli sottoinsiemi
dei dati e combinare le risposte a
la fine e questo è esattamente come la decisione
le foreste funzionano l’idea è di costruire più debole
alberi su piccoli sguardi ai dati
indipendentemente e quindi combinarli in
un insieme o una foresta alla fine quindi
questa è un’altra ragione per decidere le foreste
sono carini in un paradigma di dati paralleli
come Hadoop quindi se facciamo qualcosa di simile
questo troveremo che otteniamo alberi diversi
non solo soglie diverse in tutto
l’albero ma totalmente diverso
strutture che cercano caratteristiche diverse
fare previsioni diverse ecc. così noi
otterrà una diversità di opinioni da
questi da questi alberi e possiamo fare
centinaia di loro o anche mille se
vogliamo e poi fare una previsione
di tutti loro stiamo semplicemente prendendo
un voto a maggioranza per esempio chiedendo a ciascuno
degli alberi per una previsione e
predire quello che si verifica di più
possiamo fare cose spesso piuttosto semplici
per fortuna farlo anche nel laboratorio di ml
questo è anche implementato in SPARC
molto simile tranne che ce ne sono anche
molti parametri ora uno è il numero di
alberi da costruire e un altro è chiamato il
strategia caratteristica sottoinsieme questo è davvero
il mezzo è il modo in cui sceglie quanti
e quali caratteristiche diverse a caso
prova ad ogni livello e in una certa misura
controlla anche come il modo in cui gli esempi
sono una specie di appiattimento per gli alberi
questo controlla come diversi pezzi
dei dati vengono inviati a diversi alberi
per gli scopi qui lo lasceremo su Auto
ma ci sono altre impostazioni e
il resto è lo stesso naso stesso iper
parametri come per l’albero decisionale
modello e se si passa attraverso lo stesso
elaborare e provare un sacco di iper
parametri e provando
diversi numeri di alberi che puoi ottenere
abbastanza facilmente migliore precisione rispetto a
abbiamo avuto l’ultima volta che ho ottenuto circa il 96 percento
precisione con lo stesso processo con giusto
un paio d’ ore di messa a punto sul mio cluster I
immaginate se si è tentato un po ‘più difficile che si
potrebbe ottenere il 97 percento non lo so
pensa i migliori algoritmi che ho visto
per il tipo a 4 tazze hai finito con quello
forse un tasso di errore del 2% o così così è
abbastanza vicino allo stato dell’arte per
questo particolare set di dati non è male
per un semplice algoritmo che è implementato
per te che puoi usare la forza bruta e
un mucchio di potenza di gruppo per sintonizzarti
e ottenere risultati quasi allo stato dell’arte
e in effetti sono foreste casuali
generalmente un bel competitivo
algoritmo per una vasta gamma di problemi
quindi vale sicuramente la pena saperlo
Sicuramente vale la pena conoscere in
contesto di Hadoop e scintilla ora che è
non è la fine ma lascia che se lo fai
andato a tutto questo problema di preparazione
i tuoi dati e ti fanno punti etichettati
può facilmente provare altri algoritmi in ml
il labbro per esempio c’è un
implementazione del vettore di supporto
regressione macchina o logistica e loro
prendi l’ input come input originale
abbiamo mostrato qualcosa che potresti facilmente
alimentare anche questi algoritmi e
potresti facilmente metterli in un
ciclo di valutazione pure e vedere cosa
la loro accuratezza è come quella che è un’altra
bella cosa sull’utilizzo di ml lib lo fa
avere un set abbastanza standard e coeso
di implementazioni con lo stesso tipo di
inserire nello stesso tipo di uscite così tu
potrebbe facilmente confrontarli e contrastarli
un’altra cosa divertente di SPARC è quella
non è solo per ETL, non è solo per
apprendimento automatico ha uno streaming
componente chiamato spark streaming che
è una scintilla applicata a un flusso di dati
uscendo da una coda di messaggi come Kafka
per esempio e qualunque cosa tu faccia nella scintilla
Il laboratorio ml può essere usato all’interno della scintilla
streaming in modo che il modello di albero decisionale
potrebbe essere direttamente riutilizzato nella scintilla
lavoro in streaming che potrebbe segnare
i dati fanno previsioni su dati come questo
arriva nel cluster ora forse è così
non così utile per il tipo di copertura forestale ma
potrebbe essere utile se il tuo modello è
predire per
se rileva anomalie e sensori
Dati per esempio quindi è bello essere in grado
per trasferire direttamente il codice in questione
quel modello in un lavoro di streaming con no
senza modifiche o riscrittura e forse
vale anche la pena notare qui alla fine
per legarlo di nuovo all’inizio che
le foreste decisionali casuali non sono solo
algoritmi di classificazione che siamo stati
usandolo come classificatore qui per prevedere
un discreto valore categoriale ma loro
può anche essere usato per la regressione che è
significa prevedere su numerico continuo
valore in modo da poter prevedere anche i numeri
come categorie con questo stesso identico
tecnica e anche implementata in
Sparky ml labbro bene sapere che è tutto
da parte mia, grazie mille ci sono
domande obiezioni a cui tu gridi
loro e albero delle decisioni in condizioni normali
l’albero decisionale è più esplicativo di
per esempio supporto macchina vettoriale o
modello logistico come circa la foresta casuale
perché mi sembra che non lo sia
veramente esplicativo più giusto così a
la foresta di decisione casuale è davvero solo un
un mucchio di alberi decisionali quindi è di più
complicato di quello che stai scavando
attraverso un gruppo di questi alberi non solo
uno ma sotto sono tutti solo il
stessa decisione alberi all’interno di una foresta ma
ne hai poi ne non ne ha
implicazioni per esempio usando questo in
pratica perché per esempio ho lavoro
per la compagnia delle risorse umane nei meloni umani e lo so
che quando abbiamo corrispondenza e ricerca
i modelli quindi le persone lo trovano
difficoltà mentale per usarlo
quando non sanno quali sono i risultati
provengono da voi è più difficile per
una foresta decisionale allora questo poi tu
conosco questo modello di albero delle decisioni più semplice I
penso che sia probabilmente l’interpretabilità
dei modelli circa lo stesso tra a
albero decisionale e decisione per noi da allora
la foresta è solo molti alberi ma tu sei
giusto questo è esattamente il tipo di caso
dove gli alberi sono belli perché spesso
le persone devono o vogliono solo farlo
capire come pensano i modelli e
puoi leggerlo direttamente nel
caso di una foresta o di alberi non è poi uno
domanda finale come fa il
come fanno gli alberi decisionali e le foreste casuali
in generale rispetto a dire ad esempio
supporto supporto macchine vettoriali in
precisione di precisione richiama cose come
quella
come funziona in generale questo?
eseguire contro SVM
Non credo che ci sia una risposta a questo
Ho indovinato sull’interpretabilità a parte
la decisione per noi ha qualche vantaggio in
che possono fare molte belle classi
facilmente e consumare variabili categoriali
questo ha detto che in genere ho preso una decisione
per noi sono un approccio di forza bruta che
va bene in alcuni casi non in altri loro
tendono a lottare un po ‘con a
numero molto elevato di funzioni e SVM
avere alcuni trucchi che rendono molto grande
numero di caratteristiche funziona bene quindi non ho
penso che abbiano solo differenze
proprietà non c’è una risposta grazie
si mette in discussione qui sì signore in modo che il
la domanda è quando costruisco una decisione
foresta sto usando lo stesso iper
parametri per ogni albero sì così sono
fare una chiamata qui per addestrare il
classificatore e sto dando un set di
parametri iper posso costruire diversi
per noi diversi parametri iper ma
all’interno di una foresta che è costante il
le caratteristiche e gli esempi che guardano
sono diversi tra gli alberi però
va bene e ci sarà mai un’opzione per
cambia iperparametri all’interno di una foresta
o non è che non vorresti mai
utilizzare diversi parametri iper all’interno
una foresta non è pazza penso che sia
probabilmente non così importante si farebbe
generalmente vogliono avere uno coerente
misura all’interno di una foresta anche se immagino
la decisione per noi un esempio di
apprendimento di insieme dove non ti interessa
quali sono i singoli classificatori
stai solo facendo una media dei loro risultati
quindi non sarebbe pazzesco combinare due
foreste che sono state costruite in differenti
modi con diversi parametri iper e
media tutti i loro risultati
forse non non altrettanto importante o meno
utile, ma non c’è un uso per esso, ma
ma nota che questo non esiste
in questa API va bene c’è una domanda in
la parte posteriore
giusto così come le sue prestazioni influenzate da
la dimensione della foresta così certamente il
tempo di previsione cresce linearmente con
il numero di alberi da quando devi
esegui ogni esempio attraverso tutto il
alberi non puoi farlo in parallelo
il lato positivo dipende anche da
sulla profondità dell’albero ma quello è
è meno di un fattore dato che è così
come sai che il tempo cresce
logaritmicamente con il numero di
nodi decisionali e questo è quello che non è così
generalmente un problema
quindi generalmente descriverò la decisione
per noi è abbastanza veloce per segnare che sono
non veloce come un modello lineare che è
solo facendo un prodotto puntino forse, ma ho
in genere non è un problema vero
avere una domanda che approccio simile
potrebbe essere applicato a non due alberi ma a
un modello lineare così sicuro che ne consegni un po ‘
vantaggi infatti potresti mettere
insieme un insieme di modelli lineari
sì, sicuramente le foreste decisionali sono così
davvero solo gruppi per alberi decisionali
puoi creare un gruppo di supporto
classificatori di macchine vettoriali pure e
vedrei un effetto simile, sì, penso
quello è fatto pure penso che il
il beneficio di ensemble è forse di più
pronunciato negli alberi decisionali o in qualche modo
è una bella misura per il modo
gli alberi decisionali funzionano ma non c’è niente
specifico su quell’idea e questo è
specifico per gli alberi decisionali sì uno di più
va bene c’è qualche relazione tra il
numero di funzioni e il numero di
albero che dovrebbe essere usato va bene c’è a
relazione tra il numero di input
caratteristiche e il numero di alberi che
dovrebbe essere usato è interessante
quindi suppongo che dipenda da quanti
caratteristiche differenti a cui ogni albero guarda
perché in generale ogni albero
non considererà tutte le funzionalità così
per esempio per un problema di classificazione
spesso ogni albero guarderà al
radice quadrata del numero di funzioni
penso che sia il default nel nostro
e molte persone hanno appena seguito il pieno
di quello così dato che suppongo che tu
aveva solo un paio di alberi e un grande
numero di funzioni che probabilmente useresti
finisci per non guardare mai qualcuno dei tuoi
funzioni solo in modo casuale perché solo a
pochi sono scelti quindi posso supporre che tu voglia
avere abbastanza alberi che sospetti
hai usato almeno tutte le tue funzionalità
una volta
la media era la presenza di a
stallo perché può essere una possibilità
contraddizione di quando si combina
diversi alberi ci possono essere
contraddizione di diversi sottoinsiemi di
caratteristiche in modo da sapere che c’era
stallo intendo dire che stava funzionando a lungo
e c’era la produttività
la prevedibilità ha raggiunto o hai affrontato
niente c’è ne esiste una possibilità
di stallo nell’anfiteatro hai fatto
ottenere un punto morto intendo perché quando tu
confrontare tra diversi alberi che possono
essere una contraddizione giusto perché
diverse decisioni da diversi
le caratteristiche in un albero possono essere diverse
da se un albero così oh fa gli alberi
in disaccordo Assolutamente sì
quindi speriamo che gli alberi in generale
parlando sono d’accordo su una previsione e
questa è la tua che è la tua previsione finale
ma non saranno tutti d’accordo in generale I
Immagino la cosa bella di questo sei tu
potrebbe ritornare al chiamante non solo
rispondi ma una distribuzione di previsioni
Il 70% degli alberi dicono che è una classe
venti per cento dicono che è di classe due e in
Infatti anche gli alberi stessi possono dare
tu una distribuzione sulle categorie
e puoi mediare quelle distribuzioni
quindi sì , certamente gli alberi lo faranno
arrivare a risposte diverse a volte
ma va bene, c’è da aspettarselo
grazie mille
tu
qui per parlare di due cose e spero
almeno uno di loro è interessante
il numero uno è la scintilla di Apache che io sono
certo tutti nella stanza sono ormai
sentito parlare di è un nuovo hotness nel
L’ecosistema Hadoop è una nuova elaborazione
paradigma e ha molto da offrire, penso
per i dati scienziati nella stanza come
bene, ma voglio anche parlare di
foresta decisionale che è un comune e
algoritmo importante e in macchina
apprendimento e scienza dei dati e uno io
penso che tutti dovrebbero saperlo un po ‘
quindi spero che tu sia qui per
conoscere almeno uno forse forse
entrambi allo stesso tempo iniziamo che voglio
per iniziare eseguendo il backup un po ‘e
parlando delle radici di
predizione o dove abbiamo avuto questa idea
predire alcuni dati da altri dati e
Mi piace tornare a questa immagine questo
è stato disegnato da Sir Francis Galton
nel 18 ° secolo penso che lo fosse
studiando la relazione tra
genitori e figli in particolare loro
altezze e ha notato che i genitori alti
avere bambini alti sorprendentemente quello che lui
stava davvero arrivando però era quello
i genitori molto alti hanno alti ma non molto
bambini alti e ha chiamato questo
regressione alla media e lo facciamo ancora
parlare di regressione al mezzo
ma interessante ha provato a tracciare il suo
dati e aveva complottato i genitori credo che lui
potrebbe aver capovolto gli assi rispetto a
quello a cui siamo abituati, ma i genitori contro
bambino altezza e trovato c’era un tipo
di relazione lineare tra i due
e la pendenza era meno di uno, ma io
penso che questo sia davvero quasi un esempio
di un modello predittivo precoce l’idea
che potremmo dire qualcosa sul
altezza del bambino dato il sito genitore come
input e questo atto di disegnare una linea a
stabilire quella relazione lineare noi
chiama ancora quella regressione per questo
ragione anche se in realtà non ha nulla
fare con regressione alla media o
muoversi all’indietro o qualsiasi cosa così non c’è
qualcosa di interessante su questo
immagine particolare storicamente ora se
pensate a questo proposito è che è un presente
Dalton forse involontariamente stava postando un
scatola nera c’è questa catena di
nucleo di relazioni
relazioni forse causazioni tra questo
input e questa uscita non sappiamo cosa
sono io non credo che lui stava cercando di
spiegare esattamente fisiologicamente perché
i genitori hanno figli alti ma lui
pensavo che ci fosse una relazione lì
e ha mostrato la relazione che ha provato
per descrivere quella scatola nera in questo
relazione lineare e davvero questo è
come gran parte dell’apprendimento automatico o
l’apprendimento supervisionato pensa al mondo
più in particolare c’è un molto comune
i dati indicati hanno chiamato i dati dell’iride
impostare che le persone hanno utilizzato nella ricerca
per anni e il set di dati che
descrive un mazzo di iris o fiori
e dà loro misurazioni loro
lunghezza e larghezza delle persone e dei petali e
la loro specie e pensiamo che ci sia
qualche relazione tra i due
mi scusi hanno dato alcuni di questi
misurazioni che sono cause o correlazioni
con il tipo di fiore che è
e noi non sappiamo perché non abbiamo bisogno di
so perché, al fine di modello che
relazione o per descrivere quel nero
box che collega questi input a quello
uscita e infatti questa è la magia di a
apprendimento automatico che in realtà non lo facciamo
dobbiamo capire le relazioni noi
possiamo solo provare a modellarli e
imparali empiricamente dai dati che sono
un esempio dal set di dati dell’iride stesso
i set di dati non sono importanti ma è a
buon esempio di quasi ogni normale
dati di apprendimento automatico impostati là fuori voi
avere un sacco di esempi di input più
le uscite in questo caso sono quattro colonne
di misure numeriche questi sono i
lunghezze e centimetri del sepalo e
il sepalo e pedali lunghezze e larghezze
e la specie le uscite e questo è
la cosa che stiamo cercando di prevedere
dati gli input e ancora crediamo
c’è questa connessione tra i due
e vogliamo scoprire ciò che non è
scoprilo ma descrivilo e modellalo
e quindi ne abbiamo dato abbastanza di questo
questi esempi di input e output
crediamo di poter imparare come
blackbox si comporta e questa è l’essenza
di quasi tutti i convenzionali standard
l’apprendimento automatico ha dato abbastanza di questi
caratteristica dei vettori possiamo costruire un modello
questo è un tentativo di tracciare questi dati
impostato ora è davvero quadridimensionale ma
qui penso solo che ho appena tracciato
tre o raccolto un complotto di tre di
loro
motori quindi ogni punto nello spazio tre di
le sue dimensioni sono terminate determinate
da tre dei suoi ingressi e il colore e
la forma è l’ output o la specie e
tu ed io possiamo vedere che l’iris setosa
esiste in un’area abbastanza distinta di
lo spazio delle funzionalità intuitivamente lo capiamo
che quando le misure sono messe a
punto là è probabilmente uno zoo
Tosa e davvero molto classico
algoritmi di classificazione e macchina
l’apprendimento riguarda esclusivamente il disegno delle linee
cercando di capire qual è la linea
tra questi dati di un tipo e quello
dati di un altro tipo, perché se potessimo
disegniamo questa linea in modo efficace che potremmo
effettivamente dire che roba qui in
lo spazio delle funzionalità è probabilmente questo tipo di
fiore a questo tipo di output e questo è
una che è una forma di modello predittivo quindi
se hai sentito parlare di regressione logistica
la regressione logistica è davvero lineare
modello sta cercando di scegliere una linea migliore
o davvero molto iperpiano nello spazio
questo sta dividendo alcuni tipi di
uscite da altri tipi di uscite
se hai sentito parlare del vettore di supporto
macchine è anche un modello lineare che
cerca di disegnare forse un po ‘meglio
iperpiano che sta massimizzando i margini
qui tra le classi e il
linea e poi se hai sentito parlare di supporto
macchine vettoriali più il kernel
trucco che è un tentativo di disegnare un pareggio
linea migliore forse non lineare
lo spazio delle feature originali, quindi possiamo
disegnare linee curve nello spazio e di nuovo
ognuna di queste l’idea alla base di ciascuna di
questi è solo disegnare un migliore e
migliore confine tra le uscite
stiamo cercando di prevedere per discriminare
loro e questo è buono e questo è
potente ma questa non è l’ unica forma
dell’algoritmo o del limite decisionale che possiamo
costruisci per cercare di discriminare le classi
o uscite e in effetti gli alberi decisionali sono
non di questa forma e ma c’è ancora a
idea interessante e potente per
classificazione quindi voglio presentarvi
brevemente così da introdurre una decisione
alberi voglio dare un rapido esempio di giocattolo
quindi immagina di essere un robot che lavora
un negozio di animali e hai bisogno di sapere quale
gli animali domestici sono adatti a bambini e te
non so perché
gli animali domestici sono adatti ai bambini o meno
ma i proprietari
ti ho detto quanto segue puoi farlo
misurare quanto segue gli attributi di
gli animali nel negozio e sei stato
detto in alcuni casi che sono sì
adatto a bambini o no non ora io
penso che tu e io possiamo in qualche modo intuitivamente
capisci che un enorme elefante non è un
buon animale domestico sì forse un millepiedi velenoso
non è un buon animale si, ma il robot
non sa queste cose che può fare il robot
impara solo empiricamente su questi dati
che abbiamo dato ad essa oggi una valida
approccio se tu sei il robot è quello di provare
a venire con alcune regole pratiche
basato su questi dati che potrebbero
discriminare i sì dal naso per
esempio potresti davvero vedere quel peso
sembra importare il sai molto pesante
animale domestico sembra non essere un buon animale domestico in questi
due casi così forse è un bene
luogo per iniziare forse proviamo a fare un
regola decisionale basata sul peso quindi noi
inizia da lì e forse questo è il primo
la regola decisionale ci viene in mente se lo è
oltre 500 chilogrammi non è adatto se
è altrimenti se lo fosse e sarebbe così
avere ragione in circa la metà di questi casi
in realtà non è male, ma non lo è
davvero meglio del caso così
non sembra abbastanza buono
regola delle decisioni in modo che possiamo rendere questo più
elaborato forse potrebbe provare diverso
Soglie forse sai cento
chilogrammi è un posto migliore per iniziare
discriminante e forse tra i
animali più piccoli abbiamo bisogno di un ulteriore
discriminazione e un’altra regola che
basato sul colore può essere così puoi fare un
processo decisionale più elaborato che
con diversi livelli qui e ottenere di più
risposte corrette
per esempio questa regola di decisione mentre
ancora piuttosto semplicistico ottiene sette di
i nove esempi corretti e questo è
è meglio e tu puoi immaginare
che con un altro paio di passaggi qui
potrebbe ottenere un cento per cento della
esempi corretti che possono o non possono essere
una cosa buona in realtà potremmo finirci
adatta i dati ma penso che il processo sia
abbastanza chiaro, vogliamo continuare a tagliare
le regole decisionali e la stratificazione
loro al fine di riflettere con precisione il
input abbiamo e c’è qualche processo
qui con il quale potremmo fare questo e il
la cosa bella dell’output qui è che lo è
è abbastanza intuitivo da leggere e dentro
fatto
come classificatore questo è anche un modello
della relazione tra tre input
e un output quindi è valido
algoritmo di classificazione di
Certo che la domanda è come costruiamo
questi alberi e che è in realtà tutti
la complessità degli alberi decisionali come si fa
prendiamo l’albero giusto come lo sappiamo
quando fermare cose del genere così per il
curioso se pensi alle regole
gli alberi decisionali sono semplici
gli alberi decisionali finiscono per prendere una decisione
confini come questo in confronto
l’accesso allinea i confini che mantengono
tagliare lo spazio in due parti
questo caso e due tramite decisioni binarie
continua a tagliare lo spazio ricorsivamente lungo
lungo determinate dimensioni così è
qualitativamente un diverso tipo di
regola decisionale da cui puoi uscire
alberi decisionali quindi puoi uscire da un
modello lineare e questo ha in alcuni casi
questo è più potente questo è un altro
un modo potente per modellare la decisione
confini qui per l’illustrazione che ho
costruito due diverse classificazione
modelli questo è solo un R questo non lo è
SPARC a sinistra abbiamo un supporto
modello di macchina vettoriale a destra noi
avere un modello di foresta decisionale e in entrambi
casi che stiamo per costruire
basato sul set di dati IRS che è così
comune ed è incorporato nel nostro come IRS
molto semplice da fare in R a questo punto in
entrambi i casi che abbiamo costruito costruiamo un modello e
è una classificazione perfettamente eccellente
modello su cui entrambi hanno un’accuratezza elevata
questo set di dati, ma interessante se tu
guarda il modello e prova a interpretare
si basa sulla sua rappresentazione in stringa a
scopri che i modelli lineari sono un po ‘
sono troppo difficili da ragionare su questi
i vettori di supporto e hanno a
significato e possiamo capire
loro e forse li interpretano ma è così
ci vuole un po ‘ di tempo per pensare
su cosa questo significhi il significato di
questo anche il cambiamento si basa su cosa
esattamente come hai fatto nel vettore di supporto
macchina così i modelli lineari sono forse no
banale da interpretare mentre decisione
gli alberi sono molto più semplici si
può quasi leggere la logica in
linguaggio semplice
in cima inizia l’albero decisionale
chiedendo se la lunghezza del pedale è inferiore
uguale o uguale a un punto nove
centimetri se è così penso che questo significhi
prevedere la prima classe il primo di
le tre specie altrimenti sembra
alla larghezza del petalo altro e se questo è
abbastanza piccolo controlla la lunghezza del pedale
e così via, così potresti facilmente
ricostruire la logica e spiegare a
Qualunque cosa sia la logica che ha portato
tu ad una decisione o l’altra e
forse come un botanico che potresti valutare
se queste regole sono sicure ma
ma almeno possiamo tutti leggerli
fuori e spiega come è il modello
relativi ingressi a un’uscita e questo è
spesso anche potente soprattutto nel pensare
sulla finanza o sui settori regolamentati
dove devi spiegare perché il tuo
processo approvato qualcuno da un prestito
o no quindi questo è un non banale
considerazione nella modellazione ora ovviamente
come pubblicizzato di cui voglio parlare
alberi decisionali implementati in Sparks
sottoprogetto di apprendimento automatico che è
chiamato ml vivono almeno i classici
il componente di apprendimento automatico si chiama ml
Lib e ha un’implementazione di
alberi decisionali e decisione effettiva
anche foreste che ci arriveremo
questa è la parte in cui iniziamo a mostrare
cosa significa costruire una vera decisione
albero su larga scala usando la scintilla per questo
esempio, ho intenzione di utilizzare un set di dati
chiamato il set di dati del tipo di copertura che è
una felice coincidenza anche per gli alberi e
foreste è 580
mille esempi ciascuno dei quali
descrive un pezzo di terra Credo che in in
Colorado negli Stati Uniti ha un
un sacco di funzioni su quel pezzo di
terra come la sua altezza e pendenza e io
pensa all’umidità e alla distanza dall’acqua e
forse la luce del sole e così via e ha anche
il tipo di foresta che copre quel pezzo
di terra è
nessun albero è Aspen abete ecc. questo può essere o
potrebbe non essere interessante per noi come a
problema ma sarà un buon esempio
possiamo effettivamente prevedere in base al
attributi del pezzo di terra cosa
tipo di foresta è probabilmente in crescita su
che atterra questo è di nuovo un ragionevole
set di dati ben noti e la macchina
imparare la comunità quindi è imitare un bene
esempio
come un punto di riferimento e quindi guardiamo
i dati bene i dati sono un mucchio di
caratteristica vettori un esempio e come prima
abbiamo un sacco di input e un output
e l’ho stampato un esempio qui e
formattato in un modo particolare per fare
alcuni punti su di esso i primi dieci
colonne o dieci funzioni sono i nostri valori numerici
e sono misure di cose come
elevazione e pendenza e penso a distanza
ad acqua e forse al più vicino
autostrada dimentico quello che sono che
quasi non importa i prossimi quattro
le funzionalità e i prossimi 40 sono in realtà
rispettivamente solo due caratteristiche due
attributi questi quattro descrivono il
tipo deserto è quel deserto arido o
scrub Mi dimentico che ci sono quattro tipi
di deserto che un pezzo di terra può
sii così esattamente una di queste quattro colonne
è uno e gli altri sono zero così
davvero questo è categorico o giusto
valore discreto che è stato codificato come a
serie di numeri e ci torneremo a
questo punto ma anche per questi quaranta
questo è in realtà uno dei quaranta tipi di terreno
quindi ci sono quaranta caratteristiche qui ma
sono concettualmente una caratteristica
perché tutti saranno zero tranne
per uno che sarà uno è come un
indicatore Vivint bandiera e ultimo ma non
Almeno abbiamo il tipo di copertina che richiede
su uno dei sette valori e questi sono
codificato come un numero da 1 a 7 così
è interessante notare che c’è davvero
tre valori non numerici qui codificati in
due modi diversi come la vita questo è
questo è un dato reale e iniziare a lavorare
con esso abbiamo bisogno di convertirlo in a
forma e una rappresentazione che la scintilla
ml implementazioni delle labbra possono consumare e
per la scintilla che si chiama Point etichettato
che è davvero solo un doppio e un
la matrice di raddoppia l’etichetta è l’uscita
e felicemente vuole anche categorico
caratteristiche codificate come un numero e noi abbiamo
già ottenuto che ok e poi questi sono
il resto è il vettore di funzionalità
tutti gli input sono codificati come un vettore
che è davvero solo una serie di doppi
così per fortuna noi questo dovrebbe essere
piuttosto semplice
questo è già il modo in cui questi dati sono codificati
in realtà questo dovrebbe essere carino
semplice per fare oggetti come
questo fuori dell’ingresso facciamolo può essere
un po ‘difficile da leggere, ma camminerò
attraverso questo questo è codice di scintilla reale
questo sta usando l’API di Sparks Scala e se lo è
sembra regolare Scala perché è
la scintilla è davvero a cuore distribuito
Scala così tante operazioni che
sono in realtà le chiamate API scintilla qui sono
andando a guardare, proprio come collezione Scala
Chiamate API e questa è una cosa buona importazione
alcune classi prima cosa che faremo è
apri o ottieni un riferimento a questo set di dati
che potrebbe vivere su HDFS o your your
cluster di file system distribuiti e in
SPARC praticamente tutto è un RDD a
set di dati distribuito resiliente in entrata
una collezione distribuita mutevole di
cose e nel caso di un file di testo
quella scintilla media può usarlo come RDD di
stringhe quindi un file di testo è solo un grande
la raccolta di stringhe ne vede una per riga
giusto questo è R, quindi i dati così grezzi sono un
RDD di stringhe che stiamo per trasformare
quelle stringhe in punti etichettati usando
una mappa qui per ogni linea divisa
virgole quindi ne facciamo un tokenize e noi
mappare ognuno di questi a un doppio quindi ora
Ho trasformato la mia linea in formato CSV in
una serie di doppi che ho intenzione di prendere
tutto tranne l’ ultimo e fare un vettore
fuori di esso quindi questo è il mio vettore di funzionalità
Prenderò l’ ultimo come il
uscita o etichetta e sottrarre uno da esso
poiché SPARC vuole che siano basati su zero
non uno basato e ci andiamo a fare un
etichettato fuori dall’etichetta e
caratteristica vettoriale e questo è il mio
processo di trasformazione in modo da poter digitare
questo codice direttamente nella shell SPARC
non c’è bisogno di compilare un programma e se tu
digita quello e digiti quello che troverai
che non succede nulla perché
non c’è ancora stata azione, quindi abbiamo appena fatto
ha descritto un processo che si sarebbe trasformato
un dato su HDFS in questo set di oggetti
in memoria ma non l’abbiamo chiesto di fare
ancora niente prima che andiamo e facciamo
qualcosa con esso e costruire una decisione
modello di albero comunque stiamo andando a
in realtà mettere da parte circa il 10% dei dati
per
a scopo di test, stiamo andando
per addestrare il modello sulla maggior parte dei dati
e trattenere un po ‘per quattro
ragioni per cui ti mostrerò nella prossima slide
per testare il modello, ma non per ultimo
almeno è interessante notare che noi
dovrebbe memorizzare nella cache i dati di allenamento
questo dice che l’ho fatto una volta che hai calcolato
l’ RTD mantieni il risultato
memoria nel cluster quindi prendili
quegli oggetti punto etichetta e in realtà
persisterli attraverso il distribuito
cache che ha lo sparuto esecutore
e questo sarà importante perché questo
processo accederà a tali dati
ancora e ancora e se è in memoria
questo è veloce e, naturalmente, questo è il motivo
la gente dice che SPARC può essere molto più veloce
di dire MapReduce perché può usare
memoria quindi utilizzare più memoria per
guadagna velocità e questo è un buon compromesso
in generale in questi giorni tutto ciò che ha fatto tutto
che lo mise da parte e poi costruì il
il modello dell’albero decisionale è solo un metodo
chiama qui questo non si allena
classificatore oltre i dati di input che abbiamo
a raccontarla in questo caso che ci sono
sette possibili valori dell’etichetta e questo
tratteremo in seguito questo è preoccupazioni che
i valori sono categorici e gli diamo un
accoppiare i parametri iper che di nuovo lo farò
spiegalo in un attimo
e l’uscita è un albero decisionale si
può stamparlo e di nuovo come nel nostro
codice vedi che possiamo leggere
fuori dalla logica qui data questa API
in realtà non sa cosa questi
le caratteristiche sono che non abbiamo dato loro il nome
quindi tutto ciò che può fare è chiamarli funzione
zero uno due tre, ma ancora una volta questo è
questo è l’ elevazione per esempio così il
la prima decisione è l’elevazione meno
di tremilaquarantadue piedi e
così via abbiamo potuto leggere la logica e
vedi questa struttura ad albero annidato nel
allo stesso modo, quindi è bello così abbiamo ottenuto
un buon albero decisionale fuori da questo ma di
Certo , non volevamo solo costruire il
albero per costruire l’albero che vogliamo costruire
l’albero per fare previsioni e guardare
a quell’albero decisionale certamente non lo facciamo
sapere se è un buon modello anche io
Pensa se siamo un esperto nel
campo non so che potremmo guardare
che e decidere se questo è il migliore
modello quindi abbiamo bisogno di un modo per valutare
se abbiamo costruito un buon modello se
questa cosa in realtà predicherà altri
tipi di copertura forestale da nuovi dati da fare
che abbiamo bisogno di un po ‘
qualche teoria della valutazione ed è per questo
abbiamo tenuto fuori alcuni dei dati del test scusate
alcuni dei dati di input come set di test
perché si tratta di nuovi dati o dati
modelli non visti prima per cui abbiamo
la risposta giusta e così abbiamo potuto vedere come
spesso il modello predice la stessa risposta
questo è ciò che sappiamo essere corretti da questo
test set quindi è quello che stiamo facendo qui
Farò un metodo che prende in
il modello che ho creato e un test per impostare un RDD
di punti etichettati e per ognuno di essi
andando a prendere quel punto e mapparlo a
il risultato della previsione dal modello
e la risposta corretta conosciuta così il
risultato di questa funzione sono due poli o
coppie di risposte previste e corrette
la risposta e la scintilla hanno anche un pochino
di supporto per l’analisi automatica
quei risultati per ottenere alcune metriche fuori così
questo è quello che sto per tornare e lo sono
intenzione di usarlo sul mio modello e testare
dati e quindi stampare alcuni dei
metriche che ne derivano
questo processo di valutazione quindi una cosa io
può uscire da questo è una confusione
matrice e una matrice di confusione è
effettivamente queste sono le risposte corrette di
fila quindi ecco tutti i sette possibili
uscite e le sette possibili
previsioni che il modello avrebbe potuto fare
e idealmente i modelli scrivono sempre e
quindi come il contare il numero di
volte che la risposta corretta era
ha predetto di essere tale e così una risposta
così idealmente l’unico che sarebbe diagonale
avere i valori e tutto il resto
sarebbe zero, che vorrebbe dire ogni in
ogni caso il modello ha previsto il
correggi i casi giusti
sono i conteggi diagonali qui e quello è
per lo più vero come puoi vedere ma no
sempre e la matrice di confusione aiuta
leggi alcuni attributi del
il modello come classificato non è mai stato
previsto per qualche motivo non so perché
ma forse è interessante così nel
principale sembra che i modelli lo facciano
qualcosa di ragionevole ma non lo è
sempre giusto non puoi vedere un numero di
errori qui e qui per esempio ma
forse poi un solo valore interessante
fuori da questa è la precisione di quanti
i tempi erano il modello corretto e questo è
questo è circa il 70% che è effettivamente il
somma della diagonale sulla somma di
tutto qui
corretto fuori dal 70% totale
suona bene è meglio di uno dentro
sette credo, ma è così buono?
fare meglio è meglio che casuale e
questo è sempre un buon modo di pensare
pensa a queste cose quando ottieni un
risultati sembra ok benchmarking
contro qualcos’altro qualcosa di più semplice
forse dopotutto se non è meglio
che indovinare casualmente perché preoccuparsi di a
modello di albero decisionale facciamo solo fare
ipotesi casuali e fare pure
quindi confrontiamoci con questo
indovinare casualmente e fare ciò che noi
potrebbe fare è guardare il nostro set di allenamento e
contare il numero di volte ciascuno dei
sette uscite si sono verificate e quindi indovinare
proporzione a quei conteggi per esempio
di classe uno era presente nei dati
il cinquanta percento delle volte 50
per cento delle volte vorrei solo indovinare
che la risposta è di classe 1 e alcuni di
il tempo che sarebbe giusto proprio come a
l’ orologio rotto è corretto due volte al giorno
potrebbe essere anche abbastanza corretto
spesso chi lo sa, possiamo implementarlo
abbastanza facilmente contando ce n’è un altro
esempio di azione scintillante contando il
numero di volte in cui ciascuna etichetta si verifica
siamo noi a togliere l’etichetta da ognuno di essi
punta e contandoli e poi solo
producendo proporzioni o prezzo sono
probabilità se ne uscirai così
questo è solo un conteggio diviso per la somma
del calcio lo faccio per il treno
e testare e poi metterli insieme
quindi conosciamo le probabilità del treno
Detti quanto frequentemente indovineremo
una classe contro l’altra e il test
le probabilità ci danno una distribuzione di
le risposte corrette corrette nel test
set e da quello che potremmo dedurre
quanto spesso saremmo corretti con questo
ipotesi casuali e persino fare uno pseudo
matrice di confusione qui fuori da questo
processo che sarà simmetrico
ovviamente ed è peggio casuale
suppongo che non sorprendentemente non lo sia
come va bene circa il 38% delle volte
così va bene così fuori dalla scatola la decisione
l’algoritmo ad albero sta facendo meglio di a
molto semplicistico ipotesi casuali
algoritmo in modo tale che tanto è buono così noi
fare qualcosa di giusto ma possiamo farlo
migliori e sì possiamo di sicuro Quindi cerchiamo di
Facciamo una parte migliore di fare meglio è
accordando il modello e te l’ho detto lì
c’erano tre parametri qui che spiegherei
più tardi e questi sono iper
parametri per il modello sono chiamati
parametri iper dal momento che non sono
cose che la modella impara ma cose di te
devono dare come parametri al modello
processo di costruzione stesso così mentre il
il modello imparerà quali nodi mettere
dove e quali soglie da scegliere
queste sono cose che abbiamo per i nostri input
al processo di costruzione del modello stesso
che scegliamo la massima profondità per qui è
facile da spiegare è la profondità massima
che l’albero si espanderà e tu
voglio limitarlo perché mentre vai
costruisci in profondità un albero sempre più profondo
taglia i dati in piccoli e
i sottoinsiemi più piccoli alla fine sei solo tu
rumore adeguato e questo non aiuta e
ti aiuta solo ad adattare i dati
avete in mano ed è improbabile per aiutare
fai buone previsioni in futuro
questo e ci vuole più tempo e
rende un modello più grande che ci vuole
più a punteggio, quindi questo è il più crudo
modo e l’ unico modo in cui questa implementazione
supporta al momento di sapere quando
smetti di espandermi ora puoi anche forse
guarda quando sembra espandersi il nodo
non aiuta molto perché non guadagna
molte informazioni o diminuzione in
purezza molto e questo ci porta a
impurità quindi in realtà forse ti spiego
il minimo si piega prima nell’iniziale
esempio ho provato due diverse soglie
per il peso dovrei provare una regola
basato su 500 chilogrammi o 100 chilogrammi
e in un processo algoritmico lo farei
voglio provare molte più possibilità e
scegli il migliore e questo è davvero un
parte fondamentale di ciò che l’ albero decisionale
algoritmo fa un sacco di nodi
espansioni e regole decisionali e
sceglie il migliore e poi procede
attraverso l’albero ma ma cosa è meglio
Voglio dire, sì, posso dirlo per provare a
centinaia di valori diversi su ogni nodo
ma quale è il migliore
come faccio a sapere quali sono le soglie
quello giusto per scegliere tra quei cento
quello che provo e quello è dove l’impurità
misura viene in impurità è un è vero
sarà il Krait
area in base alla quale giudichiamo una divisione nella sua
qualità ci sono due valori possibili per
l’impurità misura uno è Gini
impurità e uno è l’entropia ho messo la
la formula non lo è – perché è così
importante ma per illustrare che sono
in realtà non è poi così diverso
la loro interpretazione è probabilmente abbastanza
diverso dall’impurità di Gini, ti penso
potrebbe più rapidamente vederlo come un segno negativo
la probabilità che si tratti di un’ipotesi casuale
corretto all’interno di quel set di dati, quindi cosa
questo significa se il set di dati è molto
misto e ha un po ‘di tutto il
uscite quindi un’ipotesi casuale è improbabile
per essere corretti e quindi questo valore è alto
e questo è male perché noi lo vogliamo
regole decisionali per suddividere i dati in
regioni in cui l’output è chiaro
c’è solo un tipo di etichetta o di output
presenza nei sottoinsiemi quindi vogliamo
minore impurità vuoi una regola decisionale
prendere un insieme di impurità elevato di dati e
dividerlo in due sottoinsiemi con basso
impurità potremmo usare anche entropia come
quel criterio entropia è un’informazione
concetto teorico che misura l’in a
modo la mescolanza di un insieme di cose e
di nuovo se ne hai un bel po ‘
di tutto in un set che ha un valore elevato
entropia in un certo senso si potrebbe dire che è
perché è la prevedibilità del
il risultato a quel punto è alto il
l’imprevedibilità è alta, quindi anche noi
piacerebbe creare sottoinsiemi da a
regola decisionale che ha bassa entropia
Ho solo un’uscita o l’ altra
uscita perché poi saremmo saremo
guidando ad una decisione chiara dal
modello quindi in entrambi i casi inferiore è meglio
e le formule significano ignorare questo
costante che non ha importanza
sono entrambi come un negativo
media ponderata di qualcosa in questo
caso il registro delle proporzioni in questo
caso le proporzioni stesse così
sono lì in un modo relativo ma questo
è un po ‘di una barra laterale la domanda è
qual è la misura migliore per questo
set di dati e non sappiamo in realtà
non so solo guardarlo, quindi cosa?
intendiamo come facciamo a sapere quale
misura per scegliere quale profondità massima è
giusto o quale numero di curve da provare
e questo è un problema generale nel modello
costruendo perché i modelli avranno alti
programma
e non sappiamo necessariamente quali
sono corretti perché questo è il miglior valore
dipenderà dal set di dati così
la risposta per fortuna in Hadoop è giusta
provali tutti o prova un sacco di loro e in
scintilla ed è specificamente il
Scala API questo è davvero facile da fare in modo da
puoi scrivere un triplo annidato per loop qui
questo è quello che è in Scala
andando a provare tutte le possibili combinazioni
di due valori per questi tre iper
parametri così ho intenzione di provare entrambi Gini
impurità ed entropia, ci proverò a
profondità che dovrebbe essere molto superficiale
e la profondità 20 che dovrebbe essere molto profonda
e forse proverò a costruire 10 curve
contro 300 curve e quindi ce ne sono otto
possibili combinazioni qui e io vado
costruire un modello per ognuno di essi
qui e valutare la sua accuratezza proprio come
prima e restituire i tre valori I
usato e la precisione alla fine e
allora posso semplicemente prenderli e ordinarli
scendendo con questa precisione e stampando
li fuori così se si esegue questo ho trovato quando
L’ho eseguito che ho ottenuto circa il 91%
accuratezza con entropia come impurità
misura la profondità di venti e prova tre
cento curve che non è male, intendo
chiaramente questo è meglio di questo
combinazione che è solo il 63% ed è
meglio che la mia ipotesi iniziale di Geni per
100 proprio così penso che sia un po ‘
bello che solo in esecuzione questo processo
andare e ottenere una tazza di caffè si
può lasciare che questo costoso cluster faccia il
lavora per te e migliora la tua
prevedibilità e in effetti si potrebbe fare
questo tutto il giorno
potresti provare molte più combinazioni tu
potrebbe essere più intelligente di questa esplorazione
dello spazio parametro iper ma il
Il punto è che puoi spesso lanciare
Hardware e forza bruta cruda a
problema come questo e farlo fare un po ‘
lavoro altrimenti molto molto complesso
o difficile per noi sapere o indovinare e
che è questa è la premessa e promessa di
Hadoop quindi immagino che potremmo osservarlo
in generale parlando e provando di più
i valori più pieghe è meglio che rende
ha senso, se sto provando di più
possibili soglie sono più propensi a
avere una migliore
migliore risposta e la spesa non c’è
semplicemente che richiede più calcoli essa
richiede 30 volte di più per provare 300 valori
contro 10 in modo che più dritto
ovvio ma la profondità massima e il
misura di informazione che non è quasi
è chiaro quale scegliere, quindi è bello
per essere in grado di fare appello alla forza bruta su
con esso scatenando con un Duca e il
la cosa più bella è che voglio dire questo è
un processo parallelo che costruirà
parallelo attraverso il tuo cluster ma se tu
volevo rendere davvero caldo il tuo ammasso
in alto potresti inserire un punto in punto qui
da qualche parte in Scala e chiedi all’autista
programma in Scala per valutare tutto questo
allo stesso tempo in parallelo così dentro
costruire in parallelo otto modelli che sono
stessi processi paralleli sulla
cluster in modo da poter facilmente riempire il tuo
intero cluster con questo processo tutto a
una volta che è una buona cosa se hai
l’hardware è bello poterlo fare
digitare alcuni caratteri e fare pieno uso
per ottenere una risposta più veloce
parallelismo all’interno del parallelismo possiamo fare
meglio sì possiamo fare di meglio per ottenere
meglio da qui potremmo aver bisogno di no
applica solo forza bruta ma pensa a
un po ‘attraverso il processo e fare
alcuni miglioramenti ai nostri dati e a
rappresentazione così che ci darà anche noi
una vittoria e voglio tornare a questo
idea di variabili categoriali come me
diciamo che in realtà le uscite sono categoriche
variabile è una soia è un tipo di copertura
non c’è ordine, non c’è
come l’abete rosso è più grande di
Aspen o abete rosso sono uno in meno della quercia
ma lo abbiamo codificato come numero e
Inoltre ci sono altri due valori nella
dati impostati il tipo di terreno e il
tipo di deserto che non sono anche
valori ordinati ma loro dobbiamo
rappresentarli come numeri o cosa abbiamo
dovuto e il modo in cui sono stati codificati
in questo set di dati si chiama un cacciatore o
uno di questi è la codifica della pratica
prendere un set di un valore categoriale
che assume n valori possibili e
codificalo come n variabili di indicatore
sono zero o uno così per esempio se avessi
un valore categoriale che ha assunto tre
possibili valori cane gatto e pesce potrei
codificalo come tre caratteristiche esattamente
uno di cosa
era uno e il resto dei quali sono zero
quindi puoi pensare a questo come a un è
il gatto è cane è la caratteristica del pesce e gira
fuori che è un modo ragionevole di principio
per codificare i dati non numerici come numerici
per la maggior parte degli algoritmi, a
abbastanza buono codifica l’unico lato negativo
è se questo ha molti valori distinti
questo esplode e diventa piuttosto difficile
gestire in questo caso è carina
ragionevole
avevamo un valore con 40 valori ma quello
non era così male ora la cosa è questa
il processo è necessario se stai usando un
algoritmo che non può consumare categoricamente
valori direttamente per esempio il supporto
vettore forza decisionale macchina può
consumare queste categorie direttamente o
loro hanno un modo di principio di fare
valutare le regole in base alle categorie
senza questa codifica quindi in un modo questo
questo non è ottimale per una decisione
albero in modo che possiamo annullare questa codifica e
quindi riprovare e vedere se quello realmente
aiuta con una rappresentazione diversa così
concettualmente stiamo per crollare
queste quattro e queste 40 caratteristiche fino a
due questo diventerà l’indice
quello era un 1 nel set di 4 e questo è
l’indice che era un 1 in questo set di 40
quindi eccoci ancora in rappresentanza
questi valori non numerici come numeri così
dobbiamo essere un po ‘attenti a
rendersi conto che questi non sono numeri ma possiamo
dire all’algoritmo dell’albero decisionale a
trattarli come valori categoriali e
e procedere di conseguenza in modo che ETL
processo è ancora abbastanza semplice
dividiamo la linea che stiamo per tagliare
fuori dai 4 e 40 valori capire dove
il 1.0 è e aggiungere quelli indietro come
funzionalità aggiuntive sulla nostra funzione
vector e procedi come prima per restituire a
etichettato punto facile e poi riprovare
l’unica differenza qui è che siamo noi
dicendo l’input che quel decimo
caratteristica in quell’undicesima caratteristica non lo sono
in realtà numeri sono categorici
valori che assumono 4 e 40 diversi
valori rispettivamente, quindi devi dirlo
questa particolare implementazione su
quello prima del tempo diverso da quello che è
lo stesso possiamo eseguire lo stesso iper
processo di selezione dei parametri e uscire
con nuove risposte
quindi in questo caso il risultato migliore è stato
circa il 94% di precisione con impostazioni simili
Direi che ho provato alcuni valori diversi
qui profondità 3.300 curve quindi non è male
Voglio dire , sembra chiaramente chiaramente come
stiamo ottenendo risultati migliori da
questo processo e immagino che la ragione sia
che stiamo perdendo meno informazioni da parte
collassando concettualmente un valore verso il basso
ad un valore e lasciando l’algoritmo
trattalo di conseguenza piuttosto che
codificandolo e in qualche modo oscurando il
i dati così fa la rappresentazione dei dati
questione e questo è un altro argomento
per alberi decisionali che possono consumare
queste caratteristiche non numeriche possono direttamente
facciamo meglio sì possiamo ancora fare meglio
di questo ora è qui la decisione
le foreste entrano così come probabilmente hai
indovinato che questa non è foresta è un
mazzo di alberi decisionali messi insieme e
in particolare parleremo di
decisione casuale per noi ora di impostare il
palcoscenico per questo voglio che tu pensi
prendere una congettura non non non non fare
dimmi di non dirlo ai tuoi vicini
quanti taxi neri operano a Londra
pensa per te stesso non so di aver preso un
indovina come sei adesso e lo ero
Sbagliatamente , ma poi di nuovo più
le persone hanno torto ma abbiamo tutti noi
probabilmente ha fatto delle ipotesi plausibili
quindi la vera risposta è di circa 19.000
Credo che forse ne avresti avuto circa 10.000
più vicino di me l’ ho chiesto al nostro
ufficio e ho avuto un po ‘di partenza
cattive stime del numero di taxi in
Londra ma interessante se ho preso il
il mezzo di tutte le ipotesi era la media
ben più vicino alla risposta corretta quindi
la mia risposta è stata e in realtà era più vicino
alla risposta corretta rispetto alla maggior parte delle risposte
erano infatti così anche se molti
la gente si sbagliava in media
le persone erano ragionevolmente giuste, questo è il
cosiddetta saggezza delle folle se noi
medio combinato alcuni parzialmente istruiti
indovina ci ritroviamo con una ipotesi migliore
nel complesso e quindi questo è il fenomeno che noi
voglio sfruttare l’apprendimento automatico
quando parliamo di tecniche d’insieme
dove stiamo effettivamente mettendo insieme
molti classificatori che potrebbero avere diversi
opinioni sulla risposta giusta e
producendo una sola risposta da ciò
forse è meglio che nel
output di classificatori individuali, quindi facciamolo
vediamo se possiamo usare questo fenomeno per
migliorare migliorare sugli alberi decisionali sì così
questo non è per noi sfruttare la saggezza di
la folla è la chiave da asporto qui
ora il problema qui è tutto ciò che ho
descritto finora come deterministico, quindi se
date a questo algoritmo gli stessi dati
e gli stessi parametri iper si finirà
con lo stesso albero ogni volta e quello
non aiuta non aiuta ad avere 100
copie dello stesso albero che dà un
predizione perché sono tutti uguali
è come se avessi un solo albero quello che noi
davvero bisogno è una diversità di opinioni
qui abbiamo bisogno di un po ‘di leggermente
alberi diversi che danno leggermente
opinioni diverse buone buone ipotesi
previsioni ma forse leggermente diverse
quelli che possiamo fare la media insieme in a
previsione generale migliore quindi come facciamo noi
fai così come possiamo effettivamente diventare diversi
risposte dallo stesso algoritmo e
stessi dati due cose numero uno che possiamo
caramelle ogni albero un po ‘vicino
mostrando solo una parte dei dati così per
esempio potresti creare dieci alberi ciascuno
che guardano a un diverso 90% del
dati e per i quali un diverso 10% di
i dati sono tenuti in modo che ogni individuo
l’albero sarà un po ‘
diverso poiché è visto diversamente
input sarà un po ‘
peggio di un albero che sembrava tutto
i dati poiché ha meno input ma
stranamente l’ipotesi media su tutto
quei 10 formaggi saranno migliori
generale di un albero costruito su tutto il
dati che sono un’idea potente così e questo è
dove l’idea è la motivazione
perché le foreste casuali arrivano, potremmo
anche fare la stessa cosa ma con le caratteristiche
potresti vedere alberi diversi
diversi sottoinsiemi dell’input e del make
diverse previsioni basate su
quella
per esempio questo albero potrebbe guardare solo
l’elevazione e la pendenza e così via
uno potrebbe guardare il suolo e
tipo di deserto e otterrebbero
risposte diverse in effetti ma forse
nel complesso il
la risposta combinata è meglio di te
puoi fare entrambe le cose, puoi dividerlo entrambi
modi in cui puoi dividerlo fino ad alcuni
grado a caso che genera anche
un certo grado di differenza nel
uscite degli alberi e questo fenomeno
prende la decisione per noi l’edificio
processo particolarmente piacevole per Hadoop
Hadoop è fondamentalmente un parallelo di dati
paradigma in cui dobbiamo convivere con i dati
distribuito tutto attraverso un cluster e
in un mondo in cui è relativamente
costoso per spostare i dati in giro, quindi abbiamo bisogno
fare piccole operazioni su piccoli sottoinsiemi
dei dati e combinare le risposte a
la fine e questo è esattamente come la decisione
le foreste funzionano l’idea è di costruire più debole
alberi su piccoli sguardi ai dati
indipendentemente e quindi combinarli in
un insieme o una foresta alla fine quindi
questa è un’altra ragione per decidere le foreste
sono carini in un paradigma di dati paralleli
come Hadoop quindi se facciamo qualcosa di simile
questo troveremo che otteniamo alberi diversi
non solo soglie diverse in tutto
l’albero ma totalmente diverso
strutture che cercano caratteristiche diverse
fare previsioni diverse ecc. così noi
otterrà una diversità di opinioni da
questi da questi alberi e possiamo fare
centinaia di loro o anche mille se
vogliamo e poi fare una previsione
di tutti loro stiamo semplicemente prendendo
un voto a maggioranza per esempio chiedendo a ciascuno
degli alberi per una previsione e
predire quello che si verifica di più
possiamo fare cose spesso piuttosto semplici
per fortuna farlo anche nel laboratorio di ml
questo è anche implementato in SPARC
molto simile tranne che ce ne sono anche
molti parametri ora uno è il numero di
alberi da costruire e un altro è chiamato il
strategia caratteristica sottoinsieme questo è davvero
il mezzo è il modo in cui sceglie quanti
e quali caratteristiche diverse a caso
prova ad ogni livello e in una certa misura
controlla anche come il modo in cui gli esempi
sono una specie di appiattimento per gli alberi
questo controlla come diversi pezzi
dei dati vengono inviati a diversi alberi
per gli scopi qui lo lasceremo su Auto
ma ci sono altre impostazioni e
il resto è lo stesso naso stesso iper
parametri come per l’albero decisionale
modello e se si passa attraverso lo stesso
elaborare e provare un sacco di iper
parametri e provando
diversi numeri di alberi che puoi ottenere
abbastanza facilmente migliore precisione rispetto a
abbiamo avuto l’ultima volta che ho ottenuto circa il 96 percento
precisione con lo stesso processo con giusto
un paio d’ ore di messa a punto sul mio cluster I
immaginate se si è tentato un po ‘più difficile che si
potrebbe ottenere il 97 percento non lo so
pensa i migliori algoritmi che ho visto
per il tipo a 4 tazze hai finito con quello
forse un tasso di errore del 2% o così così è
abbastanza vicino allo stato dell’arte per
questo particolare set di dati non è male
per un semplice algoritmo che è implementato
per te che puoi usare la forza bruta e
un mucchio di potenza di gruppo per sintonizzarti
e ottenere risultati quasi allo stato dell’arte
e in effetti sono foreste casuali
generalmente un bel competitivo
algoritmo per una vasta gamma di problemi
quindi vale sicuramente la pena saperlo
Sicuramente vale la pena conoscere in
contesto di Hadoop e scintilla ora che è
non è la fine ma lascia che se lo fai
andato a tutto questo problema di preparazione
i tuoi dati e ti fanno punti etichettati
può facilmente provare altri algoritmi in ml
il labbro per esempio c’è un
implementazione del vettore di supporto
regressione macchina o logistica e loro
prendi l’ input come input originale
abbiamo mostrato qualcosa che potresti facilmente
alimentare anche questi algoritmi e
potresti facilmente metterli in un
ciclo di valutazione pure e vedere cosa
la loro accuratezza è come quella che è un’altra
bella cosa sull’utilizzo di ml lib lo fa
avere un set abbastanza standard e coeso
di implementazioni con lo stesso tipo di
inserire nello stesso tipo di uscite così tu
potrebbe facilmente confrontarli e contrastarli
un’altra cosa divertente di SPARC è quella
non è solo per ETL, non è solo per
apprendimento automatico ha uno streaming
componente chiamato spark streaming che
è una scintilla applicata a un flusso di dati
uscendo da una coda di messaggi come Kafka
per esempio e qualunque cosa tu faccia nella scintilla
Il laboratorio ml può essere usato all’interno della scintilla
streaming in modo che il modello di albero decisionale
potrebbe essere direttamente riutilizzato nella scintilla
lavoro in streaming che potrebbe segnare
i dati fanno previsioni su dati come questo
arriva nel cluster ora forse è così
non così utile per il tipo di copertura forestale ma
potrebbe essere utile se il tuo modello è
predire per
se rileva anomalie e sensori
Dati per esempio quindi è bello essere in grado
per trasferire direttamente il codice in questione
quel modello in un lavoro di streaming con no
senza modifiche o riscrittura e forse
vale anche la pena notare qui alla fine
per legarlo di nuovo all’inizio che
le foreste decisionali casuali non sono solo
algoritmi di classificazione che siamo stati
usandolo come classificatore qui per prevedere
un discreto valore categoriale ma loro
può anche essere usato per la regressione che è
significa prevedere su numerico continuo
valore in modo da poter prevedere anche i numeri
come categorie con questo stesso identico
tecnica e anche implementata in
Sparky ml labbro bene sapere che è tutto
da parte mia, grazie mille ci sono
domande obiezioni a cui tu gridi
loro e albero delle decisioni in condizioni normali
l’albero decisionale è più esplicativo di
per esempio supporto macchina vettoriale o
modello logistico come circa la foresta casuale
perché mi sembra che non lo sia
veramente esplicativo più giusto così a
la foresta di decisione casuale è davvero solo un
un mucchio di alberi decisionali quindi è di più
complicato di quello che stai scavando
attraverso un gruppo di questi alberi non solo
uno ma sotto sono tutti solo il
stessa decisione alberi all’interno di una foresta ma
ne hai poi ne non ne ha
implicazioni per esempio usando questo in
pratica perché per esempio ho lavoro
per la compagnia delle risorse umane nei meloni umani e lo so
che quando abbiamo corrispondenza e ricerca
i modelli quindi le persone lo trovano
difficoltà mentale per usarlo
quando non sanno quali sono i risultati
provengono da voi è più difficile per
una foresta decisionale allora questo poi tu
conosco questo modello di albero delle decisioni più semplice I
penso che sia probabilmente l’interpretabilità
dei modelli circa lo stesso tra a
albero decisionale e decisione per noi da allora
la foresta è solo molti alberi ma tu sei
giusto questo è esattamente il tipo di caso
dove gli alberi sono belli perché spesso
le persone devono o vogliono solo farlo
capire come pensano i modelli e
puoi leggerlo direttamente nel
caso di una foresta o di alberi non è poi uno
domanda finale come fa il
come fanno gli alberi decisionali e le foreste casuali
in generale rispetto a dire ad esempio
supporto supporto macchine vettoriali in
precisione di precisione richiama cose come
quella
come funziona in generale questo?
eseguire contro SVM
Non credo che ci sia una risposta a questo
Ho indovinato sull’interpretabilità a parte
la decisione per noi ha qualche vantaggio in
che possono fare molte belle classi
facilmente e consumare variabili categoriali
questo ha detto che in genere ho preso una decisione
per noi sono un approccio di forza bruta che
va bene in alcuni casi non in altri loro
tendono a lottare un po ‘con a
numero molto elevato di funzioni e SVM
avere alcuni trucchi che rendono molto grande
numero di caratteristiche funziona bene quindi non ho
penso che abbiano solo differenze
proprietà non c’è una risposta grazie
si mette in discussione qui sì signore in modo che il
la domanda è quando costruisco una decisione
foresta sto usando lo stesso iper
parametri per ogni albero sì così sono
fare una chiamata qui per addestrare il
classificatore e sto dando un set di
parametri iper posso costruire diversi
per noi diversi parametri iper ma
all’interno di una foresta che è costante il
le caratteristiche e gli esempi che guardano
sono diversi tra gli alberi però
va bene e ci sarà mai un’opzione per
cambia iperparametri all’interno di una foresta
o non è che non vorresti mai
utilizzare diversi parametri iper all’interno
una foresta non è pazza penso che sia
probabilmente non così importante si farebbe
generalmente vogliono avere uno coerente
misura all’interno di una foresta anche se immagino
la decisione per noi un esempio di
apprendimento di insieme dove non ti interessa
quali sono i singoli classificatori
stai solo facendo una media dei loro risultati
quindi non sarebbe pazzesco combinare due
foreste che sono state costruite in differenti
modi con diversi parametri iper e
media tutti i loro risultati
forse non non altrettanto importante o meno
utile, ma non c’è un uso per esso, ma
ma nota che questo non esiste
in questa API va bene c’è una domanda in
la parte posteriore
giusto così come le sue prestazioni influenzate da
la dimensione della foresta così certamente il
tempo di previsione cresce linearmente con
il numero di alberi da quando devi
esegui ogni esempio attraverso tutto il
alberi non puoi farlo in parallelo
il lato positivo dipende anche da
sulla profondità dell’albero ma quello è
è meno di un fattore dato che è così
come sai che il tempo cresce
logaritmicamente con il numero di
nodi decisionali e questo è quello che non è così
generalmente un problema
quindi generalmente descriverò la decisione
per noi è abbastanza veloce per segnare che sono
non veloce come un modello lineare che è
solo facendo un prodotto puntino forse, ma ho
in genere non è un problema vero
avere una domanda che approccio simile
potrebbe essere applicato a non due alberi ma a
un modello lineare così sicuro che ne consegni un po ‘
vantaggi infatti potresti mettere
insieme un insieme di modelli lineari
sì, sicuramente le foreste decisionali sono così
davvero solo gruppi per alberi decisionali
puoi creare un gruppo di supporto
classificatori di macchine vettoriali pure e
vedrei un effetto simile, sì, penso
quello è fatto pure penso che il
il beneficio di ensemble è forse di più
pronunciato negli alberi decisionali o in qualche modo
è una bella misura per il modo
gli alberi decisionali funzionano ma non c’è niente
specifico su quell’idea e questo è
specifico per gli alberi decisionali sì uno di più
va bene c’è qualche relazione tra il
numero di funzioni e il numero di
albero che dovrebbe essere usato va bene c’è a
relazione tra il numero di input
caratteristiche e il numero di alberi che
dovrebbe essere usato è interessante
quindi suppongo che dipenda da quanti
caratteristiche differenti a cui ogni albero guarda
perché in generale ogni albero
non considererà tutte le funzionalità così
per esempio per un problema di classificazione
spesso ogni albero guarderà al
radice quadrata del numero di funzioni
penso che sia il default nel nostro
e molte persone hanno appena seguito il pieno
di quello così dato che suppongo che tu
aveva solo un paio di alberi e un grande
numero di funzioni che probabilmente useresti
finisci per non guardare mai qualcuno dei tuoi
funzioni solo in modo casuale perché solo a
pochi sono scelti quindi posso supporre che tu voglia
avere abbastanza alberi che sospetti
hai usato almeno tutte le tue funzionalità
una volta
la media era la presenza di a
stallo perché può essere una possibilità
contraddizione di quando si combina
diversi alberi ci possono essere
contraddizione di diversi sottoinsiemi di
caratteristiche in modo da sapere che c’era
stallo intendo dire che stava funzionando a lungo
e c’era la produttività
la prevedibilità ha raggiunto o hai affrontato
niente c’è ne esiste una possibilità
di stallo nell’anfiteatro hai fatto
ottenere un punto morto intendo perché quando tu
confrontare tra diversi alberi che possono
essere una contraddizione giusto perché
diverse decisioni da diversi
le caratteristiche in un albero possono essere diverse
da se un albero così oh fa gli alberi
in disaccordo Assolutamente sì
quindi speriamo che gli alberi in generale
parlando sono d’accordo su una previsione e
questa è la tua che è la tua previsione finale
ma non saranno tutti d’accordo in generale I
Immagino la cosa bella di questo sei tu
potrebbe ritornare al chiamante non solo
rispondi ma una distribuzione di previsioni
Il 70% degli alberi dicono che è una classe
venti per cento dicono che è di classe due e in
Infatti anche gli alberi stessi possono dare
tu una distribuzione sulle categorie
e puoi mediare quelle distribuzioni
quindi sì , certamente gli alberi lo faranno
arrivare a risposte diverse a volte
ma va bene, c’è da aspettarselo
grazie mille
tu
Please follow and like us: