Я попытался использовать пакет rfsr c для массивного набора данных.
Я получил AU C: NaN Частота ошибок: 0, 0, 0
Кроме того, получил предупреждающие сообщения: 1: Длина (x) * Длина (y): NA получены от целочисленное переполнение 2: по длине (x) * length (y): NA, полученные при целочисленном переполнении
Традиционный случайный лес не смог обработать данные. Мне было интересно, если бы вы могли дать мне некоторое представление по этим вопросам. Я ценю ваше время. Берегите себя!
Мой код:
str(df)
'data.frame': 250000 obs. of 32 variables:
$ DER_mass_MMC : num 138 161 -999 144 176 ...
$ DER_mass_transverse_met_lep: num 51.7 68.8 162.2 81.4 16.9 ...
$ DER_mass_vis : num 97.8 103.2 126 80.9 134.8 ...
$ DER_pt_h : num 27.98 48.146 35.635 0.414 16.405 ...
$ DER_deltaeta_jet_jet : num 0.91 -999 -999 -999 -999 ...
$ DER_mass_jet_jet : num 125 -999 -999 -999 -999 ...
$ DER_prodeta_jet_jet : num 2.67 -999 -999 -999 -999 ...
$ DER_deltar_tau_lep : num 3.06 3.47 3.15 3.31 3.89 ...
$ DER_pt_tot : num 41.928 2.078 9.336 0.414 16.405 ...
$ DER_sum_pt : num 198 125 198 76 58 ...
$ DER_pt_ratio_lep_tau : num 1.582 0.879 3.776 2.354 1.056 ...
$ DER_met_phi_centrality : num 1.4 1.41 1.41 -1.28 -1.38 ...
$ DER_lep_eta_centrality : num 0.2 -999 -999 -999 -999 0.975 0.791 -999 -999 -999 ...
$ PRI_tau_pt : num 32.6 42 32.2 22.6 28.2 ...
$ PRI_tau_eta : num 1.017 2.039 -0.705 -1.655 -2.197 ...
$ PRI_tau_phi : num 0.381 -3.011 -2.093 0.01 -2.231 ...
$ PRI_lep_pt : num 51.6 36.9 121.4 53.3 29.8 ...
$ PRI_lep_eta : num 2.273 0.501 -0.953 -0.522 0.798 ...
$ PRI_lep_phi : num -2.414 0.103 1.052 -3.1 1.569 ...
$ PRI_met : num 16.82 44.7 54.28 31.08 2.72 ...
$ PRI_met_phi : num -0.277 -1.916 -2.186 0.06 -0.871 ...
$ PRI_met_sumet : num 258.7 164.5 260.4 86.1 53.1 ...
$ PRI_jet_num : int 2 1 1 0 0 3 2 1 0 1 ...
$ PRI_jet_leading_pt : num 67.4 46.2 44.3 -999 -999 ...
$ PRI_jet_leading_eta : num 2.15 0.725 2.053 -999 -999 ...
$ PRI_jet_leading_phi : num 0.444 1.158 -2.028 -999 -999 ...
$ PRI_jet_subleading_pt : num 46.1 -999 -999 -999 -999 ...
$ PRI_jet_subleading_eta : num 1.24 -999 -999 -999 -999 0.224 0.131 -999 -999 -999 ...
$ PRI_jet_subleading_phi : num -2.48 -999 -999 -999 -999 ...
$ PRI_jet_all_pt : num 113.5 46.2 44.3 0 0 ...
$ Weight : num 0.00265 2.23358 2.34739 5.44638 6.24533 ...
$ Label : Factor w/ 2 levels "b","s": 2 1 1 1 1 1 2 2 1 2 ...
# Random forest Using rfsrc
> start_time <- Sys.time()
> RFSRC<-rfsrc(Label~.,data=df)
> end_time <- Sys.time()
> end_time - start_time
Time difference of 11.99594 mins
> print(RFSRC)
Sample size: 250000
Frequency of class labels: 164333, 85667
Number of trees: 1000
Forest terminal node size: 1
Average no. of terminal nodes: 3298.9
No. of variables tried at each split: 6
Total no. of variables: 31
Resampling used to grow trees: swor
Resample size used to grow trees: 158000
Analysis: RF-C
Family: class
Splitting rule: gini *random*
Number of random split points: 10
Normalized brier score: 0.75
AUC: NaN
Error rate: 0, 0, 0
Confusion matrix:
predicted
observed b s class.error
b 164333 0 0
s 4 85663 0
Overall error rate: 0%
Warning messages:
1: In length(x) * length(y) : NAs produced by integer overflow
2: In length(x) * length(y) : NAs produced by integer overflow
# Traditional random forest
> start_time <- Sys.time()
> rf <-randomForest(Label~.,data=df)
Error: cannot allocate vector of size 1.9 Gb
> rf <-randomForest(Label~.,data=df)
Error: cannot allocate vector of size 1.9 Gb