wie kann ich drucken Sie variable Bedeutung in der gbm-Funktion?

Benutzte ich die gbm Funktion zu implementieren, gradient boosting. Und ich möchte Klassifikation.
Danach habe ich die varImp() Funktion zum drucken variabler Bedeutung, gradient boosting-Modellierung.
Aber... nur 4 Variablen, die nicht null Bedeutung. Es sind 371 Variablen, die in my big data.... Ist es richtig?
Das ist mein code und das Ergebnis.

>asd<-read.csv("bigdatafile.csv",header=TRUE)
>asd1<-gbm(TARGET~.,n.trees=50,distribution="adaboost", verbose=TRUE,interaction.depth = 1,data=asd)

Iter   TrainDeviance   ValidDeviance   StepSize   Improve
 1        0.5840             nan     0.0010    0.0011
 2        0.5829             nan     0.0010    0.0011
 3        0.5817             nan     0.0010    0.0011
 4        0.5806             nan     0.0010    0.0011
 5        0.5795             nan     0.0010    0.0011
 6        0.5783             nan     0.0010    0.0011
 7        0.5772             nan     0.0010    0.0011
 8        0.5761             nan     0.0010    0.0011
 9        0.5750             nan     0.0010    0.0011
10        0.5738             nan     0.0010    0.0011
20        0.5629             nan     0.0010    0.0011
40        0.5421             nan     0.0010    0.0010
50        0.5321             nan     0.0010    0.0010

>varImp(asd1,numTrees = 50)
                    Overall
CA0000801           0.00000
AS0000138           0.00000
AS0000140           0.00000
A1                  0.00000
PROFILE_CODE        0.00000
A2                  0.00000
CB_thinfile2        0.00000
SP_thinfile2        0.00000
thinfile1           0.00000
EW0001901           0.00000
EW0020901           0.00000
EH0001801           0.00000
BS_Seg1_Score       0.00000
BS_Seg2_Score       0.00000
LA0000106           0.00000
EW0001903           0.00000
EW0002801           0.00000
EW0002902           0.00000
EW0002903           0.00000
EW0002904           0.00000
EW0002906           0.00000
LA0300104_SP       56.19052
ASMGRD2          2486.12715
MIX_GRD          2211.03780
P71010401_1         0.00000
PS0000265           0.00000
P11021100           0.00000
PE0000123           0.00000

Gibt es 371 Variablen. Also über das Ergebnis,ich wollte nicht schreiben, die anderen Variablen. Alle haben null Bedeutung.

TARGET ist die target-variable. Und ich produziert 50 Bäume. TARGET-variable hat zwei Ebenen. so habe ich adaboost.

Ist es ein Fehler in meinem code??? Es gibt eine kleine nicht-null-Variablen....

Danke für Eure Antworten.

Hängt alles von den Daten und nichts, was hier zeigt, dass dies nicht richtig sein könnte. Vier Funktionen in Ihre Daten richtig zu klassifizieren Ziel. Das ist, warum alle anderen haben null Bedeutung.
Ich Stimme mit @discipulus. Das ausgewählte Modell diejenigen Variablen, um das Ergebnis vorherzusagen. Sie können versuchen, und Stimmen Sie die hyperparameters, um zu sehen, wenn die variable Bedeutung ändert. Sie können erzwingen, dass das Modell zu berücksichtigen anderen Variablen, wenn Sie diese 4 Variablen aus den Daten. Vielleicht versuchen Sie es mit "Bernoulli" oder "Binomial" - distribution, wenn Ihr Ziel ist binäre.

InformationsquelleAutor | 2017-02-14

Schreibe einen Kommentar