PLS-DA с каретой: несбалансированные классы и: "Нет сходимости в 100 итерациях. В измеренных показателях производительности отсутствовали значения".

Я управляю PLS-DA с пакетом каретки в R. Категориальная переменная имеет 4 уровня (но с очень неодинаковым числом наблюдений в каждом классе).

Ycalib<-factor(file2[,1664],levels=c("0","1","2","3"),labels=c("open","preg_begin","preg_mid","preg_end")) # create the factor vector
Xcalib<-data.frame(file2[,1126:1663]) # create the spectral matrix (538 spectral points)

Количество наблюдений для каждого уровня категориальной переменной:

Ycalib
      open preg_begin   preg_mid   preg_end 
       814        329        170         81 

PLS-DA с кареткой:

set.seed(1001) 
folds<-createFolds(Ycalib,k=10,list = TRUE, returnTrain = TRUE) 

set.seed(1001) 
ctrl<-trainControl(method="repeatedcv",index=folds,classProbs = TRUE,summaryFunction = multiClassSummary,savePredictions = TRUE) 

plsda<-train(x=Xcalib, # spectral data
              y=Ycalib, # factor vector
              method="pls", # pls-da algorithm
              tuneLength=40, # number of components
              trControl=ctrl, # ctrl contained cross-validation option
              preProc=c("center","scale"), # the data are centered and scaled
              metric="Accuracy") 
plsda

Моя первая проблема: адаптирован ли PLS-DA к очень несбалансированным классам для категориальной переменной? Или я должен использовать другой метод или изменить набор данных, чтобы иметь более сбалансированные классы?

Второе мое беспокойство: у меня несколько раз выводилось следующее предупреждающее сообщение: "Нет сходимости за 100 итераций", и это предупреждающее сообщение один раз: "В измеренных показателях производительности отсутствовали значения". Как показано в результатах ниже (отображается только одна часть результатов), отсутствуют значения для "Mean_f1", а также "Mean_Pos_Pred_Value", "Mean_Neg_Pred_Value" и Mean_Precision. У меня нет пропущенных значений в моем наборе данных, и я сделал классифицированная 10-кратная перекрестная проверка (таким образом, 10-кратные должны иметь наблюдения для каждого из 4 уровней). Поэтому я не понимаю, почему у меня были предупреждающие сообщения и отсутствующие результаты для некоторых параметров.

Partial Least Squares 

1394 samples
 538 predictor
   4 classes: 'open', 'preg_begin', 'preg_mid', 'preg_end' 

Pre-processing: centered (538), scaled (538) 
Resampling: Cross-Validated (10 fold, repeated 1 times) 
Summary of sample sizes: 1255, 1255, 1254, 1254, 1256, 1255, ... 
Resampling results across tuning parameters:

  ncomp  logLoss   AUC        prAUC      Accuracy   Kappa        Mean_F1    Mean_Sensitivity  Mean_Specificity
   1     1.233540  0.5851974  0.2963505  0.5831970  0.000661024        NaN  0.2501403         0.7501567       
   2     1.225929  0.6623355  0.3341668  0.5846308  0.005235852        NaN  0.2516554         0.7510188       
   3     1.216043  0.6751154  0.3486090  0.5868098  0.011681593        NaN  0.2535067         0.7523346       
   4     1.214622  0.6763016  0.3458556  0.5853864  0.015383145        NaN  0.2556255         0.7526471       
   5     1.209686  0.7067661  0.3562015  0.5839423  0.011474084        NaN  0.2536141         0.7522026       
   6     1.203048  0.7232180  0.3741496  0.5832487  0.036805951        NaN  0.2605782         0.7577878       
   7     1.199465  0.7309437  0.3889174  0.5839632  0.063128255        NaN  0.2737402         0.7623851       
   8     1.192915  0.7470142  0.4110239  0.5832592  0.085307670        NaN  0.2862150         0.7678212       
   9     1.186647  0.7547501  0.4299841  0.5917788  0.123678795        NaN  0.3030414         0.7762541       
  10     1.181008  0.7638286  0.4411165  0.6047081  0.173010847        NaN  0.3205881         0.7880412       
  11     1.178762  0.7640707  0.4398066  0.6054737  0.182789377  0.4013847  0.3298904         0.7902029       
  12     1.177114  0.7638542  0.4404137  0.6032949  0.188886623  0.3743683  0.3352235         0.7920242       
  13     1.173226  0.7701415  0.4466328  0.6068715  0.193456791  0.4077762  0.3412866         0.7932108       
  14     1.169227  0.7779112  0.4569464  0.6132689  0.208885686  0.3999339  0.3419799         0.7967655       
  15     1.171063  0.7721757  0.4471019  0.6097183  0.204557730  0.3848546  0.3363713         0.7961563       
  16     1.167403  0.7757388  0.4480235  0.6068249  0.207320225  0.3957167  0.3442419         0.7968578       
  17     1.164090  0.7811313  0.4533329  0.6068715  0.213921894  0.4127399  0.3475223         0.7986636       
  18     1.162631  0.7832160  0.4538363  0.6169128  0.236294962  0.4327847  0.3608552         0.8038477  

0 ответов

Другие вопросы по тегам