Почему значения NaN находятся в score из kfoldPredict?

#matlab #classification #random-forest #ensemble-learning #k-fold

#matlab #классификация #случайный лес #ансамблевое обучение #k-кратный

Вопрос:

 Names = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
isCategoricalPredictor = [false, false, true, false, true, false, false, false];
        
% Use tree learner
template = templateTree('NumVariablesToSample', 'all',... % to analyse predictor importance
    'Reproducible',true, 'Surrogate','on', 'MaxNumSplits', maxNumSplits, 'MinLeafSize', minLeafSize); % Surrogate on to obtain measure of association
   
% optimizable variable does not accept
BestEnsembleMdl = fitcensemble(X_train,y_train,...
    'Learners',template, ...
    'Method', method, ...
    'NumLearningCycles', numLearningCycles, ...
    'Holdout', 0.2, ...
    'LearnRate', learnRate, ...
    'ScoreTransform','logit',... % transform scores to probabilistic estimates
    'CategoricalPredictors', isCategoricalPredictor,...
    'PredictorNames', Names);
[~, score] = kfoldPredict(BestEnsembleMdl);
 

Прикрепленный файл mat: https://uk.mathworks.com/matlabcentral/answers/uploaded_files/417568/simple.mat

Привет, я попытался запустить kfoldPredict , используя классификационный секционированный ансамбль, созданный fitcensemble методом.

Когда я запускаю kfoldPredict , в score переменной, возвращаемой методом, найдено много значений NaN kfoldPredict . Обратитесь к score переменной в прикрепленном файле mat.

Я ожидаю получить реальные значения из score .

Из приведенного выше примера я использую следующие значения:

  • learnRate = 0,9702
  • maxNumSplits = 16826
  • метод = ‘LogitBoost’
  • numLearningCycles = 2
  • minLeafSize = 1

Я сохранил переменные X_train и y_train в прикрепленном файле mat. В качестве демонстрации я уменьшил количество строк в X_train amp; y_train до 10 строк.

  1. Почему в? score
  2. Что я должен сделать, чтобы убедиться, что в? score

Спасибо