Автоматически выберите модель классификации оптимизированными гиперпараметрами
Учитывая предиктор и данные об ответе, fitcauto
автоматически пробует выбор типов модели классификации с различными гиперзначениями параметров. По умолчанию функция использует Байесовую оптимизацию, чтобы выбрать модели и их гиперзначения параметров, и вычисляет ошибку классификации перекрестных проверок для каждой модели. После того, как оптимизация завершена, fitcauto
возвращает модель, обученную на целом наборе данных, который, как ожидают, лучше всего классифицирует новые данные. Можно использовать predict
и loss
объектные функции возвращенной модели, чтобы классифицировать новые данные и вычислить ошибку классификации наборов тестов, соответственно.
Использование fitcauto
когда вы не уверены, который вводит классификатор, лучше всего удовлетворяют вашим данным. Для получения информации об альтернативных методах для настройки гиперпараметров моделей классификации см. альтернативную функциональность.
Если ваши данные содержат более чем 10 000 наблюдений, рассмотрите использование асинхронного последовательного алгоритма сокращения вдвое (ASHA) вместо Байесовой оптимизации, когда вы запускаетесь fitcauto
. Оптимизация ASHA часто находит хорошие решения быстрее, чем Байесова оптимизация для наборов данных со многими наблюдениями.
возвращает модель Mdl
= fitcauto(Tbl
,ResponseVarName
)Mdl
классификации настроенными гиперпараметрами. Таблица
Tbl
содержит переменные предикторы и переменную отклика, где ResponseVarName
имя переменной отклика.
задает опции с помощью одних или нескольких аргументов name-value в дополнение к любой из комбинаций входных аргументов в предыдущих синтаксисах. Например, используйте Mdl
= fitcauto(___,Name,Value
)HyperparameterOptimizationOptions
аргумент значения имени, чтобы задать, использовать ли Байесовую оптимизацию (значение по умолчанию) или асинхронный последовательный алгоритм сокращения вдвое (ASHA). Чтобы использовать оптимизацию ASHA, задайте "HyperparameterOptimizationOptions",struct("Optimizer","asha")
. Можно включать дополнительные поля в структуру, чтобы управлять другими аспектами оптимизации.
[
также возвращает Mdl
,OptimizationResults
] = fitcauto(___)OptimizationResults
, который содержит результаты выбора модели и настраивающего процесса гиперпараметра. Этим выходом является BayesianOptimization
возразите, когда вы используете Байесовую оптимизацию и таблицу, когда вы используете оптимизацию ASHA.
Используйте fitcauto
автоматически выбрать модель классификации оптимизированными гиперпараметрами, учитывая предиктор и данные об ответе, хранимые в таблице.
Загрузка данных
Загрузите carbig
набор данных, который содержит измерения автомобилей, сделанных в 1970-х и в начале 1980-х.
load carbig
Категоризируйте автомобили на основе того, были ли они сделаны в США.
Origin = categorical(cellstr(Origin)); Origin = mergecats(Origin,["France","Japan","Germany", ... "Sweden","Italy","England"],"NotUSA");
Составьте таблицу, содержащую переменные предикторы Acceleration
, Displacement
, и так далее, а также переменная отклика Origin
.
cars = table(Acceleration,Displacement,Horsepower, ...
Model_Year,MPG,Weight,Origin);
Данные о разделе
Разделите данные в наборы обучающих данных и наборы тестов. Используйте приблизительно 80% наблюдений для выбора модели и настраивающего процесса гиперпараметра, и 20% наблюдений, чтобы проверить производительность итоговой модели, возвращенной fitcauto
. Используйте cvpartition
разделить данные.
rng("default") % For reproducibility of the data partition c = cvpartition(Origin,"Holdout",0.2); trainingIdx = training(c); % Training set indices carsTrain = cars(trainingIdx,:); testIdx = test(c); % Test set indices carsTest = cars(testIdx,:);
Запустите fitcauto
Передайте обучающие данные fitcauto
. По умолчанию, fitcauto
определяет соответствующие типы модели, чтобы попробовать, использует Байесовую оптимизацию, чтобы найти хорошие гиперзначения параметров и возвращает обученную модель Mdl
с лучшей ожидаемой эффективностью. Кроме того, fitcauto
предоставляет график оптимизации и итеративное отображение результатов оптимизации. Для получения дополнительной информации о том, как интерпретировать эти результаты, смотрите Многословное Отображение.
Ожидайте, что этот процесс займет время. Чтобы ускорить процесс оптимизации, полагайте, что определение запускает оптимизацию параллельно, если у вас есть лицензия Parallel Computing Toolbox™. Для этого передайте "HyperparameterOptimizationOptions",struct("UseParallel",true)
к fitcauto
в качестве аргумента значения имени.
Mdl = fitcauto(carsTrain,"Origin");
Warning: It is recommended that you first standardize all numeric predictors when optimizing the Naive Bayes 'Width' parameter. Ignore this warning if you have done that.
Learner types to explore: ensemble, knn, nb, svm, tree Total iterations (MaxObjectiveEvaluations): 150 Total time (MaxTime): Inf |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 1 | Best | 0.14154 | 15.261 | 0.14154 | 0.14154 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 201 | | | | | | | | | MinLeafSize: 7 | | 2 | Accept | 0.18269 | 0.78311 | 0.14154 | 0.14154 | knn | NumNeighbors: 3 | | 3 | Accept | 0.23397 | 0.12849 | 0.14154 | 0.14154 | knn | NumNeighbors: 91 | | 4 | Best | 0.092308 | 8.1968 | 0.092308 | 0.11151 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 274 | | | | | | | | | MinLeafSize: 15 | | 5 | Accept | 0.20833 | 0.122 | 0.092308 | 0.11151 | knn | NumNeighbors: 4 | | 6 | Accept | 0.22115 | 0.074924 | 0.092308 | 0.11151 | knn | NumNeighbors: 28 | | 7 | Accept | 0.16923 | 0.22742 | 0.092308 | 0.11151 | tree | MinLeafSize: 105 | | 8 | Accept | 0.37179 | 0.59424 | 0.092308 | 0.11151 | svm | BoxConstraint: 0.022186 | | | | | | | | | KernelScale: 0.085527 | | 9 | Accept | 0.37179 | 0.095134 | 0.092308 | 0.11151 | svm | BoxConstraint: 0.045899 | | | | | | | | | KernelScale: 0.0024758 | | 10 | Accept | 0.24615 | 0.92999 | 0.092308 | 0.11151 | nb | DistributionNames: kernel | | | | | | | | | Width: 1.1327 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 11 | Accept | 0.16923 | 0.072747 | 0.092308 | 0.11151 | tree | MinLeafSize: 78 | | 12 | Accept | 0.26923 | 0.098838 | 0.092308 | 0.11151 | svm | BoxConstraint: 11.063 | | | | | | | | | KernelScale: 15.114 | | 13 | Accept | 0.12923 | 0.09922 | 0.092308 | 0.11151 | tree | MinLeafSize: 3 | | 14 | Accept | 0.21154 | 0.077411 | 0.092308 | 0.11151 | knn | NumNeighbors: 2 | | 15 | Accept | 0.14154 | 0.070449 | 0.092308 | 0.11151 | tree | MinLeafSize: 1 | | 16 | Accept | 0.14769 | 0.07596 | 0.092308 | 0.11151 | tree | MinLeafSize: 2 | | 17 | Accept | 0.14154 | 8.0622 | 0.092308 | 0.12513 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 208 | | | | | | | | | MinLeafSize: 10 | | 18 | Accept | 0.37179 | 0.092223 | 0.092308 | 0.12513 | svm | BoxConstraint: 116.46 | | | | | | | | | KernelScale: 0.52908 | | 19 | Accept | 0.22769 | 0.14447 | 0.092308 | 0.12513 | nb | DistributionNames: normal | | | | | | | | | Width: NaN | | 20 | Accept | 0.22115 | 0.063369 | 0.092308 | 0.12513 | knn | NumNeighbors: 8 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 21 | Accept | 0.37179 | 0.11033 | 0.092308 | 0.12513 | svm | BoxConstraint: 45.341 | | | | | | | | | KernelScale: 0.76949 | | 22 | Accept | 0.12923 | 0.069586 | 0.092308 | 0.12513 | tree | MinLeafSize: 3 | | 23 | Accept | 0.10154 | 0.063197 | 0.092308 | 0.12513 | tree | MinLeafSize: 5 | | 24 | Accept | 0.22769 | 0.18312 | 0.092308 | 0.12513 | nb | DistributionNames: kernel | | | | | | | | | Width: 0.42571 | | 25 | Accept | 0.11385 | 0.062328 | 0.092308 | 0.12513 | tree | MinLeafSize: 11 | | 26 | Accept | 0.13782 | 0.069932 | 0.092308 | 0.12513 | svm | BoxConstraint: 9.7286 | | | | | | | | | KernelScale: 293.41 | | 27 | Accept | 0.22769 | 0.053256 | 0.092308 | 0.12513 | nb | DistributionNames: normal | | | | | | | | | Width: NaN | | 28 | Accept | 0.21795 | 0.062882 | 0.092308 | 0.12513 | knn | NumNeighbors: 42 | | 29 | Accept | 0.24308 | 0.20538 | 0.092308 | 0.12513 | nb | DistributionNames: kernel | | | | | | | | | Width: 4.4662 | | 30 | Accept | 0.37231 | 6.3057 | 0.092308 | 0.1289 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 267 | | | | | | | | | MinLeafSize: 131 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 31 | Accept | 0.24308 | 0.18689 | 0.092308 | 0.1289 | nb | DistributionNames: kernel | | | | | | | | | Width: 0.66296 | | 32 | Accept | 0.22115 | 0.070866 | 0.092308 | 0.1289 | knn | NumNeighbors: 28 | | 33 | Accept | 0.13846 | 0.080818 | 0.092308 | 0.12465 | tree | MinLeafSize: 25 | | 34 | Accept | 0.21474 | 0.061727 | 0.092308 | 0.12465 | knn | NumNeighbors: 14 | | 35 | Best | 0.089231 | 5.4041 | 0.089231 | 0.12465 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 215 | | | | | | | | | MinLeafSize: 13 | | 36 | Accept | 0.14154 | 9.5 | 0.089231 | 0.12465 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 254 | | | | | | | | | MinLeafSize: 31 | | 37 | Accept | 0.22769 | 0.058919 | 0.089231 | 0.12465 | nb | DistributionNames: normal | | | | | | | | | Width: NaN | | 38 | Accept | 0.37179 | 0.07729 | 0.089231 | 0.12465 | svm | BoxConstraint: 0.0073633 | | | | | | | | | KernelScale: 774.33 | | 39 | Accept | 0.16923 | 0.066123 | 0.089231 | 0.12552 | tree | MinLeafSize: 82 | | 40 | Accept | 0.20833 | 0.063808 | 0.089231 | 0.12552 | knn | NumNeighbors: 4 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 41 | Accept | 0.37231 | 6.3806 | 0.089231 | 0.12552 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 274 | | | | | | | | | MinLeafSize: 150 | | 42 | Accept | 0.22462 | 0.1782 | 0.089231 | 0.12552 | nb | DistributionNames: kernel | | | | | | | | | Width: 121.64 | | 43 | Accept | 0.20308 | 8.3787 | 0.089231 | 0.12552 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 229 | | | | | | | | | MinLeafSize: 117 | | 44 | Accept | 0.16923 | 0.060332 | 0.089231 | 0.12291 | tree | MinLeafSize: 84 | | 45 | Accept | 0.22769 | 0.054836 | 0.089231 | 0.12291 | nb | DistributionNames: normal | | | | | | | | | Width: NaN | | 46 | Accept | 0.22769 | 0.051984 | 0.089231 | 0.12291 | nb | DistributionNames: normal | | | | | | | | | Width: NaN | | 47 | Accept | 0.092308 | 5.064 | 0.089231 | 0.11792 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 212 | | | | | | | | | MinLeafSize: 49 | | 48 | Accept | 0.14769 | 10.667 | 0.089231 | 0.11634 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 288 | | | | | | | | | MinLeafSize: 25 | | 49 | Accept | 0.23077 | 0.17743 | 0.089231 | 0.11634 | nb | DistributionNames: kernel | | | | | | | | | Width: 73.249 | | 50 | Accept | 0.37179 | 0.12425 | 0.089231 | 0.11634 | svm | BoxConstraint: 0.0036501 | | | | | | | | | KernelScale: 1.0504 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 51 | Accept | 0.21474 | 0.083155 | 0.089231 | 0.11634 | svm | BoxConstraint: 64.859 | | | | | | | | | KernelScale: 23.779 | | 52 | Accept | 0.37179 | 0.082077 | 0.089231 | 0.11634 | svm | BoxConstraint: 0.16622 | | | | | | | | | KernelScale: 4.4901 | | 53 | Accept | 0.25846 | 0.21018 | 0.089231 | 0.11634 | nb | DistributionNames: kernel | | | | | | | | | Width: 0.079498 | | 54 | Accept | 0.21154 | 0.063584 | 0.089231 | 0.11634 | knn | NumNeighbors: 2 | | 55 | Accept | 0.13846 | 9.0089 | 0.089231 | 0.10262 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 234 | | | | | | | | | MinLeafSize: 8 | | 56 | Accept | 0.36538 | 0.086614 | 0.089231 | 0.10262 | svm | BoxConstraint: 271.6 | | | | | | | | | KernelScale: 2.743 | | 57 | Accept | 0.18154 | 5.8294 | 0.089231 | 0.10947 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 248 | | | | | | | | | MinLeafSize: 117 | | 58 | Accept | 0.37179 | 0.087804 | 0.089231 | 0.10947 | svm | BoxConstraint: 7.5785 | | | | | | | | | KernelScale: 0.0066815 | | 59 | Accept | 0.37179 | 0.083397 | 0.089231 | 0.10947 | svm | BoxConstraint: 0.0017765 | | | | | | | | | KernelScale: 0.86786 | | 60 | Accept | 0.37179 | 0.081802 | 0.089231 | 0.10947 | svm | BoxConstraint: 0.011465 | | | | | | | | | KernelScale: 0.02747 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 61 | Accept | 0.11692 | 0.070203 | 0.089231 | 0.10947 | tree | MinLeafSize: 12 | | 62 | Accept | 0.29167 | 0.087616 | 0.089231 | 0.10947 | svm | BoxConstraint: 11.939 | | | | | | | | | KernelScale: 11.002 | | 63 | Accept | 0.21795 | 0.067296 | 0.089231 | 0.10947 | knn | NumNeighbors: 6 | | 64 | Accept | 0.18269 | 0.062677 | 0.089231 | 0.10947 | knn | NumNeighbors: 3 | | 65 | Accept | 0.12923 | 0.062417 | 0.089231 | 0.10947 | tree | MinLeafSize: 3 | | 66 | Accept | 0.16923 | 0.066062 | 0.089231 | 0.10947 | tree | MinLeafSize: 56 | | 67 | Accept | 0.1891 | 0.072064 | 0.089231 | 0.10947 | knn | NumNeighbors: 1 | | 68 | Accept | 0.13231 | 10.405 | 0.089231 | 0.10927 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 270 | | | | | | | | | MinLeafSize: 4 | | 69 | Accept | 0.22769 | 0.058514 | 0.089231 | 0.10927 | nb | DistributionNames: normal | | | | | | | | | Width: NaN | | 70 | Accept | 0.37231 | 0.16623 | 0.089231 | 0.10927 | nb | DistributionNames: kernel | | | | | | | | | Width: 1629.5 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 71 | Accept | 0.16923 | 0.059987 | 0.089231 | 0.10927 | tree | MinLeafSize: 61 | | 72 | Accept | 0.22769 | 0.051395 | 0.089231 | 0.10927 | nb | DistributionNames: normal | | | | | | | | | Width: NaN | | 73 | Accept | 0.12308 | 5.0871 | 0.089231 | 0.10454 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 217 | | | | | | | | | MinLeafSize: 70 | | 74 | Accept | 0.13231 | 10.737 | 0.089231 | 0.10577 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 257 | | | | | | | | | MinLeafSize: 2 | | 75 | Accept | 0.21474 | 0.080252 | 0.089231 | 0.10577 | knn | NumNeighbors: 49 | | 76 | Accept | 0.10154 | 7.3068 | 0.089231 | 0.099465 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 285 | | | | | | | | | MinLeafSize: 2 | | 77 | Accept | 0.12923 | 5.5706 | 0.089231 | 0.10383 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 214 | | | | | | | | | MinLeafSize: 72 | | 78 | Accept | 0.12308 | 5.0042 | 0.089231 | 0.099898 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 213 | | | | | | | | | MinLeafSize: 73 | | 79 | Accept | 0.13538 | 6.7572 | 0.089231 | 0.1013 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 291 | | | | | | | | | MinLeafSize: 92 | | 80 | Accept | 0.12 | 5.1409 | 0.089231 | 0.099163 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 222 | | | | | | | | | MinLeafSize: 28 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 81 | Accept | 0.14462 | 4.897 | 0.089231 | 0.10034 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 210 | | | | | | | | | MinLeafSize: 102 | | 82 | Best | 0.086154 | 5.009 | 0.086154 | 0.094283 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 208 | | | | | | | | | MinLeafSize: 15 | | 83 | Accept | 0.089231 | 5.6605 | 0.086154 | 0.092125 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 237 | | | | | | | | | MinLeafSize: 15 | | 84 | Accept | 0.092308 | 5.9891 | 0.086154 | 0.092405 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 256 | | | | | | | | | MinLeafSize: 20 | | 85 | Accept | 0.098462 | 4.9373 | 0.086154 | 0.09151 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 202 | | | | | | | | | MinLeafSize: 16 | | 86 | Accept | 0.092308 | 6.354 | 0.086154 | 0.091482 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 262 | | | | | | | | | MinLeafSize: 13 | | 87 | Accept | 0.13846 | 5.1929 | 0.086154 | 0.090767 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 224 | | | | | | | | | MinLeafSize: 98 | | 88 | Accept | 0.10769 | 5.2709 | 0.086154 | 0.093092 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 216 | | | | | | | | | MinLeafSize: 7 | | 89 | Accept | 0.11385 | 6.2613 | 0.086154 | 0.092237 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 263 | | | | | | | | | MinLeafSize: 23 | | 90 | Accept | 0.089231 | 5.1591 | 0.086154 | 0.090261 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 212 | | | | | | | | | MinLeafSize: 15 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 91 | Accept | 0.098462 | 5.5561 | 0.086154 | 0.091164 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 231 | | | | | | | | | MinLeafSize: 14 | | 92 | Accept | 0.092308 | 7.0841 | 0.086154 | 0.090418 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 293 | | | | | | | | | MinLeafSize: 15 | | 93 | Accept | 0.10462 | 5.4911 | 0.086154 | 0.090933 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 200 | | | | | | | | | MinLeafSize: 10 | | 94 | Accept | 0.095385 | 6.2488 | 0.086154 | 0.089667 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 238 | | | | | | | | | MinLeafSize: 20 | | 95 | Accept | 0.14154 | 5.9513 | 0.086154 | 0.090672 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 211 | | | | | | | | | MinLeafSize: 101 | | 96 | Accept | 0.086154 | 7.211 | 0.086154 | 0.089308 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 207 | | | | | | | | | MinLeafSize: 15 | | 97 | Accept | 0.095385 | 7.0247 | 0.086154 | 0.088701 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 220 | | | | | | | | | MinLeafSize: 15 | | 98 | Accept | 0.092308 | 5.6392 | 0.086154 | 0.088919 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 209 | | | | | | | | | MinLeafSize: 20 | | 99 | Accept | 0.092308 | 5.3506 | 0.086154 | 0.088952 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 207 | | | | | | | | | MinLeafSize: 14 | | 100 | Accept | 0.089231 | 5.0422 | 0.086154 | 0.089122 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 202 | | | | | | | | | MinLeafSize: 15 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 101 | Accept | 0.11077 | 6.5738 | 0.086154 | 0.088935 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 262 | | | | | | | | | MinLeafSize: 23 | | 102 | Accept | 0.092308 | 6.6426 | 0.086154 | 0.088627 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 272 | | | | | | | | | MinLeafSize: 15 | | 103 | Accept | 0.14462 | 5.156 | 0.086154 | 0.088746 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 218 | | | | | | | | | MinLeafSize: 108 | | 104 | Accept | 0.092308 | 7.2137 | 0.086154 | 0.088254 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 295 | | | | | | | | | MinLeafSize: 15 | | 105 | Accept | 0.095385 | 5.2094 | 0.086154 | 0.088642 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 209 | | | | | | | | | MinLeafSize: 11 | | 106 | Accept | 0.086154 | 5.167 | 0.086154 | 0.088732 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 15 | | 107 | Accept | 0.086154 | 5.0251 | 0.086154 | 0.087649 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 15 | | 108 | Accept | 0.092308 | 4.8932 | 0.086154 | 0.087563 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 201 | | | | | | | | | MinLeafSize: 14 | | 109 | Accept | 0.098462 | 7.0345 | 0.086154 | 0.087822 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 288 | | | | | | | | | MinLeafSize: 20 | | 110 | Accept | 0.10769 | 5.0962 | 0.086154 | 0.087788 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 10 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 111 | Accept | 0.092308 | 5.0295 | 0.086154 | 0.087969 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 206 | | | | | | | | | MinLeafSize: 20 | | 112 | Accept | 0.14769 | 5.0148 | 0.086154 | 0.088051 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 214 | | | | | | | | | MinLeafSize: 110 | | 113 | Accept | 0.086154 | 4.9943 | 0.086154 | 0.087118 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 201 | | | | | | | | | MinLeafSize: 15 | | 114 | Accept | 0.14154 | 6.1042 | 0.086154 | 0.087477 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 238 | | | | | | | | | MinLeafSize: 110 | | 115 | Accept | 0.098462 | 5.589 | 0.086154 | 0.087375 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 217 | | | | | | | | | MinLeafSize: 15 | | 116 | Accept | 0.086154 | 5.0709 | 0.086154 | 0.087064 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 15 | | 117 | Accept | 0.086154 | 5.0476 | 0.086154 | 0.086927 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 203 | | | | | | | | | MinLeafSize: 15 | | 118 | Accept | 0.095385 | 5.1616 | 0.086154 | 0.086424 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 206 | | | | | | | | | MinLeafSize: 11 | | 119 | Accept | 0.17231 | 7.5631 | 0.086154 | 0.086811 | ensemble | Method: Bag | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 104 | | 120 | Accept | 0.11385 | 6.1048 | 0.086154 | 0.086479 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 256 | | | | | | | | | MinLeafSize: 26 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 121 | Accept | 0.10154 | 4.9144 | 0.086154 | 0.086731 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 16 | | 122 | Accept | 0.11385 | 6.6916 | 0.086154 | 0.086764 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 290 | | | | | | | | | MinLeafSize: 26 | | 123 | Accept | 0.17846 | 4.9356 | 0.086154 | 0.086982 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 213 | | | | | | | | | MinLeafSize: 121 | | 124 | Accept | 0.18154 | 6.7496 | 0.086154 | 0.086624 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 295 | | | | | | | | | MinLeafSize: 124 | | 125 | Accept | 0.092308 | 4.856 | 0.086154 | 0.086795 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 207 | | | | | | | | | MinLeafSize: 46 | | 126 | Accept | 0.086154 | 4.8119 | 0.086154 | 0.086787 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 203 | | | | | | | | | MinLeafSize: 15 | | 127 | Accept | 0.13231 | 4.7345 | 0.086154 | 0.086511 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 58 | | 128 | Accept | 0.15385 | 7.0641 | 0.086154 | 0.086611 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 299 | | | | | | | | | MinLeafSize: 112 | | 129 | Accept | 0.086154 | 5.0542 | 0.086154 | 0.08658 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 207 | | | | | | | | | MinLeafSize: 15 | | 130 | Accept | 0.2 | 4.7512 | 0.086154 | 0.086476 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 201 | | | | | | | | | MinLeafSize: 126 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 131 | Accept | 0.13231 | 5.0661 | 0.086154 | 0.086354 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 209 | | | | | | | | | MinLeafSize: 53 | | 132 | Accept | 0.089231 | 5.0199 | 0.086154 | 0.086357 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 209 | | | | | | | | | MinLeafSize: 15 | | 133 | Accept | 0.098462 | 4.7946 | 0.086154 | 0.086579 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 204 | | | | | | | | | MinLeafSize: 48 | | 134 | Accept | 0.092308 | 4.8843 | 0.086154 | 0.086467 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 209 | | | | | | | | | MinLeafSize: 50 | | 135 | Best | 0.083077 | 4.9469 | 0.083077 | 0.085907 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 205 | | | | | | | | | MinLeafSize: 15 | | 136 | Accept | 0.095385 | 4.954 | 0.083077 | 0.085641 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 210 | | | | | | | | | MinLeafSize: 41 | | 137 | Accept | 0.098462 | 4.9278 | 0.083077 | 0.085638 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 210 | | | | | | | | | MinLeafSize: 51 | | 138 | Accept | 0.10154 | 4.9427 | 0.083077 | 0.085538 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 209 | | | | | | | | | MinLeafSize: 51 | | 139 | Accept | 0.089231 | 5.0365 | 0.083077 | 0.085955 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 215 | | | | | | | | | MinLeafSize: 45 | | 140 | Accept | 0.083077 | 4.8738 | 0.083077 | 0.085392 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 205 | | | | | | | | | MinLeafSize: 15 | |=================================================================================================================================| | Iter | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | result | loss | & validation (sec)| validation loss | validation loss | | | |=================================================================================================================================| | 141 | Accept | 0.10769 | 5.0619 | 0.083077 | 0.085017 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 213 | | | | | | | | | MinLeafSize: 23 | | 142 | Accept | 0.089231 | 5.1143 | 0.083077 | 0.085054 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 215 | | | | | | | | | MinLeafSize: 49 | | 143 | Accept | 0.089231 | 5.5325 | 0.083077 | 0.085025 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 237 | | | | | | | | | MinLeafSize: 49 | | 144 | Accept | 0.089231 | 5.4298 | 0.083077 | 0.084846 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 234 | | | | | | | | | MinLeafSize: 49 | | 145 | Accept | 0.092308 | 5.4706 | 0.083077 | 0.084781 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 224 | | | | | | | | | MinLeafSize: 43 | | 146 | Accept | 0.098462 | 6.0056 | 0.083077 | 0.084933 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 248 | | | | | | | | | MinLeafSize: 51 | | 147 | Accept | 0.086154 | 6.3296 | 0.083077 | 0.084906 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 263 | | | | | | | | | MinLeafSize: 49 | | 148 | Accept | 0.083077 | 6.4813 | 0.083077 | 0.084823 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 273 | | | | | | | | | MinLeafSize: 49 | | 149 | Accept | 0.086154 | 7.0564 | 0.083077 | 0.085268 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 298 | | | | | | | | | MinLeafSize: 49 | | 150 | Accept | 0.095385 | 6.4287 | 0.083077 | 0.085022 | ensemble | Method: LogitBoost | | | | | | | | | NumLearningCycles: 268 | | | | | | | | | MinLeafSize: 37 |
__________________________________________________________ Optimization completed. Total iterations: 150 Total elapsed time: 698.3513 seconds Total time for training and validation: 553.6354 seconds Best observed learner is an ensemble model with: Method: LogitBoost NumLearningCycles: 205 MinLeafSize: 15 Observed validation loss: 0.083077 Time for training and validation: 4.9469 seconds Best estimated learner (returned model) is an ensemble model with: Method: LogitBoost NumLearningCycles: 205 MinLeafSize: 15 Estimated validation loss: 0.085022 Estimated time for training and validation: 4.9757 seconds Documentation for fitcauto display
Итоговая модель возвращена fitcauto
соответствует лучшему предполагаемому ученику. Прежде, чем возвратить модель, функция переобучает его с помощью целых обучающих данных (carsTrain
), перечисленный Learner
(или модель) тип и отображенные гиперзначения параметров.
Оцените эффективность набора тестов
Оцените эффективность модели на наборе тестов.
testAccuracy = 1 - loss(Mdl,carsTest,"Origin")
testAccuracy = 0.9263
confusionchart(carsTest.Origin,predict(Mdl,carsTest))
Этот пример использует:
Используйте fitcauto
автоматически выбрать модель классификации оптимизированными гиперпараметрами, учитывая предиктор и данные об ответе, хранимые в отдельных переменных.
Загрузка данных
Загрузите humanactivity
набор данных. Этот набор данных содержит 24 075 наблюдений за пятью физической деятельностью человека: Находясь (1), Стоя (2), Идя (3), Запускаясь (4), и Танцуя (5). Каждое наблюдение имеет 60 функций, извлеченных из ускоряющих данных, измеренных датчиками акселерометра смартфона. Переменная feat
содержит матрицу данных предиктора 60 функций этих 24 075 наблюдений и переменную отклика actid
содержит идентификаторы действия для наблюдений как целые числа.
load humanactivity
Данные о разделе
Разделите данные в наборы обучающих данных и наборы тестов. Используйте 90% наблюдений, чтобы выбрать модель, и 10% наблюдений, чтобы подтвердить итоговую модель, возвращенную fitcauto
. Используйте cvpartition
зарезервировать 10% наблюдений для тестирования.
rng("default") % For reproducibility of the partition c = cvpartition(actid,"Holdout",0.10); trainingIndices = training(c); % Indices for the training set XTrain = feat(trainingIndices,:); YTrain = actid(trainingIndices); testIndices = test(c); % Indices for the test set XTest = feat(testIndices,:); YTest = actid(testIndices);
Запустите fitcauto
Передайте обучающие данные fitcauto
. Поскольку обучающие данные XTrain
имеет больше чем 10 000 наблюдений, используйте оптимизацию ASHA, а не Байесовую оптимизацию. fitcauto
функционируйте случайным образом выбирает соответствующую модель (или ученик) типы с различными гиперзначениями параметров, обучает модели на небольшом подмножестве обучающих данных, продвигает модели, которые выполняют хорошо, и переобучает продвинутые модели на прогрессивно больших наборах обучающих данных. Функция возвращает модель с лучшей эффективностью перекрестной проверки, переобученной на всех обучающих данных и таблице, которая содержит детали оптимизации. Задайте, чтобы запуститься, оптимизация параллельно (требует Parallel Computing Toolbox™).
По умолчанию, fitcauto
предоставляет график оптимизации и итеративное отображение результатов оптимизации. Для получения дополнительной информации о том, как интерпретировать эти результаты, смотрите Многословное Отображение.
options = struct("Optimizer","asha","UseParallel",true); [Mdl,OptimizationResults] = fitcauto(XTrain,YTrain,"HyperparameterOptimizationOptions",options);
Warning: It is recommended that you first standardize all numeric predictors when optimizing the Naive Bayes 'Width' parameter. Ignore this warning if you have done that.
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 6). Copying objective function to workers... Done copying objective function to workers. Learner types to explore: ensemble, knn, nb, svm, tree Total iterations (MaxObjectiveEvaluations): 510 Total time (MaxTime): Inf |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 1 | 6 | Best | 0.74165 | 7.0787 | 0.74165 | 271 | tree | MinLeafSize: 723 | | 2 | 2 | Accept | 0.1169 | 9.5275 | 0.043705 | 271 | knn | NumNeighbors: 42 | | 3 | 2 | Accept | 0.74165 | 11.543 | 0.043705 | 271 | knn | NumNeighbors: 1726 | | 4 | 2 | Accept | 0.084872 | 9.3569 | 0.043705 | 271 | knn | NumNeighbors: 27 | | 5 | 2 | Best | 0.043705 | 7.027 | 0.043705 | 271 | tree | MinLeafSize: 7 | | 6 | 2 | Accept | 0.060642 | 7.0193 | 0.043705 | 271 | tree | MinLeafSize: 11 | | 7 | 4 | Accept | 0.044443 | 1.4788 | 0.043705 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 8 | 5 | Accept | 0.058243 | 0.79831 | 0.028983 | 271 | tree | MinLeafSize: 25 | | 9 | 5 | Best | 0.028983 | 2.1507 | 0.028983 | 1084 | tree | MinLeafSize: 7 | | 10 | 6 | Accept | 0.049566 | 1.0799 | 0.028983 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 11 | 6 | Accept | 0.74165 | 5.5337 | 0.028983 | 271 | knn | NumNeighbors: 3072 | | 12 | 6 | Accept | 0.74155 | 5.2384 | 0.028983 | 271 | knn | NumNeighbors: 178 | | 13 | 6 | Accept | 0.53974 | 5.9615 | 0.028983 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.44923 | | | | | | | | | | KernelScale: 517.98 | | 14 | 6 | Accept | 0.74165 | 5.9452 | 0.028983 | 271 | knn | NumNeighbors: 294 | | 15 | 6 | Accept | 0.038259 | 1.6449 | 0.028983 | 1084 | tree | MinLeafSize: 25 | | 16 | 6 | Accept | 0.11579 | 17.724 | 0.028983 | 271 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 218 | | | | | | | | | | MinLeafSize: 60 | | | | | | | | | | MaxNumSplits: 12 | | 17 | 5 | Accept | 0.73966 | 12.951 | 0.028983 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 585.98 | | | | | | | | | | KernelScale: 0.021825 | | 18 | 5 | Accept | 0.68617 | 12.504 | 0.028983 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.0058216 | | | | | | | | | | KernelScale: 0.45032 | | 19 | 6 | Accept | 0.74165 | 11.499 | 0.028983 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.0634 | | | | | | | | | | KernelScale: 0.0035173 | | 20 | 6 | Accept | 0.035582 | 1.612 | 0.028983 | 1084 | tree | MinLeafSize: 11 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 21 | 6 | Accept | 0.74008 | 3.8698 | 0.028983 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.040932 | | | | | | | | | | KernelScale: 949.09 | | 22 | 6 | Best | 0.02326 | 1.302 | 0.02326 | 4334 | tree | MinLeafSize: 7 | | 23 | 6 | Accept | 0.7057 | 12.734 | 0.02326 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 53.678 | | | | | | | | | | KernelScale: 0.3797 | | 24 | 6 | Accept | 0.055289 | 2.0309 | 0.02326 | 271 | knn | NumNeighbors: 5 | | 25 | 6 | Accept | 0.051966 | 2.2552 | 0.02326 | 271 | knn | NumNeighbors: 7 | | 26 | 6 | Accept | 0.74165 | 6.4874 | 0.02326 | 271 | knn | NumNeighbors: 1240 | | 27 | 6 | Accept | 0.73962 | 12.459 | 0.02326 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.099738 | | | | | | | | | | KernelScale: 0.0018954 | | 28 | 6 | Accept | 0.1439 | 3.0955 | 0.02326 | 271 | knn | NumNeighbors: 44 | | 29 | 6 | Accept | 0.045874 | 2.1894 | 0.02326 | 271 | knn | NumNeighbors: 2 | | 30 | 6 | Accept | 0.035306 | 15.731 | 0.02326 | 271 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 213 | | | | | | | | | | MinLeafSize: 12 | | | | | | | | | | MaxNumSplits: 65 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 31 | 6 | Accept | 0.043197 | 7.5214 | 0.02326 | 1084 | knn | NumNeighbors: 7 | | 32 | 6 | Accept | 0.055381 | 1.9818 | 0.02326 | 271 | knn | NumNeighbors: 3 | | 33 | 6 | Accept | 0.054181 | 0.57186 | 0.02326 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 34 | 6 | Accept | 0.74165 | 0.21834 | 0.02326 | 271 | tree | MinLeafSize: 369 | | 35 | 6 | Accept | 0.74165 | 5.8009 | 0.02326 | 271 | knn | NumNeighbors: 1193 | | 36 | 6 | Accept | 0.033921 | 6.9268 | 0.02326 | 1084 | knn | NumNeighbors: 2 | | 37 | 6 | Accept | 0.057089 | 1.2849 | 0.02326 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 38 | 6 | Accept | 0.35559 | 2.2316 | 0.02326 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 3.2454 | | | | | | | | | | KernelScale: 500.94 | | 39 | 6 | Accept | 0.047536 | 2.6934 | 0.02326 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 432.63 | | | | | | | | | | KernelScale: 373.97 | | 40 | 6 | Accept | 0.032075 | 2.0195 | 0.02326 | 1084 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 432.63 | | | | | | | | | | KernelScale: 373.97 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 41 | 6 | Accept | 0.10859 | 2.0835 | 0.02326 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.0052814 | | | | | | | | | | KernelScale: 546.04 | | 42 | 6 | Accept | 0.74165 | 7.2993 | 0.02326 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.0068861 | | | | | | | | | | KernelScale: 1.9477 | | 43 | 6 | Accept | 0.74165 | 5.6881 | 0.02326 | 271 | knn | NumNeighbors: 524 | | 44 | 6 | Accept | 0.051089 | 2.0414 | 0.02326 | 271 | knn | NumNeighbors: 3 | | 45 | 6 | Accept | 0.7398 | 10.815 | 0.02326 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 5.009 | | | | | | | | | | KernelScale: 0.0070102 | | 46 | 6 | Accept | 0.03069 | 25.357 | 0.02326 | 1084 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 213 | | | | | | | | | | MinLeafSize: 12 | | | | | | | | | | MaxNumSplits: 65 | | 47 | 6 | Accept | 0.036552 | 7.16 | 0.02326 | 1084 | knn | NumNeighbors: 3 | | 48 | 6 | Accept | 0.047166 | 1.8295 | 0.02326 | 271 | knn | NumNeighbors: 2 | | 49 | 6 | Accept | 0.049105 | 0.49734 | 0.02326 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 50 | 6 | Accept | 0.73934 | 10.403 | 0.02326 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 198.87 | | | | | | | | | | KernelScale: 0.085112 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 51 | 6 | Accept | 0.7314 | 74.726 | 0.02326 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 9.8268e-06 | | 52 | 6 | Accept | 0.74165 | 10.108 | 0.02326 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.24903 | | | | | | | | | | KernelScale: 0.043685 | | 53 | 6 | Accept | 0.036413 | 6.719 | 0.02326 | 1084 | knn | NumNeighbors: 2 | | 54 | 6 | Accept | 0.060781 | 2.3593 | 0.02326 | 271 | knn | NumNeighbors: 13 | | 55 | 6 | Accept | 0.74063 | 11.248 | 0.02326 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.51791 | | | | | | | | | | KernelScale: 0.32403 | | 56 | 6 | Accept | 0.73029 | 62.941 | 0.02326 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 5.0726e-11 | | 57 | 6 | Accept | 0.051966 | 0.86077 | 0.02326 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 58 | 6 | Accept | 0.052197 | 1.8288 | 0.02326 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 2.8638 | | | | | | | | | | KernelScale: 201.68 | | 59 | 6 | Accept | 0.74165 | 11.549 | 0.02326 | 271 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 203 | | | | | | | | | | MinLeafSize: 3190 | | | | | | | | | | MaxNumSplits: 11 | | 60 | 6 | Accept | 0.74165 | 6.704 | 0.02326 | 271 | knn | NumNeighbors: 2890 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 61 | 6 | Accept | 0.74165 | 5.8589 | 0.02326 | 271 | knn | NumNeighbors: 762 | | 62 | 6 | Accept | 0.1133 | 3.0194 | 0.02326 | 271 | knn | NumNeighbors: 46 | | 63 | 6 | Accept | 0.049151 | 0.53626 | 0.02326 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 64 | 6 | Accept | 0.041767 | 4.6298 | 0.02326 | 1084 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 2.8638 | | | | | | | | | | KernelScale: 201.68 | | 65 | 6 | Accept | 0.74165 | 5.894 | 0.02326 | 271 | knn | NumNeighbors: 822 | | 66 | 6 | Accept | 0.056581 | 1.3414 | 0.02326 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 67 | 6 | Accept | 0.74165 | 5.5647 | 0.02326 | 271 | knn | NumNeighbors: 279 | | 68 | 6 | Accept | 0.15419 | 3.0206 | 0.02326 | 271 | knn | NumNeighbors: 54 | | 69 | 6 | Accept | 0.024691 | 45.811 | 0.02326 | 4334 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 213 | | | | | | | | | | MinLeafSize: 12 | | | | | | | | | | MaxNumSplits: 65 | | 70 | 6 | Best | 0.022614 | 11.185 | 0.022614 | 4334 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 432.63 | | | | | | | | | | KernelScale: 373.97 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 71 | 6 | Accept | 0.74165 | 9.802 | 0.022614 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.0010658 | | | | | | | | | | KernelScale: 0.1049 | | 72 | 6 | Accept | 0.73902 | 10.995 | 0.022614 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 32.297 | | | | | | | | | | KernelScale: 0.04955 | | 73 | 6 | Accept | 0.049797 | 0.58503 | 0.022614 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 74 | 6 | Accept | 0.74165 | 13.644 | 0.022614 | 271 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 254 | | | | | | | | | | MinLeafSize: 8596 | | | | | | | | | | MaxNumSplits: 73 | | 75 | 6 | Accept | 0.74165 | 11.107 | 0.022614 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.23597 | | | | | | | | | | KernelScale: 0.0011739 | | 76 | 6 | Accept | 0.048274 | 1.8954 | 0.022614 | 271 | knn | NumNeighbors: 2 | | 77 | 6 | Accept | 0.099903 | 2.4157 | 0.022614 | 271 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 223 | | | | | | | | | | MinLeafSize: 1 | | | | | | | | | | MaxNumSplits: 75 | | 78 | 6 | Accept | 0.74165 | 8.7174 | 0.022614 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.13626 | | | | | | | | | | KernelScale: 0.37002 | | 79 | 6 | Accept | 0.035444 | 6.7619 | 0.022614 | 1084 | knn | NumNeighbors: 2 | | 80 | 6 | Accept | 0.73943 | 11.389 | 0.022614 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 6.476 | | | | | | | | | | KernelScale: 0.024305 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 81 | 6 | Accept | 0.74165 | 0.16927 | 0.022614 | 271 | tree | MinLeafSize: 192 | | 82 | 6 | Accept | 0.28443 | 6.1819 | 0.022614 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 4.6764 | | | | | | | | | | KernelScale: 2.4604 | | 83 | 6 | Accept | 0.74165 | 5.5328 | 0.022614 | 271 | knn | NumNeighbors: 5216 | | 84 | 6 | Accept | 0.73994 | 10.148 | 0.022614 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.64248 | | | | | | | | | | KernelScale: 0.011614 | | 85 | 6 | Accept | 0.74165 | 5.4912 | 0.022614 | 271 | knn | NumNeighbors: 5719 | | 86 | 6 | Accept | 0.064658 | 0.56457 | 0.022614 | 271 | tree | MinLeafSize: 35 | | 87 | 6 | Accept | 0.038398 | 6.9574 | 0.022614 | 1084 | knn | NumNeighbors: 5 | | 88 | 6 | Accept | 0.034475 | 6.8188 | 0.022614 | 1084 | knn | NumNeighbors: 3 | | 89 | 6 | Accept | 0.74165 | 0.14527 | 0.022614 | 271 | tree | MinLeafSize: 2993 | | 90 | 6 | Accept | 0.058058 | 0.46957 | 0.022614 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 91 | 6 | Accept | 0.026629 | 22.134 | 0.022614 | 4334 | knn | NumNeighbors: 2 | | 92 | 6 | Accept | 0.74165 | 15.612 | 0.022614 | 271 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 278 | | | | | | | | | | MinLeafSize: 3475 | | | | | | | | | | MaxNumSplits: 38 | | 93 | 6 | Accept | 0.056258 | 0.62655 | 0.022614 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 94 | 6 | Accept | 0.050858 | 0.51896 | 0.022614 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 95 | 6 | Accept | 0.74165 | 5.8513 | 0.022614 | 271 | knn | NumNeighbors: 810 | | 96 | 6 | Accept | 0.061796 | 0.58768 | 0.022614 | 271 | tree | MinLeafSize: 35 | | 97 | 6 | Accept | 0.73002 | 62.357 | 0.022614 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 1.7322e-07 | | 98 | 6 | Accept | 0.064011 | 215.57 | 0.022614 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 2.3959 | | 99 | 6 | Accept | 0.046659 | 0.93439 | 0.022614 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 100 | 6 | Accept | 0.052889 | 0.48086 | 0.022614 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 101 | 6 | Accept | 0.10033 | 2.0363 | 0.022614 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.0041303 | | | | | | | | | | KernelScale: 185.74 | | 102 | 6 | Accept | 0.045782 | 0.48207 | 0.022614 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 103 | 6 | Accept | 0.042874 | 0.7858 | 0.022614 | 271 | tree | MinLeafSize: 1 | | 104 | 6 | Accept | 0.029167 | 1.4546 | 0.022614 | 1084 | tree | MinLeafSize: 1 | | 105 | 6 | Best | 0.020537 | 1.3072 | 0.020537 | 4334 | tree | MinLeafSize: 1 | | 106 | 6 | Accept | 0.41033 | 211.85 | 0.020537 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 68.422 | | 107 | 6 | Accept | 0.74165 | 5.4562 | 0.020537 | 271 | knn | NumNeighbors: 7694 | | 108 | 6 | Accept | 0.74165 | 0.29134 | 0.020537 | 271 | tree | MinLeafSize: 675 | | 109 | 5 | Accept | 0.72979 | 56.027 | 0.020537 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 7.594e-10 | | 110 | 5 | Accept | 0.047212 | 1.914 | 0.020537 | 271 | knn | NumNeighbors: 5 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 111 | 6 | Accept | 0.049982 | 0.50009 | 0.020537 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 112 | 6 | Accept | 0.051781 | 0.56465 | 0.020537 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 113 | 6 | Accept | 0.061658 | 0.50308 | 0.020537 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 114 | 6 | Accept | 0.73851 | 9.9938 | 0.020537 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 1.0952 | | | | | | | | | | KernelScale: 0.0011239 | | 115 | 6 | Best | 0.015507 | 143.46 | 0.015507 | 17335 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 432.63 | | | | | | | | | | KernelScale: 373.97 | | 116 | 6 | Accept | 0.038951 | 7.502 | 0.015507 | 1084 | knn | NumNeighbors: 5 | | 117 | 6 | Accept | 0.058658 | 2.2751 | 0.015507 | 271 | knn | NumNeighbors: 9 | | 118 | 6 | Accept | 0.56535 | 210.03 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 175.22 | | 119 | 6 | Accept | 0.050628 | 1.9935 | 0.015507 | 271 | knn | NumNeighbors: 4 | | 120 | 6 | Accept | 0.73126 | 9.0011 | 0.015507 | 271 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 230.2 | | | | | | | | | | KernelScale: 0.32321 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 121 | 6 | Accept | 0.51278 | 8.8728 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.011209 | | | | | | | | | | KernelScale: 1.0514 | | 122 | 6 | Accept | 0.037752 | 6.7081 | 0.015507 | 1084 | knn | NumNeighbors: 4 | | 123 | 6 | Accept | 0.74165 | 204.7 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 1679.5 | | 124 | 6 | Accept | 0.046751 | 1.8383 | 0.015507 | 271 | knn | NumNeighbors: 2 | | 125 | 6 | Accept | 0.73108 | 58.241 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 7.7951e-15 | | 126 | 6 | Accept | 0.74165 | 12.265 | 0.015507 | 271 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 216 | | | | | | | | | | MinLeafSize: 421 | | | | | | | | | | MaxNumSplits: 59 | | 127 | 6 | Accept | 0.048182 | 0.46464 | 0.015507 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 128 | 6 | Accept | 0.078687 | 0.736 | 0.015507 | 271 | tree | MinLeafSize: 12 | | 129 | 6 | Accept | 0.034429 | 6.89 | 0.015507 | 1084 | knn | NumNeighbors: 2 | | 130 | 6 | Accept | 0.74165 | 5.1529 | 0.015507 | 271 | knn | NumNeighbors: 893 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 131 | 6 | Accept | 0.04832 | 0.42408 | 0.015507 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 132 | 6 | Accept | 0.045828 | 0.40531 | 0.015507 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 133 | 6 | Accept | 0.74165 | 0.11469 | 0.015507 | 271 | tree | MinLeafSize: 943 | | 134 | 6 | Accept | 0.73163 | 58.558 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 4.0016e-08 | | 135 | 6 | Accept | 0.11732 | 0.47758 | 0.015507 | 271 | tree | MinLeafSize: 43 | | 136 | 6 | Accept | 0.051181 | 0.45611 | 0.015507 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 137 | 6 | Accept | 0.50757 | 116.52 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 0.005237 | | 138 | 6 | Accept | 0.74165 | 5.0747 | 0.015507 | 271 | knn | NumNeighbors: 2792 | | 139 | 6 | Accept | 0.74165 | 5.0727 | 0.015507 | 271 | knn | NumNeighbors: 1886 | | 140 | 6 | Accept | 0.27972 | 6.2223 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.0020942 | | | | | | | | | | KernelScale: 1.6249 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 141 | 6 | Accept | 0.04652 | 0.41269 | 0.015507 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 142 | 6 | Accept | 0.11565 | 0.45669 | 0.015507 | 271 | tree | MinLeafSize: 46 | | 143 | 6 | Accept | 0.045736 | 0.65924 | 0.015507 | 271 | tree | MinLeafSize: 2 | | 144 | 6 | Accept | 0.11621 | 0.39888 | 0.015507 | 271 | tree | MinLeafSize: 59 | | 145 | 6 | Accept | 0.026721 | 20.503 | 0.015507 | 4334 | knn | NumNeighbors: 2 | | 146 | 6 | Accept | 0.29744 | 7.5199 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 318.91 | | | | | | | | | | KernelScale: 1.4414 | | 147 | 6 | Accept | 0.026814 | 1.3329 | 0.015507 | 1084 | tree | MinLeafSize: 2 | | 148 | 6 | Accept | 0.020537 | 1.1856 | 0.015507 | 4334 | tree | MinLeafSize: 2 | | 149 | 6 | Accept | 0.74165 | 5.0812 | 0.015507 | 271 | knn | NumNeighbors: 9834 | | 150 | 6 | Accept | 0.74165 | 4.9886 | 0.015507 | 271 | knn | NumNeighbors: 3626 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 151 | 6 | Accept | 0.10638 | 1.9037 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.35259 | | | | | | | | | | KernelScale: 56.147 | | 152 | 6 | Accept | 0.049012 | 0.70414 | 0.015507 | 271 | tree | MinLeafSize: 1 | | 153 | 6 | Accept | 0.023537 | 1.4334 | 0.015507 | 1084 | tree | MinLeafSize: 1 | | 154 | 5 | Accept | 0.73011 | 60.803 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 1.8217e-05 | | 155 | 5 | Accept | 0.73486 | 8.5215 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.0023583 | | | | | | | | | | KernelScale: 0.24236 | | 156 | 6 | Accept | 0.047074 | 1.0388 | 0.015507 | 271 | tree | MinLeafSize: 1 | | 157 | 6 | Accept | 0.70237 | 8.6088 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.062538 | | | | | | | | | | KernelScale: 0.37767 | | 158 | 6 | Accept | 0.74165 | 4.9997 | 0.015507 | 271 | knn | NumNeighbors: 323 | | 159 | 6 | Accept | 0.029675 | 1.4729 | 0.015507 | 1084 | tree | MinLeafSize: 1 | | 160 | 6 | Accept | 0.74165 | 9.302 | 0.015507 | 271 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 214 | | | | | | | | | | MinLeafSize: 775 | | | | | | | | | | MaxNumSplits: 50 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 161 | 6 | Accept | 0.37119 | 3.7119 | 0.015507 | 271 | knn | NumNeighbors: 115 | | 162 | 6 | Accept | 0.74165 | 5.107 | 0.015507 | 271 | knn | NumNeighbors: 4695 | | 163 | 6 | Accept | 0.048043 | 0.5202 | 0.015507 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 164 | 6 | Accept | 0.044951 | 0.46331 | 0.015507 | 271 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 165 | 6 | Accept | 0.74165 | 12.879 | 0.015507 | 271 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 284 | | | | | | | | | | MinLeafSize: 4201 | | | | | | | | | | MaxNumSplits: 68 | | 166 | 6 | Accept | 0.049243 | 1.7758 | 0.015507 | 271 | knn | NumNeighbors: 2 | | 167 | 6 | Accept | 0.59004 | 90.952 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 0.0015851 | | 168 | 6 | Accept | 0.050858 | 0.47237 | 0.015507 | 1084 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 169 | 6 | Accept | 0.021276 | 1.3237 | 0.015507 | 4334 | tree | MinLeafSize: 1 | | 170 | 6 | Accept | 0.033183 | 19.828 | 0.015507 | 271 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 292 | | | | | | | | | | MinLeafSize: 12 | | | | | | | | | | MaxNumSplits: 85 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 171 | 6 | Accept | 0.11422 | 2.7931 | 0.015507 | 271 | knn | NumNeighbors: 41 | | 172 | 6 | Accept | 0.74165 | 0.10587 | 0.015507 | 271 | tree | MinLeafSize: 708 | | 173 | 6 | Accept | 0.73929 | 10.665 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.44289 | | | | | | | | | | KernelScale: 0.0062786 | | 174 | 6 | Accept | 0.73076 | 53.017 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 1.203e-13 | | 175 | 6 | Accept | 0.058058 | 1.9539 | 0.015507 | 271 | knn | NumNeighbors: 6 | | 176 | 6 | Accept | 0.73076 | 4.041 | 0.015507 | 271 | knn | NumNeighbors: 131 | | 177 | 6 | Accept | 0.01583 | 6.3126 | 0.015507 | 17335 | tree | MinLeafSize: 1 | | 178 | 6 | Accept | 0.05635 | 6.521 | 0.015507 | 271 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 216 | | | | | | | | | | MinLeafSize: 2 | | | | | | | | | | MaxNumSplits: 42 | | 179 | 6 | Accept | 0.74165 | 5.2228 | 0.015507 | 271 | knn | NumNeighbors: 3347 | | 180 | 6 | Accept | 0.74165 | 5.12 | 0.015507 | 271 | knn | NumNeighbors: 4390 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 181 | 6 | Accept | 0.09401 | 2.3294 | 0.015507 | 271 | knn | NumNeighbors: 24 | | 182 | 6 | Accept | 0.27811 | 5.2153 | 0.015507 | 271 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 35.627 | | | | | | | | | | KernelScale: 3.1484 | | 183 | 6 | Accept | 0.07038 | 2.0202 | 0.015507 | 271 | knn | NumNeighbors: 10 | | 184 | 6 | Accept | 0.035167 | 6.3428 | 0.015507 | 1084 | knn | NumNeighbors: 2 | | 185 | 6 | Accept | 0.051874 | 0.73088 | 0.015507 | 271 | tree | MinLeafSize: 3 | | 186 | 6 | Accept | 0.26241 | 0.25171 | 0.015507 | 271 | tree | MinLeafSize: 79 | | 187 | 6 | Accept | 0.74165 | 5.2683 | 0.015507 | 271 | knn | NumNeighbors: 3004 | | 188 | 6 | Accept | 0.7314 | 54.858 | 0.015507 | 271 | nb | DistributionNames: kernel | | | | | | | | | | Width: 7.872e-07 | | 189 | 6 | Accept | 0.030321 | 1.4975 | 0.015507 | 1084 | tree | MinLeafSize: 3 | | 190 | 6 | Accept | 0.74165 | 5.4671 | 0.015507 | 271 | knn | NumNeighbors: 9464 | |========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Training set | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | size | | | |========================================================================================================================================| | 191 | 6 | Accept | 0.74165 | 5.3621 | 0.015507 | 271 | knn | NumNeighbors: 748 | | 192 | 6 | Accept | 0.054735 | 2.0058 | 0.015507 | 271 | knn | NumNeighbors: 6 | | 193 | 6 | Accept | 0.74165 | 11.604 | 0.015507 | 271 | ensemble | Method: AdaBoostM2 | | | | | ...
__________________________________________________________ Optimization completed. Total iterations: 510 Total elapsed time: 1229.4372 seconds Total time for training and validation: 6958.3168 seconds Best observed learner is an ensemble model with: Method: AdaBoostM2 NumLearningCycles: 213 MinLeafSize: 7 MaxNumSplits: 82 Observed validation loss: 0.0035998 Time for training and validation: 83.6534 seconds Documentation for fitcauto display
Итоговая модель возвращена fitcauto
соответствует лучшему наблюдаемому ученику. Прежде, чем возвратить модель, функция переобучает его с помощью всех обучающих данных (XTrain
и YTrain
), перечисленный Learner
(или модель) тип и отображенные гиперзначения параметров.
Оцените эффективность набора тестов
Оцените итоговую производительность модели на наборе тестовых данных.
testAccuracy = 1 - loss(Mdl,XTest,YTest)
testAccuracy = 0.9963
Итоговая модель правильно классифицирует более чем 99% наблюдений.
Этот пример использует:
Используйте fitcauto
автоматически выбрать модель классификации оптимизированными гиперпараметрами, учитывая предиктор и данные об ответе, хранимые в таблице. Перед передающими данными к fitcauto
, выполните выбор признаков, чтобы удалить неважные предикторы из набора данных.
Загрузка и данные о разделе
Считайте файл примера CreditRating_Historical.dat
в таблицу. Данные о предикторе состоят из финансовых отношений и информации об отрасли промышленности для списка корпоративных клиентов. Переменная отклика состоит из кредитных рейтингов, присвоенных рейтинговым агентством. Предварительно просмотрите первые несколько строк набора данных.
creditrating = readtable("CreditRating_Historical.dat");
head(creditrating)
ans=8×8 table
ID WC_TA RE_TA EBIT_TA MVE_BVTD S_TA Industry Rating
_____ ______ ______ _______ ________ _____ ________ _______
62394 0.013 0.104 0.036 0.447 0.142 3 {'BB' }
48608 0.232 0.335 0.062 1.969 0.281 8 {'A' }
42444 0.311 0.367 0.074 1.935 0.366 1 {'A' }
48631 0.194 0.263 0.062 1.017 0.228 4 {'BBB'}
43768 0.121 0.413 0.057 3.647 0.466 12 {'AAA'}
39255 -0.117 -0.799 0.01 0.179 0.082 4 {'CCC'}
62236 0.087 0.158 0.049 0.816 0.324 2 {'BBB'}
39354 0.005 0.181 0.034 2.597 0.388 7 {'AA' }
Поскольку каждое значение в ID
переменная является уникальным идентификатором клиента, то есть, length(unique(creditrating.ID))
равно количеству наблюдений в creditrating
, ID
переменная является плохим предиктором. Удалите ID
переменная из таблицы, и преобразует Industry
переменная к categorical
переменная.
creditrating = removevars(creditrating,"ID");
creditrating.Industry = categorical(creditrating.Industry);
Разделите данные в наборы обучающих данных и наборы тестов. Используйте приблизительно 85% наблюдений для выбора модели и настраивающего процесса гиперпараметра, и 15% наблюдений, чтобы проверить производительность итоговой модели, возвращенной fitcauto
на новых данных. Используйте cvpartition
разделить данные.
rng("default") % For reproducibility of the partition c = cvpartition(creditrating.Rating,"Holdout",0.15); trainingIndices = training(c); % Indices for the training set testIndices = test(c); % Indices for the test set creditTrain = creditrating(trainingIndices,:); creditTest = creditrating(testIndices,:);
Выполните выбор признаков
Прежде, чем передать обучающие данные fitcauto
, найдите важные предикторы при помощи fscchi2
функция. Визуализируйте баллы предиктора при помощи bar
функция. Поскольку некоторыми баллами может быть Inf
, и bar
отбрасывания Inf
значения, постройте конечные баллы сначала и затем постройте конечное представление Inf
баллы в различном цвете.
[idx,scores] = fscchi2(creditTrain,"Rating"); bar(scores(idx)) % Represents finite scores hold on veryImportant = isinf(scores); finiteMax = max(scores(~veryImportant)); bar(finiteMax*veryImportant(idx)) % Represents Inf scores hold off xticklabels(strrep(creditTrain.Properties.VariableNames(idx),"_","\_")) xtickangle(45) legend(["Finite Scores","Inf Scores"])
Заметьте, что Industry
предиктор имеет низкий балл, соответствующий p-значению, которое больше 0.05, который указывает на тот Industry
не может быть важная функция. Удалите Industry
покажите от наборов тестовых данных и обучения.
creditTrain = removevars(creditTrain,'Industry'); creditTest = removevars(creditTest,'Industry');
Запустите fitcauto
Передайте обучающие данные fitcauto
. Функция использует Байесовую оптимизацию, чтобы выбрать модели и их гиперзначения параметров, и возвращает обученную модель Mdl
с лучшей ожидаемой эффективностью. Задайте, чтобы попробовать все доступные типы ученика и запуститься, оптимизация параллельно (требует Parallel Computing Toolbox™). Возвратите второй выход Results
это содержит детали Байесовой оптимизации.
Ожидайте, что этот процесс займет время. По умолчанию, fitcauto
предоставляет график оптимизации и итеративное отображение результатов оптимизации. Для получения дополнительной информации о том, как интерпретировать эти результаты, смотрите Многословное Отображение.
options = struct("UseParallel",true); [Mdl,Results] = fitcauto(creditTrain,"Rating", ... "Learners","all","HyperparameterOptimizationOptions",options);
Warning: It is recommended that you first standardize all numeric predictors when optimizing the Naive Bayes 'Width' parameter. Ignore this warning if you have done that.
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 6). Copying objective function to workers... Done copying objective function to workers. Learner types to explore: discr, ensemble, kernel, knn, linear, nb, svm, tree Total iterations (MaxObjectiveEvaluations): 240 Total time (MaxTime): Inf |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 1 | 6 | Best | 0.42716 | 4.9077 | 0.42716 | 0.42716 | discr | Delta: 0.00046441 | | | | | | | | | | Gamma: 0.2485 | | 2 | 4 | Accept | 0.74185 | 7.2984 | 0.24948 | 0.29794 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.48455 | | | | | | | | | | KernelScale: 354.44 | | 3 | 4 | Best | 0.24948 | 7.9291 | 0.24948 | 0.29794 | linear | Coding: onevsone | | | | | | | | | | Lambda: 6.3551e-08 | | | | | | | | | | Learner: logistic | | 4 | 4 | Accept | 0.29794 | 6.1613 | 0.24948 | 0.29794 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 12 | | | | | | | | | | LearnRate: 0.063776 | | | | | | | | | | MinLeafSize: 277 | | 5 | 4 | Accept | 0.25067 | 1.155 | 0.24948 | 0.25067 | knn | NumNeighbors: 105 | | | | | | | | | | Distance: minkowski | | 6 | 6 | Accept | 0.52917 | 2.3222 | 0.24948 | 0.25067 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.002417 | | | | | | | | | | KernelScale: 356.9 | | 7 | 4 | Accept | 0.6904 | 1.5015 | 0.24948 | 0.29794 | knn | NumNeighbors: 255 | | | | | | | | | | Distance: jaccard | | 8 | 4 | Accept | 0.6904 | 1.3877 | 0.24948 | 0.29794 | knn | NumNeighbors: 255 | | | | | | | | | | Distance: jaccard | | 9 | 4 | Accept | 0.6904 | 1.3696 | 0.24948 | 0.29794 | knn | NumNeighbors: 255 | | | | | | | | | | Distance: jaccard | | 10 | 4 | Accept | 0.55818 | 1.0769 | 0.24948 | 0.29794 | discr | Delta: 0.98612 | | | | | | | | | | Gamma: 0.86519 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 11 | 6 | Best | 0.24649 | 17.118 | 0.24649 | 0.24649 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 7.8433 | | | | | | | | | | Lambda: 1.4468e-06 | | 12 | 6 | Accept | 0.26413 | 1.1368 | 0.24649 | 0.24649 | tree | MinLeafSize: 30 | | 13 | 6 | Accept | 0.45169 | 1.5112 | 0.24649 | 0.24649 | linear | Coding: onevsall | | | | | | | | | | Lambda: 0.0028505 | | | | | | | | | | Learner: svm | | 14 | 6 | Accept | 0.42238 | 1.5531 | 0.24649 | 0.24649 | linear | Coding: onevsall | | | | | | | | | | Lambda: 0.0016864 | | | | | | | | | | Learner: logistic | | 15 | 6 | Accept | 0.27311 | 12.485 | 0.24649 | 0.26086 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 41.969 | | | | | | | | | | Lambda: 9.9891e-06 | | 16 | 6 | Accept | 0.29584 | 2.4339 | 0.24649 | 0.26086 | linear | Coding: onevsone | | | | | | | | | | Lambda: 0.037043 | | | | | | | | | | Learner: svm | | 17 | 6 | Accept | 0.33712 | 0.26108 | 0.24649 | 0.26086 | knn | NumNeighbors: 1 | | | | | | | | | | Distance: cityblock | | 18 | 6 | Accept | 0.53365 | 2.2181 | 0.24649 | 0.26086 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.0022255 | | | | | | | | | | KernelScale: 206.47 | | 19 | 6 | Accept | 0.4834 | 1.1776 | 0.24649 | 0.26086 | knn | NumNeighbors: 72 | | | | | | | | | | Distance: correlation | | 20 | 6 | Accept | 0.46066 | 18.794 | 0.24649 | 0.26086 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 47.05 | | | | | | | | | | KernelScale: 0.46846 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 21 | 6 | Accept | 0.46066 | 19.722 | 0.24649 | 0.26086 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 47.05 | | | | | | | | | | KernelScale: 0.46846 | | 22 | 6 | Accept | 0.46066 | 19.978 | 0.24649 | 0.26086 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 47.05 | | | | | | | | | | KernelScale: 0.46846 | | 23 | 6 | Accept | 0.74185 | 0.72736 | 0.24649 | 0.26086 | tree | MinLeafSize: 1558 | | 24 | 4 | Accept | 0.25157 | 4.2545 | 0.24379 | 0.26086 | nb | DistributionNames: kernel | | | | | | | | | | Width: 0.11323 | | 25 | 4 | Best | 0.24379 | 2.7132 | 0.24379 | 0.26086 | linear | Coding: onevsone | | | | | | | | | | Lambda: 9.2928e-05 | | | | | | | | | | Learner: logistic | | 26 | 4 | Accept | 0.43255 | 0.37506 | 0.24379 | 0.26086 | discr | Delta: 0.016844 | | | | | | | | | | Gamma: 0.64466 | | 27 | 6 | Accept | 0.66796 | 0.25716 | 0.24379 | 0.26086 | knn | NumNeighbors: 77 | | | | | | | | | | Distance: jaccard | | 28 | 4 | Accept | 0.25366 | 2.6872 | 0.24379 | 0.26086 | nb | DistributionNames: kernel | | | | | | | | | | Width: 0.10033 | | 29 | 4 | Accept | 0.66796 | 0.33779 | 0.24379 | 0.26086 | knn | NumNeighbors: 77 | | | | | | | | | | Distance: jaccard | | 30 | 4 | Accept | 0.66796 | 0.29903 | 0.24379 | 0.26086 | knn | NumNeighbors: 77 | | | | | | | | | | Distance: jaccard | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 31 | 4 | Accept | 0.2773 | 0.74879 | 0.24379 | 0.26086 | tree | MinLeafSize: 94 | | 32 | 3 | Accept | 0.25606 | 11.512 | 0.24379 | 0.26086 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 132 | | | | | | | | | | LearnRate: 0.92674 | | | | | | | | | | MinLeafSize: 127 | | 33 | 3 | Accept | 0.74185 | 0.89783 | 0.24379 | 0.26086 | discr | Delta: 244.12 | | | | | | | | | | Gamma: 0.23748 | | 34 | 6 | Accept | 0.43075 | 0.10207 | 0.24379 | 0.26086 | discr | Delta: 0.0014341 | | | | | | | | | | Gamma: 0.70025 | | 35 | 6 | Accept | 0.24738 | 2.4047 | 0.24379 | 0.26086 | linear | Coding: onevsone | | | | | | | | | | Lambda: 0.0028343 | | | | | | | | | | Learner: logistic | | 36 | 6 | Accept | 0.3787 | 1.8766 | 0.24379 | 0.26086 | linear | Coding: onevsall | | | | | | | | | | Lambda: 1.4563e-06 | | | | | | | | | | Learner: logistic | | 37 | 6 | Accept | 0.53814 | 2.1153 | 0.24379 | 0.26086 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 6.8148 | | | | | | | | | | KernelScale: 382.11 | | 38 | 6 | Accept | 0.2761 | 0.22606 | 0.24379 | 0.26086 | tree | MinLeafSize: 87 | | 39 | 6 | Accept | 0.42208 | 0.77835 | 0.24379 | 0.26086 | discr | Delta: 0.0090118 | | | | | | | | | | Gamma: 0.062207 | | 40 | 6 | Accept | 0.42656 | 0.13226 | 0.24379 | 0.26086 | discr | Delta: 0.0020866 | | | | | | | | | | Gamma: 0.091054 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 41 | 6 | Accept | 0.29973 | 0.41653 | 0.24379 | 0.26086 | tree | MinLeafSize: 7 | | 42 | 6 | Accept | 0.25247 | 12.99 | 0.24379 | 0.25743 | kernel | Coding: onevsall | | | | | | | | | | KernelScale: 0.53464 | | | | | | | | | | Lambda: 2.6732e-05 | | 43 | 6 | Accept | 0.25965 | 13.385 | 0.24379 | 0.25743 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 150 | | | | | | | | | | LearnRate: 0.014842 | | | | | | | | | | MinLeafSize: 21 | | 44 | 6 | Accept | 0.28059 | 0.87454 | 0.24379 | 0.25743 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 45 | 6 | Accept | 0.27281 | 0.44508 | 0.24379 | 0.25743 | knn | NumNeighbors: 8 | | | | | | | | | | Distance: chebychev | | 46 | 6 | Accept | 0.2767 | 17.125 | 0.24379 | 0.25743 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 221 | | | | | | | | | | LearnRate: 0.0028588 | | | | | | | | | | MinLeafSize: 1 | | 47 | 5 | Accept | 0.24499 | 9.7866 | 0.24379 | 0.25743 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.019387 | | | | | | | | | | KernelScale: 0.0047515 | | 48 | 5 | Accept | 0.42178 | 0.93955 | 0.24379 | 0.25743 | discr | Delta: 6.8395e-06 | | | | | | | | | | Gamma: 0.058174 | | 49 | 6 | Best | 0.2429 | 1.5919 | 0.2429 | 0.25743 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.16719 | | | | | | | | | | KernelScale: 0.11257 | | 50 | 6 | Accept | 0.74185 | 10.422 | 0.2429 | 0.26136 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 24.681 | | | | | | | | | | Lambda: 0.092669 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 51 | 6 | Accept | 0.59049 | 3.0832 | 0.2429 | 0.26136 | kernel | Coding: onevsall | | | | | | | | | | KernelScale: 0.093586 | | | | | | | | | | Lambda: 0.0050756 | | 52 | 6 | Accept | 0.37571 | 0.17679 | 0.2429 | 0.26136 | tree | MinLeafSize: 473 | | 53 | 6 | Accept | 0.27251 | 0.16627 | 0.2429 | 0.26136 | tree | MinLeafSize: 20 | | 54 | 6 | Accept | 0.32994 | 0.26792 | 0.2429 | 0.26136 | tree | MinLeafSize: 3 | | 55 | 6 | Accept | 0.61412 | 9.4509 | 0.2429 | 0.26136 | kernel | Coding: onevsall | | | | | | | | | | KernelScale: 0.093586 | | | | | | | | | | Lambda: 0.0050756 | | 56 | 6 | Accept | 0.29973 | 0.19258 | 0.2429 | 0.26136 | tree | MinLeafSize: 7 | | 57 | 6 | Accept | 0.43225 | 0.11614 | 0.2429 | 0.26136 | discr | Delta: 0.021467 | | | | | | | | | | Gamma: 0.66016 | | 58 | 6 | Accept | 0.25725 | 29.083 | 0.2429 | 0.26136 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 304 | | | | | | | | | | LearnRate: NaN | | | | | | | | | | MinLeafSize: 100 | | 59 | 5 | Accept | 0.33144 | 1.4617 | 0.2429 | 0.26995 | nb | DistributionNames: kernel | | | | | | | | | | Width: 0.0020049 | | 60 | 5 | Accept | 0.28059 | 0.57622 | 0.2429 | 0.26995 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 61 | 6 | Accept | 0.24708 | 8.0326 | 0.2429 | 0.26995 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 4.6933 | | | | | | | | | | Lambda: 9.8945e-07 | | 62 | 6 | Accept | 0.24768 | 7.9544 | 0.2429 | 0.25978 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 4.6933 | | | | | | | | | | Lambda: 9.8945e-07 | | 63 | 6 | Accept | 0.55369 | 0.86731 | 0.2429 | 0.25978 | knn | NumNeighbors: 615 | | | | | | | | | | Distance: correlation | | 64 | 5 | Accept | 0.31947 | 13.444 | 0.2429 | 0.25978 | ensemble | Method: RUSBoost | | | | | | | | | | NumLearningCycles: 132 | | | | | | | | | | LearnRate: 0.0014516 | | | | | | | | | | MinLeafSize: 104 | | 65 | 5 | Accept | 0.57972 | 3.0436 | 0.2429 | 0.25978 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.12255 | | | | | | | | | | KernelScale: 81.172 | | 66 | 6 | Accept | 0.42596 | 0.12397 | 0.2429 | 0.25978 | discr | Delta: 9.4222e-06 | | | | | | | | | | Gamma: 0.15603 | | 67 | 6 | Accept | 0.42596 | 0.1062 | 0.2429 | 0.25978 | discr | Delta: 9.4222e-06 | | | | | | | | | | Gamma: 0.15603 | | 68 | 6 | Accept | 0.67783 | 0.82135 | 0.2429 | 0.25978 | linear | Coding: onevsall | | | | | | | | | | Lambda: 2.4732 | | | | | | | | | | Learner: logistic | | 69 | 6 | Accept | 0.25695 | 0.39058 | 0.2429 | 0.25978 | knn | NumNeighbors: 14 | | | | | | | | | | Distance: cityblock | | 70 | 6 | Accept | 0.74185 | 1.9769 | 0.2429 | 0.25978 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.94197 | | | | | | | | | | KernelScale: 524.56 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 71 | 6 | Accept | 0.6548 | 3.5066 | 0.2429 | 0.25978 | nb | DistributionNames: kernel | | | | | | | | | | Width: 2.6013 | | 72 | 6 | Accept | 0.60694 | 2.3559 | 0.2429 | 0.25764 | kernel | Coding: onevsall | | | | | | | | | | KernelScale: 0.86904 | | | | | | | | | | Lambda: 0.29724 | | 73 | 6 | Accept | 0.42926 | 0.10372 | 0.2429 | 0.25764 | discr | Delta: 0.041145 | | | | | | | | | | Gamma: 0.34864 | | 74 | 6 | Accept | 0.47383 | 0.10921 | 0.2429 | 0.25764 | tree | MinLeafSize: 793 | | 75 | 6 | Accept | 0.32456 | 0.20983 | 0.2429 | 0.25764 | tree | MinLeafSize: 5 | | 76 | 6 | Accept | 0.43703 | 1.1803 | 0.2429 | 0.25764 | linear | Coding: onevsall | | | | | | | | | | Lambda: 0.013265 | | | | | | | | | | Learner: logistic | | 77 | 6 | Accept | 0.38169 | 0.13279 | 0.2429 | 0.25764 | tree | MinLeafSize: 436 | | 78 | 6 | Accept | 0.25845 | 20.668 | 0.2429 | 0.25764 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 160 | | | | | | | | | | LearnRate: NaN | | | | | | | | | | MinLeafSize: 2 | | 79 | 6 | Accept | 0.43015 | 0.10705 | 0.2429 | 0.25764 | discr | Delta: 0.0069822 | | | | | | | | | | Gamma: 0.49526 | | 80 | 6 | Accept | 0.42208 | 0.098978 | 0.2429 | 0.25764 | discr | Delta: 0.057485 | | | | | | | | | | Gamma: 0.045714 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 81 | 6 | Accept | 0.33503 | 0.40026 | 0.2429 | 0.25764 | knn | NumNeighbors: 2 | | | | | | | | | | Distance: minkowski | | 82 | 6 | Accept | 0.52617 | 2.0596 | 0.2429 | 0.25764 | svm | Coding: onevsall | | | | | | | | | | BoxConstraint: 0.26869 | | | | | | | | | | KernelScale: 17.595 | | 83 | 6 | Accept | 0.32905 | 0.46647 | 0.2429 | 0.25764 | knn | NumNeighbors: 65 | | | | | | | | | | Distance: seuclidean | | 84 | 6 | Accept | 0.25127 | 11.058 | 0.2429 | 0.25598 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.78697 | | | | | | | | | | Lambda: 4.1197e-06 | | 85 | 6 | Accept | 0.26922 | 13.745 | 0.2429 | 0.25598 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 168 | | | | | | | | | | LearnRate: 0.0041733 | | | | | | | | | | MinLeafSize: 3 | | 86 | 6 | Accept | 0.24589 | 4.5176 | 0.2429 | 0.24982 | kernel | Coding: onevsall | | | | | | | | | | KernelScale: 1.0908 | | | | | | | | | | Lambda: 7.5756e-05 | | 87 | 6 | Accept | 0.2429 | 2.5827 | 0.2429 | 0.24982 | linear | Coding: onevsone | | | | | | | | | | Lambda: 4.7032e-08 | | | | | | | | | | Learner: svm | | 88 | 6 | Accept | 0.67873 | 4.8803 | 0.2429 | 0.24941 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 66.432 | | | | | | | | | | Lambda: 0.00097982 | | 89 | 6 | Accept | 0.28059 | 0.11127 | 0.2429 | 0.24941 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 90 | 6 | Accept | 0.25905 | 2.3728 | 0.2429 | 0.24941 | nb | DistributionNames: kernel | | | | | | | | | | Width: 0.054786 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 91 | 6 | Accept | 0.50972 | 4.7902 | 0.2429 | 0.24941 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 53 | | | | | | | | | | LearnRate: NaN | | | | | | | | | | MinLeafSize: 926 | | 92 | 6 | Accept | 0.28059 | 0.49389 | 0.2429 | 0.24941 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 93 | 6 | Accept | 0.42926 | 0.12299 | 0.2429 | 0.24941 | discr | Delta: 0.00083172 | | | | | | | | | | Gamma: 0.41309 | | 94 | 6 | Accept | 0.29704 | 1.5229 | 0.2429 | 0.24941 | ensemble | Method: AdaBoostM2 | | | | | | | | | | NumLearningCycles: 11 | | | | | | | | | | LearnRate: 0.0072731 | | | | | | | | | | MinLeafSize: 12 | | 95 | 6 | Accept | 0.28059 | 0.12303 | 0.2429 | 0.24941 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 96 | 6 | Accept | 0.28059 | 0.11495 | 0.2429 | 0.24941 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 97 | 6 | Accept | 0.29225 | 13.443 | 0.2429 | 0.24941 | ensemble | Method: RUSBoost | | | | | | | | | | NumLearningCycles: 147 | | | | | | | | | | LearnRate: 0.95321 | | | | | | | | | | MinLeafSize: 112 | | 98 | 6 | Best | 0.2411 | 2.2875 | 0.2411 | 0.24941 | linear | Coding: onevsone | | | | | | | | | | Lambda: 0.00056045 | | | | | | | | | | Learner: svm | | 99 | 6 | Accept | 0.74185 | 0.11928 | 0.2411 | 0.24941 | discr | Delta: 39.281 | | | | | | | | | | Gamma: 0.77032 | | 100 | 6 | Accept | 0.30093 | 0.13456 | 0.2411 | 0.24941 | tree | MinLeafSize: 135 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 101 | 6 | Accept | 0.46844 | 0.18889 | 0.2411 | 0.24941 | knn | NumNeighbors: 2 | | | | | | | | | | Distance: cosine | | 102 | 6 | Accept | 0.24469 | 2.2937 | 0.2411 | 0.24727 | linear | Coding: onevsone | | | | | | | | | | Lambda: 0.0012413 | | | | | | | | | | Learner: logistic | | 103 | 6 | Accept | 0.25426 | 3.6479 | 0.2411 | 0.24727 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 38 | | | | | | | | | | LearnRate: NaN | | | | | | | | | | MinLeafSize: 28 | | 104 | 6 | Accept | 0.24529 | 167.51 | 0.2411 | 0.24727 | svm | Coding: onevsone | | | | | | | | | | BoxConstraint: 0.25488 | | | | | | | | | | KernelScale: 0.0037823 | | 105 | 6 | Accept | 0.31977 | 1.9252 | 0.2411 | 0.24891 | linear | Coding: onevsone | | | | | | | | | | Lambda: 0.040102 | | | | | | | | | | Learner: logistic | | 106 | 6 | Accept | 0.50045 | 4.6994 | 0.2411 | 0.24891 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 13.293 | | | | | | | | | | Lambda: 0.0031304 | | 107 | 6 | Accept | 0.37152 | 0.14955 | 0.2411 | 0.24891 | tree | MinLeafSize: 375 | | 108 | 6 | Accept | 0.24678 | 2.9213 | 0.2411 | 0.24541 | linear | Coding: onevsone | | | | | | | | | | Lambda: 3.9918e-05 | | | | | | | | | | Learner: logistic | | 109 | 6 | Accept | 0.74484 | 4.8397 | 0.2411 | 0.24541 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.004545 | | | | | | | | | | Lambda: 0.0039369 | | 110 | 6 | Accept | 0.45947 | 0.73222 | 0.2411 | 0.24662 | linear | Coding: onevsall | | | | | | | | | | Lambda: 0.028513 | | | | | | | | | | Learner: svm | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 111 | 6 | Accept | 0.28059 | 0.11129 | 0.2411 | 0.24662 | nb | DistributionNames: normal | | | | | | | | | | Width: NaN | | 112 | 6 | Accept | 0.25845 | 7.4048 | 0.2411 | 0.24662 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 61 | | | | | | | | | | LearnRate: NaN | | | | | | | | | | MinLeafSize: 3 | | 113 | 6 | Accept | 0.42806 | 0.20953 | 0.2411 | 0.24662 | knn | NumNeighbors: 10 | | | | | | | | | | Distance: cosine | | 114 | 6 | Accept | 0.74185 | 3.5296 | 0.2411 | 0.24662 | nb | DistributionNames: kernel | | | | | | | | | | Width: 74.975 | | 115 | 6 | Accept | 0.29106 | 21.854 | 0.2411 | 0.24662 | ensemble | Method: Bag | | | | | | | | | | NumLearningCycles: 249 | | | | | | | | | | LearnRate: NaN | | | | | | | | | | MinLeafSize: 292 | | 116 | 6 | Accept | 0.77864 | 10.34 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.0050713 | | | | | | | | | | Lambda: 3.7406e-06 | | 117 | 6 | Accept | 0.24708 | 5.2433 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.8979 | | | | | | | | | | Lambda: 0.00028514 | | 118 | 6 | Accept | 0.71762 | 4.9096 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 500.74 | | | | | | | | | | Lambda: 7.9516e-05 | | 119 | 6 | Accept | 0.7601 | 12.416 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.013078 | | | | | | | | | | Lambda: 0.00023088 | | 120 | 6 | Accept | 0.31289 | 3.9454 | 0.2411 | 0.24662 | kernel | Coding: onevsall | | | | | | | | | | KernelScale: 4.8535 | | | | | | | | | | Lambda: 0.00015045 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 121 | 6 | Accept | 0.68771 | 3.8043 | 0.2411 | 0.24662 | kernel | Coding: onevsall | | | | | | | | | | KernelScale: 553.29 | | | | | | | | | | Lambda: 2.0294e-05 | | 122 | 6 | Accept | 0.24948 | 6.555 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.69606 | | | | | | | | | | Lambda: 5.6834e-05 | | 123 | 6 | Accept | 0.24649 | 6.265 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 1.5014 | | | | | | | | | | Lambda: 7.4113e-05 | | 124 | 6 | Accept | 0.24649 | 6.2611 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.75029 | | | | | | | | | | Lambda: 8.0356e-05 | | 125 | 6 | Accept | 0.25217 | 10.816 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.8744 | | | | | | | | | | Lambda: 3.9465e-06 | | 126 | 6 | Accept | 0.25755 | 0.25578 | 0.2411 | 0.24662 | knn | NumNeighbors: 133 | | | | | | | | | | Distance: minkowski | | 127 | 6 | Accept | 0.24589 | 5.6905 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 1.0841 | | | | | | | | | | Lambda: 0.00019 | | 128 | 6 | Accept | 0.25366 | 6.0616 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 13.915 | | | | | | | | | | Lambda: 4.7818e-05 | | 129 | 5 | Accept | 0.3111 | 19.355 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.23685 | | | | | | | | | | Lambda: 3.4559e-07 | | 130 | 5 | Accept | 0.24649 | 6.139 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.89435 | | | | | | | | | | Lambda: 0.00018696 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 131 | 6 | Accept | 0.24798 | 5.2185 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 1.9045 | | | | | | | | | | Lambda: 0.00021312 | | 132 | 6 | Accept | 0.24828 | 5.4701 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 1.3796 | | | | | | | | | | Lambda: 0.00034835 | | 133 | 6 | Accept | 0.28896 | 8.0051 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.18555 | | | | | | | | | | Lambda: 5.7486e-05 | | 134 | 6 | Accept | 0.24738 | 0.22382 | 0.2411 | 0.24662 | knn | NumNeighbors: 98 | | | | | | | | | | Distance: minkowski | | 135 | 6 | Accept | 0.24678 | 6.1613 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 3.8708 | | | | | | | | | | Lambda: 0.00022901 | | 136 | 5 | Accept | 0.24529 | 5.7754 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.98622 | | | | | | | | | | Lambda: 0.00022785 | | 137 | 5 | Accept | 0.277 | 0.63033 | 0.2411 | 0.24662 | knn | NumNeighbors: 197 | | | | | | | | | | Distance: minkowski | | 138 | 6 | Accept | 0.25636 | 5.2351 | 0.2411 | 0.24662 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 5.9871 | | | | | | | | | | Lambda: 0.00025502 | | 139 | 6 | Accept | 0.24589 | 5.4419 | 0.2411 | 0.24661 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.71386 | | | | | | | | | | Lambda: 0.00023876 | | 140 | 6 | Accept | 0.24828 | 5.1049 | 0.2411 | 0.24617 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 0.93977 | | | | | | | | | | Lambda: 0.00056651 | |===========================================================================================================================================| | Iter | Active | Eval | Validation | Time for training | Observed min | Estimated min | Learner | Hyperparameter: Value | | | workers | result | loss | & validation (sec)| validation loss | validation loss | | | |===========================================================================================================================================| | 141 | 6 | Accept | 0.27879 | 5.6359 | 0.2411 | 0.24618 | kernel | Coding: onevsone | | | | | | | | | | KernelScale: 21.38 | | ...
__________________________________________________________ Optimization completed. Total iterations: 240 Total elapsed time: 608.1602 seconds Total time for training and validation: 1585.7079 seconds Best observed learner is a multiclass svm model with: Coding (ECOC): onevsone BoxConstraint: 0.85149 KernelScale: 0.48514 Observed validation loss: 0.23961 Time for training and validation: 1.2946 seconds Best estimated learner (returned model) is a multiclass svm model with: Coding (ECOC): onevsone BoxConstraint: 912.11 KernelScale: 13.622 Estimated validation loss: 0.24168 Estimated time for training and validation: 1.1953 seconds Documentation for fitcauto display
Итоговая модель возвращена fitcauto
соответствует лучшему предполагаемому ученику. Прежде, чем возвратить модель, функция переобучает его с помощью целых обучающих данных (creditTrain
), перечисленный Learner
(или модель) тип и отображенные значения гиперпараметра.
Оцените эффективность набора тестов
Модель Mdl
соответствует лучшей точке в Байесовой оптимизации согласно "min-visited-mean"
критерий. Чтобы измерить, как модель выполнит на новых данных, посмотрите на наблюдаемую точность перекрестной проверки модели (cvAccuracy
) и его общая предполагаемая эффективность на основе Байесовой оптимизации (estimatedAccuracy
).
[x,~,iteration] = bestPoint(Results,"Criterion","min-visited-mean"); cvError = Results.ObjectiveTrace(iteration); cvAccuracy = 1 - cvError
cvAccuracy = 0.7598
estimatedError = predictObjective(Results,x); estimatedAccuracy = 1 - estimatedError
estimatedAccuracy = 0.7583
Оцените эффективность модели на наборе тестов. Создайте матрицу беспорядка из результатов и задайте порядок классов в матрице беспорядка.
testAccuracy = 1 - loss(Mdl,creditTest,"Rating")
testAccuracy = 0.7438
cm = confusionchart(creditTest.Rating,predict(Mdl,creditTest)); sortClasses(cm,["AAA","AA","A","BBB","BB","B","CCC"])
Tbl
— Выборочные данныеВыборочные данные в виде таблицы. Каждая строка Tbl
соответствует одному наблюдению, и каждый столбец соответствует одному предиктору. Опционально, Tbl
может содержать один дополнительный столбец для переменной отклика. Многостолбцовые переменные и массивы ячеек кроме массивов ячеек из символьных векторов не приняты.
Если Tbl
содержит переменную отклика, и вы хотите использовать все остающиеся переменные в Tbl
как предикторы, задайте переменную отклика с помощью ResponseVarName
.
Если Tbl
содержит переменную отклика, и вы хотите использовать только подмножество остающихся переменных в Tbl
как предикторы, задайте формулу с помощью formula
.
Если Tbl
не содержит переменную отклика, задает переменную отклика с помощью Y
. Длина переменной отклика и количество строк в Tbl
должно быть равным.
Типы данных: table
ResponseVarName
— Имя переменной откликаTbl
Имя переменной отклика в виде имени переменной в Tbl
.
Необходимо задать ResponseVarName
как вектор символов или строковый скаляр. Например, если переменная отклика Y
хранится как Tbl.Y
, затем задайте его как "Y"
. В противном случае программное обеспечение обрабатывает все столбцы Tbl
, включая Y
, как предикторы, когда обучение модель.
Переменная отклика должна быть категориальным, символом или массивом строк; логический или числовой вектор; или массив ячеек из символьных векторов. Если Y
символьный массив, затем каждый элемент переменной отклика должен соответствовать одной строке массива.
Хорошая практика должна задать порядок классов при помощи ClassNames
аргумент значения имени.
Типы данных: char |
string
formula
— Объяснительная модель переменной отклика и подмножество переменных предикторовОбъяснительная модель переменной отклика и подмножество переменных предикторов в виде вектора символов или строкового скаляра в форме "Y~x1+x2+x3"
. В этой форме, Y
представляет переменную отклика и x1
x2
, и x3
представляйте переменные предикторы.
Задавать подмножество переменных в Tbl
как предикторы для обучения модель, используйте формулу. Если вы задаете формулу, то программное обеспечение не использует переменных в Tbl
это не появляется в formula
.
Имена переменных в формуле должны быть оба именами переменных в Tbl
(Tbl.Properties.VariableNames
) и допустимый MATLAB® идентификаторы. Можно проверить имена переменных в Tbl
при помощи isvarname
функция. Если имена переменных не допустимы, то можно преобразовать их при помощи matlab.lang.makeValidName
функция.
Типы данных: char |
string
Y
— Метки классаКласс помечает в виде числового, категориального, или логического вектора, символьного массива или массива строк или массива ячеек из символьных векторов.
Если Y
символьный массив, затем каждый элемент меток класса должен соответствовать одной строке массива.
Хорошая практика должна задать порядок класса при помощи ClassNames
аргумент значения имени.
Типы данных: single
| double
| categorical
| logical
| char
| string
| cell
X
— Данные о предиктореДанные о предикторе в виде числовой матрицы.
Каждая строка X
соответствует одному наблюдению, и каждый столбец соответствует одному предиктору.
Длина Y
и количество строк в X
должно быть равным.
Задавать имена предикторов в порядке их внешнего вида в X
, используйте PredictorNames
аргумент значения имени.
Типы данных: single
| double
Примечание
Программное обеспечение обрабатывает NaN
, пустой символьный вектор (''
), пустая строка (""
), <missing>
, и <undefined>
элементы как недостающие данные. Программное обеспечение удаляет строки данных, соответствующих отсутствующим значениям в переменной отклика. Однако обработка отсутствующих значений в данных о предикторе X
или Tbl
варьируется среди моделей (или ученики).
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
"HyperparameterOptimizationOptions",struct("MaxObjectiveEvaluations",200,"Verbose",2)
задает, чтобы запустить 200 итераций процесса оптимизации (то есть, попробуйте 200 комбинаций гиперпараметра модели), и отобразить информацию в Командном окне о следующей комбинации гиперпараметра модели, которая будет оценена.Learners
— Типы моделей классификации"auto"
(значение по умолчанию) | "all"
| "all-linear"
| "all-nonlinear"
| одно или несколько имен ученикаТипы моделей классификации, чтобы попробовать во время оптимизации в виде значения в первой приведенной ниже таблице или одного или нескольких имен ученика во второй таблице. Задайте несколько имен ученика как массив строк или массив ячеек.
Значение | Описание |
---|---|
"auto" | fitcauto автоматически выбирает подмножество учеников, подходящих для данного предиктора и данных об ответе. У учеников могут быть гиперзначения параметров модели, которые отличаются от значения по умолчанию. Для получения дополнительной информации смотрите Автоматический Выбор Учеников. |
"all" | fitcauto выбирает всех возможных учеников. |
"all-linear" | fitcauto выбирает линейных учеников: "discr" (с линейным дискриминантным типом) и "linear" . |
"all-nonlinear" | fitcauto выбирает всех нелинейных учеников: "discr" (с квадратичным дискриминантным типом), "ensemble" , "kernel" , "knn" , "nb" , "svm" (с Гауссовым или полиномиальным ядром), и "tree" . |
Примечание
Для большего КПД, fitcauto
не выбирает следующие комбинации моделей, когда вы задаете одно из предыдущих значений.
"kernel"
и "svm"
(с Гауссовым ядром) — fitcauto
выбирает первое, когда данные о предикторе имеют больше чем 11 000 наблюдений и второе в противном случае.
"linear"
и "svm"
(с линейным ядром) — fitcauto
выбирает первое.
Имя ученика | Описание |
---|---|
"discr" | Классификатор дискриминантного анализа |
"ensemble" | Модель классификации ансамблей |
"kernel" | Модель классификации ядер |
"knn" | модель k - ближайших соседей |
"linear" | Линейная модель классификации |
"nb" | Наивный классификатор Байеса |
"svm" | Классификатор машины опорных векторов |
"tree" | Дерево классификации выборов из двух альтернатив |
Пример: "Learners","all"
Пример: "Learners","ensemble"
Пример: "Learners",["svm","tree"]
Типы данных: char |
string
| cell
OptimizeHyperparameters
— Гиперпараметры, чтобы оптимизировать"auto"
(значение по умолчанию) | "all"
Гиперпараметры, чтобы оптимизировать в виде "auto"
или "all"
. optimizable гиперпараметры зависят от модели (или ученик), как описано в этой таблице.
Имя ученика | Гиперпараметры для "auto" | Дополнительные гиперпараметры для "all" | Примечания |
---|---|---|---|
"discr" | Delta , Gamma | DiscrimType |
Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите |
"ensemble" | Method , NumLearningCycles , LearnRate , MinLeafSize | MaxNumSplits , NumVariablesToSample , SplitCriterion | Когда ансамбль Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите |
"kernel" | KernelScale \lambda , Coding (только для трех или больше классов) | Learner , NumExpansionDimensions | Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите OptimizeHyperparameters и OptimizeHyperparameters (только для трех или больше классов). Обратите внимание на то, что вы не можете изменить области значений поиска гиперпараметра, когда вы используете fitcauto . |
"knn" | Distance , NumNeighbors | DistanceWeight , Exponent , Standardize | Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите OptimizeHyperparameters . Обратите внимание на то, что вы не можете изменить области значений поиска гиперпараметра, когда вы используете fitcauto . |
"linear" | Lambda , Learner , Coding (только для трех или больше классов) | Regularization | Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите OptimizeHyperparameters и OptimizeHyperparameters (только для трех или больше классов). Обратите внимание на то, что вы не можете изменить области значений поиска гиперпараметра, когда вы используете fitcauto . |
"nb" | DistributionNames , Width | Kernel | Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите OptimizeHyperparameters . Обратите внимание на то, что вы не можете изменить области значений поиска гиперпараметра, когда вы используете fitcauto . |
"svm" | BoxConstraint , KernelScale , Coding (только для трех или больше классов) | KernelFunction , PolynomialOrder , Standardize |
Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите |
"tree" | MinLeafSize | MaxNumSplits , SplitCriterion | Для получения дополнительной информации, включая области значений поиска гиперпараметра, смотрите OptimizeHyperparameters . Обратите внимание на то, что вы не можете изменить области значений поиска гиперпараметра, когда вы используете fitcauto . |
Примечание
Когда Learners
установлен в значение кроме "auto"
, значения по умолчанию для гиперпараметров модели, не будучи оптимизированным соответствие подходящие значения функции по умолчанию, если в противном случае не обозначено в примечаниях к таблице. Когда Learners
установлен в "auto"
, оптимизированные области значений поиска гиперпараметра и неоптимизированные гиперзначения параметров могут варьироваться, в зависимости от характеристик обучающих данных. Для получения дополнительной информации смотрите Автоматический Выбор Учеников.
Пример: "OptimizeHyperparameters","all"
HyperparameterOptimizationOptions
— Опции для оптимизацииОпции для оптимизации в виде структуры. Все поля в структуре являются дополнительными.
Имя поля | Значения | Значение по умолчанию |
---|---|---|
Optimizer |
| "bayesopt" |
MaxObjectiveEvaluations | Максимальное количество итераций (оценки целевой функции) в виде положительного целого числа |
|
MaxTime | Ограничение по времени в виде положительного вещественного числа. Ограничение по времени находится в секундах, как измерено | Inf |
ShowPlots | Логическое значение, указывающее, показать ли график прогресса оптимизации. Если true , это поле строит наблюдаемую минимальную потерю валидации против номера итерации. Когда вы используете Байесовую оптимизацию, график также показывает предполагаемую минимальную потерю валидации. | true |
SaveIntermediateResults | Логическое значение, указывающее, сохранить ли результаты. Если true , это поле перезаписывает переменную рабочей области в каждой итерации. Переменной является BayesianOptimization возразите названному BayesoptResults если вы используете Байесовую оптимизацию и таблицу под названием ASHAResults если вы используете оптимизацию ASHA. | false |
Verbose | Отображение в командной строке:
| 1
|
UseParallel | Логическое значение, указывающее, запустить ли оптимизацию параллельно, которая требует Parallel Computing Toolbox™. Из-за невоспроизводимости синхронизации параллели, параллельная оптимизация не обязательно приводит к восстанавливаемым результатам. | false |
Repartition | Логическое значение, указывающее, повторно разделить ли перекрестную проверку в каждой итерации. Если
| false |
MaxTrainingSetSize | Максимальное количество наблюдений в каждом наборе обучающих данных в виде положительного целого числа. Это значение совпадает с самым большим размером набора обучающих данных. Примечание Если вы хотите задать это значение, | Самый большой доступный учебный размер раздела
|
MinTrainingSetSize | Минимальное количество наблюдений в каждом наборе обучающих данных в виде положительного целого числа. Это значение является нижней границей для самого маленького размера набора обучающих данных. Примечание Если вы хотите задать это значение, | 100
|
Задайте только одну из следующих трех опций. | ||
CVPartition | cvpartition объект, созданный cvpartition | "Kfold",5 если вы не задаете поля перекрестной проверки |
Holdout | Скаляр в области значений (0,1) представление части затяжки | |
Kfold | Целое число, больше, чем 1 |
Пример: "HyperparameterOptimizationOptions",struct("UseParallel",true)
Типы данных: struct
CategoricalPredictors
— Категориальный список предикторов"all"
Категориальные предикторы перечисляют в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
Вектор из положительных целых чисел |
Каждая запись в векторе является значением индекса, указывающим, что соответствующий предиктор является категориальным. Значения индекса между 1 и Если |
Логический вектор |
|
Символьная матрица | Каждая строка матрицы является именем переменного предиктора. Имена должны совпадать с записями в PredictorNames . Заполните имена дополнительными пробелами, таким образом, каждая строка символьной матрицы имеет ту же длину. |
Массив строк или массив ячеек из символьных векторов | Каждым элементом в массиве является имя переменного предиктора. Имена должны совпадать с записями в PredictorNames . |
"all" | Все предикторы являются категориальными. |
По умолчанию, если данные о предикторе находятся в таблице (Tbl
), fitcauto
принимает, что переменная является категориальной, если это - логический вектор, категориальный вектор, символьный массив, массив строк или массив ячеек из символьных векторов. Однако ученики, которые используют деревья решений, принимают, что математически упорядоченные категориальные векторы являются непрерывными переменными. Если данные о предикторе являются матрицей (X
), fitcauto
принимает, что все предикторы непрерывны. Чтобы идентифицировать любые другие предикторы как категориальные предикторы, задайте их при помощи CategoricalPredictors
аргумент значения имени.
Для получения дополнительной информации о том, как подбор кривой функциям обрабатывает категориальные предикторы, видит Автоматическое Создание Фиктивных Переменных.
Примечание
fitcauto
не поддерживает категориальные предикторы для классификаторов дискриминантного анализа. Таким образом, если вы хотите Learners
включать "discr"
модели, вы не можете задать CategoricalPredictors
аргумент значения имени или использование таблица выборочных данных (Tbl
) содержа категориальные предикторы.
fitcauto
не поддерживает соединение числовых и категориальных предикторов для моделей k - ближайших соседей. Таким образом, если вы хотите Learners
включать "knn"
модели, необходимо задать CategoricalPredictors
значение как "all"
или []
.
Пример: "CategoricalPredictors","all"
Типы данных: single
| double
| logical
| char
| string
| cell
ClassNames
— Имена классов, чтобы использовать для обученияИмена классов, чтобы использовать для обучения в виде категориального, символа или массива строк; логический или числовой вектор; или массив ячеек из символьных векторов. ClassNames
должен иметь совпадающий тип данных как переменную отклика в Tbl
или Y
.
Если ClassNames
символьный массив, затем каждый элемент должен соответствовать одной строке массива.
Используйте ClassNames
к:
Задайте порядок классов во время обучения.
Задайте порядок любой размерности аргумента ввода или вывода, которая соответствует порядку класса. Например, используйте ClassNames
задавать порядок размерностей Cost
или порядок следования столбцов классификационных оценок, возвращенных predict
.
Выберите подмножество классов для обучения. Например, предположите что набор всех отличных имен классов в Y
["a","b","c"]
. Обучать модель с помощью наблюдений от классов "a"
и "c"
только, задайте "ClassNames",["a","c"]
.
Значение по умолчанию для ClassNames
набор всех отличных имен классов в переменной отклика в Tbl
или Y
.
Пример: "ClassNames",["b","g"]
Типы данных: categorical
| char
| string
| logical
| single
| double
| cell
Cost
— Misclassification стоитсяСтоимость Misclassification в виде квадратной матрицы или массива структур.
Если вы задаете квадратную матрицу Cost
и истинным классом наблюдения является i
, затем Cost(i,j)
стоимость классификации точки в класс j
. Таким образом, строки соответствуют истинным классам, и столбцы соответствуют предсказанным классам. Чтобы задать класс заказывают для соответствующих строк и столбцов Cost
, также задайте ClassNames
аргумент значения имени.
Если вы задаете структуру S
, затем это должно иметь два поля:
S.ClassNames
, который содержит имена классов как переменную совпадающего типа данных как Y
S.ClassificationCosts
, который содержит матрицу стоимости со строками и столбцами, упорядоченными как в S.ClassNames
Затраты Misclassification используются по-другому различными моделями в Learners
. Однако fitcauto
вычисляет то же среднее значение misclassification стоимость, чтобы сравнить модели во время процесса оптимизации. Для получения дополнительной информации смотрите Среднюю Стоимость Misclassification.
Значение по умолчанию для Cost
ones(K) – eye(K)
, где K
количество отличных классов.
Пример: "Cost",[0 1; 2 0]
Типы данных: single
| double
| struct
PredictorNames
— Имена переменного предиктораПеременный предиктор называет в виде массива строк уникальных имен или массива ячеек уникальных векторов символов. Функциональность PredictorNames
зависит от способа, которым вы снабжаете обучающими данными.
Если вы предоставляете X
и Y
, затем можно использовать PredictorNames
присваивать имена к переменным предикторам в X
.
Порядок имен в PredictorNames
должен соответствовать порядку следования столбцов X
. Таким образом, PredictorNames{1}
имя X(:,1)
, PredictorNames{2}
имя X(:,2)
, и так далее. Кроме того, size(X,2)
и numel(PredictorNames)
должно быть равным.
По умолчанию, PredictorNames
{'x1','x2',...}
.
Если вы предоставляете Tbl
, затем можно использовать PredictorNames
выбрать который переменные предикторы использовать в обучении. Таким образом, fitcauto
использование только переменные предикторы в PredictorNames
и переменная отклика во время обучения.
PredictorNames
должно быть подмножество Tbl.Properties.VariableNames
и не может включать имя переменной отклика.
По умолчанию, PredictorNames
содержит имена всех переменных предикторов.
Хорошая практика должна задать предикторы для обучения с помощью любого PredictorNames
или formula
, но не то и другое одновременно.
Пример: "PredictorNames",["SepalLength","SepalWidth","PetalLength","PetalWidth"]
Типы данных: string
| cell
Prior
— Априорные вероятности"empirical"
(значение по умолчанию) | "uniform"
| числовой вектор | массив структурАприорные вероятности для каждого класса в виде значения в этой таблице.
Значение | Описание |
---|---|
"empirical" | Априорные вероятности класса являются частотами родственника класса в Y . |
"uniform" | Все априорные вероятности класса равны 1/K, где K является количеством классов. |
числовой вектор | Каждым элементом является априорная вероятность класса. Закажите элементы согласно Mdl .ClassNames или задайте порядок с помощью ClassNames аргумент значения имени. Программное обеспечение нормирует элементы, чтобы суммировать к 1 . |
структура | Структура
|
Пример: "Prior",struct("ClassNames",["b","g"],"ClassProbs",1:2)
Типы данных: single
| double
| char
| string
| struct
ResponseName
— Имя переменной отклика"Y"
(значение по умолчанию) | вектор символов | строковый скалярИмя переменной отклика в виде вектора символов или строкового скаляра.
Если вы предоставляете Y
, затем можно использовать ResponseName
задавать имя для переменной отклика.
Если вы предоставляете ResponseVarName
или formula
, затем вы не можете использовать ResponseName
.
Пример: "ResponseName","response"
Типы данных: char |
string
ScoreTransform
— Выиграйте преобразование"none"
(значение по умолчанию) | "doublelogit"
| "invlogit"
| "ismax"
| "logit"
| указатель на функцию |...Выиграйте преобразование в виде вектора символов, строкового скаляра или указателя на функцию.
Эта таблица суммирует доступные векторы символов и строковые скаляры.
Значение | Описание |
---|---|
"doublelogit" | 1/(1 + e–2x) |
"invlogit" | журнал (x / (1 – x)) |
"ismax" | Устанавливает счет к классу с самым большим счетом к 1 и устанавливает музыку ко всем другим классам к 0 |
"logit" | 1/(1 + e–x) |
"none" или "identity" | x (никакое преобразование) |
"sign" | – 1 для x <0 0 для x = 0 1 для x> 0 |
"symmetric" | 2x – 1 |
"symmetricismax" | Устанавливает счет к классу с самым большим счетом к 1 и устанавливает музыку ко всем другим классам к –1 |
"symmetriclogit" | 2/(1 + e–x) – 1 |
Для функции MATLAB или функции вы задаете, используете ее указатель на функцию для счета, преобразовывают. Указатель на функцию должен принять матрицу (исходные баллы) и возвратить матрицу, одного размера (преобразованные баллы).
Пример: "ScoreTransform","logit"
Типы данных: char |
string
| function_handle
Weights
— Веса наблюденияTbl
Веса наблюдения в виде положительного числового вектора или имени переменной в Tbl
. Веса программного обеспечения каждое наблюдение в X
или Tbl
с соответствующим значением в Weights
. Длина Weights
должен равняться количеству строк в X
или Tbl
.
Если вы задаете входные данные как таблицу Tbl
, затем Weights
может быть имя переменной в Tbl
это содержит числовой вектор. В этом случае необходимо задать Weights
как вектор символов или строковый скаляр. Например, если вектор весов W
хранится как Tbl.W
, затем задайте его как "W"
. В противном случае программное обеспечение обрабатывает все столбцы Tbl
, включая W
, как предикторы или переменная отклика, когда обучение модель.
По умолчанию, Weights
ones(n,1)
, где n
количество наблюдений в X
или Tbl
.
Программное обеспечение нормирует Weights
суммировать к значению априорной вероятности в соответствующем классе.
Типы данных: single
| double
| char
| string
Mdl
— Обученная модель классификацииОбученная модель классификации, возвращенная как один из объектов модели классификации в этой таблице.
Имя ученика | Возвращенный объект модели |
---|---|
"discr" | CompactClassificationDiscriminant |
"ensemble" | CompactClassificationEnsemble |
"kernel" |
|
"knn" | ClassificationKNN |
"linear" |
|
"nb" | CompactClassificationNaiveBayes |
"svm" |
|
"tree" | CompactClassificationTree |
OptimizationResults
— Результаты оптимизацииBayesianOptimization
возразите | таблицаРезультаты оптимизации, возвращенные как BayesianOptimization
возразите, используете ли вы Байесовую оптимизацию или таблицу, если вы используете оптимизацию ASHA. Для получения дополнительной информации смотрите Байесовую Оптимизацию и Оптимизацию ASHA.
Когда вы устанавливаете Verbose
поле HyperparameterOptimizationOptions
аргумент значения имени к 1
или 2
, fitcauto
функция обеспечивает итеративное отображение результатов оптимизации.
Следующая таблица описывает столбцы в отображении и их записях.
ColumnName | Описание |
---|---|
Iter | Номер итерации — можно установить предел к количеству итераций при помощи MaxObjectiveEvaluations поле HyperparameterOptimizationOptions аргумент значения имени. |
Active workers | Количество активных параллельных рабочих — Этот столбец появляется только, когда вы запускаете оптимизацию параллельно путем установки UseParallel поле HyperparameterOptimizationOptions аргумент значения имени к true . |
Eval result | Один из следующих результатов оценки:
|
Validation loss | Потеря валидации вычисляется для ученика и гиперзначений параметров в этой итерации — В частности, Можно изменить схему валидации при помощи |
Time for training & validation (sec) | Время, потраченное, чтобы обучаться и вычислить потерю валидации для модели с учеником и гиперзначениями параметров в этой итерации (в секундах) — Когда вы используете Байесовую оптимизацию, это значение, исключает время, требуемое обновить модель целевой функции, обеспеченную Байесовым процессом оптимизации. Для получения дополнительной информации смотрите Байесовую Оптимизацию. |
Observed min validation loss | Наблюдаемая минимальная потеря валидации, вычисленная до сих пор — Это значение, соответствует самому маленькому По умолчанию, |
Estimated min validation loss | Предполагаемая минимальная потеря валидации — Когда вы используете Байесовую оптимизацию, По умолчанию, Примечание Этот столбец появляется только, когда вы используете Байесовую оптимизацию, то есть, когда |
Training set size | Количество наблюдений, используемых в каждом наборе обучающих данных в этой итерации — Использование Примечание Этот столбец появляется только, когда вы используете оптимизацию ASHA, то есть, когда |
Learner | Тип модели, оцененный в этой итерации — Задает учеников, используемых в оптимизации при помощи Learners аргумент значения имени. |
Hyperparameter: Value | Гиперзначения параметров в этой итерации — Задают гиперпараметры, используемые в оптимизации при помощи OptimizeHyperparameters аргумент значения имени. |
Отображение также включает эти описания модели:
Best observed learner
— Эта модель, с перечисленным типом ученика и гиперзначениями параметров, уступает, финал наблюдал минимальную потерю валидации. Когда вы используете оптимизацию ASHA, fitcauto
переобучает модель на целом обучающем наборе данных и возвращает его как Mdl
вывод .
Best estimated learner
— Эта модель, с перечисленным типом ученика и значениями гиперпараметра, уступает, финал оценил минимальную потерю валидации, когда вы используете Байесовую оптимизацию. В этом случае, fitcauto
переобучает модель на целом обучающем наборе данных и возвращает его как Mdl
вывод .
Примечание
Best estimated learner
модель появляется только, когда вы используете Байесовую оптимизацию, то есть, когда Optimizer
поле HyperparameterOptimizationOptions
аргумент значения имени установлен в "bayesopt"
.
В зависимости от размера вашего набора данных, количества учеников, которых вы задаете, и метод оптимизации, который вы выбираете, fitcauto
может занять время, чтобы запуститься.
Если у вас есть лицензия Parallel Computing Toolbox, можно ускорить расчеты путем выполнения оптимизации параллельно. Для этого задайте "HyperparameterOptimizationOptions",struct("UseParallel",true)
. Можно включать дополнительные поля в структуру, чтобы управлять другими аспектами оптимизации. Смотрите HyperparameterOptimizationOptions
.
Если fitcauto
с Байесовой оптимизацией занимает много времени, чтобы запуститься из-за количества наблюдений в вашем наборе обучающих данных (например, более чем 10 000), рассмотреть использование fitcauto
с оптимизацией ASHA вместо этого. Оптимизация ASHA часто находит хорошие решения быстрее, чем Байесова оптимизация для наборов данных со многими наблюдениями. Чтобы использовать оптимизацию ASHA, задайте "HyperparameterOptimizationOptions",struct("Optimizer","asha")
. Можно включать дополнительные поля в структуру, чтобы управлять другими аспектами оптимизации. В частности, если вы имеете ограничение времени, задаете MaxTime
поле HyperparameterOptimizationOptions
структура, чтобы ограничить номер секунд fitcauto
запуски.
Когда вы задаете "Learners","auto"
, fitcauto
функция анализирует предиктор и данные об ответе для того, чтобы выбрать соответствующих учеников. Функция рассматривает, имеет ли набор данных какую-либо из этих характеристик:
Категориальные предикторы
Отсутствующие значения больше чем для 5% данных
Неустойчивые данные, где отношение количества наблюдений в самом большом классе к количеству наблюдений в самом маленьком классе больше 5
Больше чем 100 наблюдений в самом маленьком классе
Широкие данные, где количество предикторов больше или равно количеству наблюдений
Высоко-размерные данные, где количество предикторов больше 100
Большие данные, где количество наблюдений больше 50,000
Бинарная переменная отклика
Порядковая переменная отклика
Выбранные ученики всегда являются подмножеством перечисленных в Learners
таблица. Однако связанные модели, которые попробовали во время процесса оптимизации, могут иметь различные значения по умолчанию для гиперпараметров, не будучи оптимизированным, а также различных поисковых областей значений для оптимизируемых гиперпараметров.
Цель Байесовой оптимизации и оптимизации в целом, состоит в том, чтобы найти точку, которая минимизирует целевую функцию. В контексте fitcauto
, точка является типом ученика вместе с набором гиперзначений параметров для ученика (см. Learners
и OptimizeHyperparameters
), и целевая функция является ошибкой классификации перекрестных проверок по умолчанию. Байесова оптимизация, реализованная в fitcauto
внутренне обеспечивает multi-TreeBagger
модель целевой функции. Таким образом, разделения модели целевой функции вдоль типа ученика и, для данного ученика, моделью является TreeBagger
ансамбль для регрессии. (Эта базовая модель отличается от Гауссовой модели процесса, используемой другими функциями Statistics and Machine Learning Toolbox™, которые используют Байесовую оптимизацию.) Байесова оптимизация обучает базовую модель при помощи оценок целевой функции и определяет следующий вопрос, чтобы оценить при помощи функции захвата ("expected-improvement"
). Для получения дополнительной информации смотрите Ожидаемое Улучшение. Функция захвата балансируется между выборкой в точках с низкими смоделированными значениями целевой функции и исследованием областей, которые еще не хорошо моделируются. В конце оптимизации, fitcauto
выбирает точку с минимальным значением модели целевой функции, среди точек, оцененных во время оптимизации. Для получения дополнительной информации смотрите "Criterion","min-visited-mean"
аргумент значения имени bestPoint
.
Асинхронный последовательный алгоритм сокращения вдвое (ASHA) в fitcauto
случайным образом выбирает несколько моделей с различными гиперзначениями параметров (см. Learners
и OptimizeHyperparameters
) и обучает их на небольшом подмножестве обучающих данных. Если эффективность конкретной модели обещает, модель продвинута и обучена на большей сумме обучающих данных. Этот процесс повторения и успешные модели обучен на прогрессивно больших объемах данных. По умолчанию, в конце оптимизации, fitcauto
выбирает модель, которая имеет самую низкую ошибку классификации перекрестных проверок.
В каждой итерации ASHA любой выбирает ранее обученную модель и продвигает его (то есть, переобучает модель с помощью большего количества обучающих данных), или выбирает новую модель (тип ученика и гиперзначения параметров) использование случайного поиска. ASHA продвигает модели можно следующим образом:
Алгоритм ищет группу моделей с самым большим размером набора обучающих данных, для которого это условие не содержит: floor(g/4)
из моделей были продвинуты, где g
количество моделей в группе.
Среди группы моделей ASHA выбирает модель с самой низкой ошибкой классификации перекрестных проверок и переобучает ту модель с 4*(Training Set Size)
наблюдения.
Если никакая такая группа моделей не существует, то ASHA выбирает новую модель вместо того, чтобы продвинуть старую и обучает новую модель с помощью самого маленького размера набора обучающих данных.
Когда модель обучена на подмножестве обучающих данных, ASHA вычисляет ошибку классификации перекрестных проверок можно следующим образом:
Для каждого учебного сгиба алгоритм выбирает случайную выборку наблюдений (размера Training set size
) использование расслоило выборку, и затем обучает модель на том подмножестве данных.
Алгоритм затем тестирует подобранную модель на тестовом сгибе (то есть, наблюдения не в учебном сгибе) и вычисляет ошибку классификации.
Наконец, алгоритм составляет в среднем результаты через все сгибы.
Для получения дополнительной информации о ASHA см. [1].
Когда вы используете оптимизацию ASHA, количество по умолчанию итераций зависит от количества наблюдений в данных, количества типов ученика, использования параллельной обработки и типа перекрестной проверки. Алгоритм выбирает количество итераций, таким образом что для типов ученика L (см. Learners
), fitcauto
обучает модели L на самом большом размере набора обучающих данных.
Эта таблица описывает количество по умолчанию итераций на основе данных технических требований, когда вы используете 5-кратную перекрестную проверку. Обратите внимание на то, что n представляет количество наблюдений, и L представляет количество типов ученика.
Количество наблюдений n | Количество по умолчанию итераций (запуститесь в сериале), | Количество по умолчанию итераций runInParallel, |
---|---|---|
n <500 | 30*L — n слишком мал, чтобы реализовать оптимизацию ASHA, и fitcauto реализует случайный поиск, чтобы найти и оценить модели вместо этого. | 30*L — n слишком мал, чтобы реализовать оптимизацию ASHA, и fitcauto реализует случайный поиск, чтобы найти и оценить модели вместо этого. |
500 ≤ n <2000 | 5*L | 5* (L + 1) |
2 000 ≤ n <8000 | 21*L | 21* (L + 1) |
8 000 ≤ n <32,000 | 85*L | 85* (L + 1) |
32 000 ≤ n | 341*L | 341* (L + 1) |
Если вы задаете Cost
аргумент значения имени, затем fitcauto
минимизирует среднее значение misclassification стоимость, а не misclassification ошибка как часть процесса оптимизации. Среднее значение misclassification стоимость задано как
где
C является матрицей стоимости misclassification, как задано Cost
аргумент значения имени и I являются функцией индикатора.
yj является истинной меткой класса для наблюдения j, и yj принадлежит, чтобы классифицировать kj.
метка класса с максимальным предсказанным счетом к наблюдению j, и принадлежит классу .
n является количеством наблюдений в наборе валидации.
Если вы не уверены, какие модели работают лучше всего на ваш набор данных, можно альтернативно использовать приложение Classification Learner. Используя приложение, можно выполнить гиперпараметр, настраивающийся для различных моделей, и выбрать оптимизированную модель, которая выполняет лучше всего. Несмотря на то, что необходимо выбрать определенную модель, прежде чем можно будет настроить гиперпараметры модели, Classification Learner обеспечивает большую гибкость для выбора optimizable гиперпараметров и устанавливания значений гиперпараметра. Однако вы не можете оптимизировать параллельно, оптимизировать "linear"
или "kernel"
ученики, задайте веса наблюдения, задайте априорные вероятности или используйте оптимизацию ASHA в приложении. Для получения дополнительной информации смотрите Гипероптимизацию параметров управления в Приложении Classification Learner.
Если вы знаете, какие модели могут удовлетворить вашим данным, можно альтернативно использовать соответствующие подходящие функции модели и задать OptimizeHyperparameters
аргумент значения имени, чтобы настроить гиперпараметры. Можно сравнить результаты через модели, чтобы выбрать лучший классификатор. Для примера этого процесса смотрите, что Двигающий Выбор Модели Автоматизации Использует Байесовую Оптимизацию.
[1] Литий, Лиам, Кевин Джемисон, Afshin Rostamizadeh, Екатерина Гонина, Мориц Хардт, Бенджамин Речт и Амит Тэлволкэр. “Система для Настройки Гиперпараметра С массовым параллелизмом”. ArXiv:1810.05934v5 [Cs], 16 марта 2020. https://arxiv.org/abs/1810.05934v5.
Чтобы выполнить параллельную гипероптимизацию параметров управления, используйте "HyperparameterOptimizationOptions",struct("UseParallel",true)
аргумент значения имени в вызове этой функции.
Для более общей информации о параллельных вычислениях смотрите функции MATLAB Запуска с Автоматической Параллельной Поддержкой (Parallel Computing Toolbox).
fitcdiscr
| fitcecoc
| fitcensemble
| fitcknn
| fitclinear
| fitcnb
| fitcsvm
| fitctree
| fitckernel
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.