Выполните автоматизированное проектирование функций для классификации
gencfeatures
функция позволяет вам автоматизировать процесс разработки признаков в контексте рабочего процесса машинного обучения. Перед передачей табличных обучающих данных в классификатор можно создать новые возможности из предикторов в данных при помощи gencfeatures
. Используйте возвращенные данные для обучения классификатора.
Чтобы лучше изучить сгенерированные функции, используйте describe
функция возвращенного FeatureTransformer
объект. Чтобы применить те же преобразования функций набора обучающих данных к тестовому набору, используйте transform
функция FeatureTransformer
объект.
[
использует автоматизированное проектирование функций для создания Transformer
,NewTbl
] = gencfeatures(Tbl
,ResponseVarName
,q
)q
функции от предикторов в Tbl
. Программное обеспечение принимает, что ResponseVarName
переменная в Tbl
является откликом и не создает новых возможностей от этой переменной. gencfeatures
возвращает FeatureTransformer
объект (Transformer
) и новую таблицу (NewTbl
), который содержит преобразованные функции.
По умолчанию, gencfeatures
принимает, что сгенерированные функции используются для обучения интерпретируемой линейной модели с двоичной переменной отклика. Если у вас есть многоклассовая переменная отклика и вы хотите сгенерировать функции, чтобы улучшить точность упакованного ансамбля, задайте 'TargetLearner','bag'
.
[
принимает, что вектор Transformer
,NewTbl
] = gencfeatures(Tbl
,Y
,q
)Y
является переменной отклика и создает новые возможности из переменных в Tbl
.
[
использует пояснительную модель Transformer
,NewTbl
] = gencfeatures(Tbl
,formula
,q
)formula
для определения переменной отклика в Tbl
и подмножество Tbl
предикторы, из которых можно создать новые возможности.
[
задает опции, использующие один или несколько аргументов имя-значение в дополнение к любой комбинации входных аргументов в предыдущих синтаксисах. Для примера можно изменить ожидаемый тип учащегося, метод выбора новых возможностей и метод стандартизации для преобразованных данных.Transformer
,NewTbl
] = gencfeatures(___,Name,Value
)
Используйте автоматизированное проектирование функций для создания новых возможностей. Обучите линейный классификатор, используя сгенерированные функции. Интерпретируйте отношения между сгенерированными функциями и обученной моделью.
Загрузите patients
набор данных. Составьте таблицу из подмножества переменных.
load patients Tbl = table(Age,Diastolic,Gender,Height,SelfAssessedHealthStatus, ... Systolic,Weight,Smoker);
Сгенерируйте 10 новые возможности из переменных в Tbl
. Задайте Smoker
переменная в качестве отклика. По умолчанию gencfeatures
принимает, что новые возможности будут использоваться для обучения двоичного линейного классификатора.
rng("default") % For reproducibility [T,NewTbl] = gencfeatures(Tbl,"Smoker",10)
T = FeatureTransformer with properties: Type: 'classification' TargetLearner: 'linear' NumEngineeredFeatures: 10 NumOriginalFeatures: 0 TotalNumFeatures: 10
NewTbl=100×11 table
zsc(Systolic.^2) eb8(Diastolic) q8(Systolic) eb8(Systolic) q8(Diastolic) zsc(kmd9) zsc(sin(Age)) zsc(sin(Weight)) zsc(Height-Systolic) zsc(kmc1) Smoker
________________ ______________ ____________ _____________ _____________ _________ _____________ ________________ ____________________ _________ ______
0.15379 8 6 4 8 -1.7207 0.50027 0.19202 0.40418 0.76177 true
-1.9421 2 1 1 2 -0.22056 -1.1319 -0.4009 2.3431 1.1617 false
0.30311 4 6 5 5 0.57695 0.50027 -1.037 -0.78898 -1.4456 false
-0.85785 2 2 2 2 0.83391 1.1495 1.3039 0.85162 -0.010294 false
-0.14125 3 5 4 4 1.779 -1.3083 -0.42387 -0.34154 0.99368 false
-0.28697 1 4 3 1 0.67326 1.3761 -0.72529 0.40418 1.3755 false
1.0677 6 8 6 6 -0.42521 1.5181 -0.72529 -1.5347 -1.4456 true
-1.1361 4 2 2 5 -0.79995 1.1495 -1.0225 1.2991 1.1617 false
-1.1361 3 2 2 3 -0.80136 0.46343 1.0806 1.2991 -1.208 false
-0.71693 5 3 3 6 0.37961 -0.51304 0.16741 0.55333 -1.4456 false
-1.2734 2 1 1 2 1.2572 1.3025 1.0978 1.4482 -0.010294 false
-1.1361 1 2 2 1 1.001 -1.2545 -1.2194 1.0008 -0.010294 false
0.60534 1 6 5 1 -0.98493 -0.11998 -1.211 -0.043252 -1.208 false
1.0677 8 8 6 8 -0.27307 1.4659 1.2168 -0.34154 0.24706 true
-1.2734 3 1 1 4 0.93395 -1.3633 -0.17603 1.0008 -0.010294 false
1.0677 7 8 6 8 -0.91396 -1.04 -1.2109 -0.49069 0.24706 true
⋮
T
является FeatureTransformer
объект, который может использоваться для преобразования новых данных и newTbl
содержит новые возможности, сгенерированные из Tbl
данные.
Чтобы лучше изучить сгенерированные функции, используйте describe
функция объекта FeatureTransformer
объект. Для получения примера смотрите первые двух сгенерированных функций.
describe(T,1:2)
Type IsOriginal InputVariables Transformations ___________ __________ ______________ _______________________________________________________________ zsc(Systolic.^2) Numeric false Systolic power( ,2) Standardization with z-score (mean = 15119.54, std = 1667.5858) eb8(Diastolic) Categorical false Diastolic Equal-width binning (number of bins = 8)
Первая функция в newTbl
- числовая переменная, созданная путем первого возведения в квадрат значений Systolic
переменная, а затем преобразование результатов в z-оценки. Вторая функция в newTbl
- категориальная переменная, созданная путем раскладывания значений Systolic
переменная в 50 равнодействующих интервалы.
Используйте сгенерированные функции для подгонки линейного классификатора без какой-либо регуляризации.
Mdl = fitclinear(NewTbl,"Smoker","Lambda",0);
Постройте график коэффициентов предикторов, используемых для обучения Mdl
. Обратите внимание, что fitclinear
расширяет категориальные предикторы перед подгонкой модели.
p = length(Mdl.Beta); [sortedCoefs,expandedIndex] = sort(Mdl.Beta,"ComparisonMethod","abs"); sortedExpandedPreds = Mdl.ExpandedPredictorNames(expandedIndex); bar(sortedCoefs,"Horizontal","on") yticks(1:2:p) yticklabels(sortedExpandedPreds(1:2:end)) xlabel("Coefficient") ylabel("Expanded Predictors") title("Coefficients for Expanded Predictors")
Идентифицируйте предикторы, коэффициенты которых имеют большие абсолютные значения.
bigCoefs = abs(sortedCoefs) >= 4; flip(sortedExpandedPreds(bigCoefs))
ans = 1×7 cell
{'zsc(Systolic.^2)'} {'eb8(Systolic) >= 5'} {'q8(Diastolic) >= 3'} {'eb8(Diastolic) >= 3'} {'q8(Systolic) >= 6'} {'q8(Diastolic) >= 6'} {'zsc(Height-Systolic)'}
Можно использовать графики частичной зависимости, чтобы проанализировать категориальные функции, уровни которых имеют большие коэффициенты в терминах абсолютного значения. Например, смотрите график частичной зависимости для q8(Diastolic)
переменная, уровни которой q8(Diastolic) >= 3
и q8(Diastolic) >= 6
имеют коэффициенты с большими абсолютными значениями. Эти два уровня соответствуют заметным изменениям в предсказанных счетах.
plotPartialDependence(Mdl,"q8(Diastolic)",Mdl.ClassNames,NewTbl);
Сгенерируйте новые возможности, чтобы улучшить точность модели для интерпретируемой линейной модели. Сравните точность тестового набора линейной модели, обученной по исходным данным, с точностью тестового набора линейной модели, обученной по преобразованным функциям.
Загрузите ionosphere
набор данных. Преобразуйте матрицу предикторов X
в таблицу.
load ionosphere
tbl = array2table(X);
Разделите данные на обучающие и тестовые наборы. Используйте приблизительно 70% наблюдений в качестве обучающих данных и 30% наблюдений в качестве тестовых данных. Разделите данные на разделы с помощью cvpartition
.
rng("default") % For reproducibility of the partition cvp = cvpartition(Y,"Holdout",0.3); trainIdx = training(cvp); trainTbl = tbl(training(cvp),:); trainY = Y(trainIdx); testIdx = test(cvp); testTbl = tbl(testIdx,:); testY = Y(testIdx);
Используйте обучающие данные, чтобы сгенерировать 45 новые возможности. Осмотрите возвращенные FeatureTransformer
объект.
[T,newTrainTbl] = gencfeatures(trainTbl,trainY,45); T
T = FeatureTransformer with properties: Type: 'classification' TargetLearner: 'linear' NumEngineeredFeatures: 45 NumOriginalFeatures: 0 TotalNumFeatures: 45
Все сгенерированные функции являются спроектированными функциями, а не исходными функциями в trainTbl
.
Применить преобразования, хранящиеся в объекте T
к тестовым данным.
newTestTbl = transform(T,testTbl);
Сравните характеристики тестового набора линейного классификатора, обученного исходным функциям, и линейного классификатора, обученного новым возможностям.
Подбор линейной модели без преобразования данных. Проверьте эффективность тестового набора модели с помощью матрицы неточностей.
originalMdl = fitclinear(trainTbl,trainY); originalPredictedLabels = predict(originalMdl,testTbl); cm = confusionchart(testY,originalPredictedLabels);
confusionMatrix = cm.NormalizedValues;
originalTestAccuracy = sum(diag(confusionMatrix))/sum(confusionMatrix,"all")
originalTestAccuracy = 0.8952
Подбор линейной модели с помощью преобразованных данных. Проверьте эффективность тестового набора модели с помощью матрицы неточностей.
newMdl = fitclinear(newTrainTbl,trainY); newPredictedLabels = predict(newMdl,newTestTbl); newcm = confusionchart(testY,newPredictedLabels);
newConfusionMatrix = newcm.NormalizedValues;
newTestAccuracy = sum(diag(newConfusionMatrix))/sum(newConfusionMatrix,"all")
newTestAccuracy = 0.9238
Линейный классификатор, обученный на преобразованных данных, по-видимому, превосходит линейный классификатор, обученный на исходных данных.
Использование gencfeatures
чтобы спроектировать новые возможности перед обучением упакованного классификатора ансамбля. Прежде чем делать предсказания на новые данные, примените те те же преобразования функций к новому набору данных. Сравните производительность тестового набора ансамбля, который использует спроектированные функции, с эффективностью тестового набора ансамбля, который использует оригинальные функции.
Прочтите образец файла 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);
Преобразуйте Rating
переменная отклика на порядковый categorical
переменная.
creditrating.Rating = categorical(creditrating.Rating, ... ["AAA","AA","A","BBB","BB","B","CCC"],"Ordinal",true);
Разделите данные на обучающие и тестовые наборы. Используйте приблизительно 75% наблюдений в качестве обучающих данных и 25% наблюдений в качестве тестовых данных. Разделите данные на разделы с помощью cvpartition
.
rng("default") % For reproducibility of the partition c = cvpartition(creditrating.Rating,"Holdout",0.25); trainingIndices = training(c); % Indices for the training set testIndices = test(c); % Indices for the test set creditTrain = creditrating(trainingIndices,:); creditTest = creditrating(testIndices,:);
Используйте обучающие данные, чтобы сгенерировать 40 новые возможности для соответствия упакованному ансамблю. По умолчанию 40 функций могут включать оригинальные функции, если программа считает их важными переменными.
[T,newCreditTrain] = gencfeatures(creditTrain,"Rating",40, ... "TargetLearner","bag"); T
T = FeatureTransformer with properties: Type: 'classification' TargetLearner: 'bag' NumEngineeredFeatures: 34 NumOriginalFeatures: 6 TotalNumFeatures: 40
Потому что T.NumOriginalFeatures
является 6
функция сохраняет все исходные предикторы.
Создание newCreditTest
путем применения преобразований, хранящихся в объекте T
к тестовым данным.
newCreditTest = transform(T,creditTest);
Сравните тестовые выступления упакованного ансамбля, обученного оригинальным функциям, и упакованного ансамбля, обученного новым возможностям.
Обучите упакованный ансамбль с помощью оригинального набора обучающих данных creditTrain
. Вычислите точность модели на исходном наборе тестов creditTest
. Визуализируйте результаты с помощью матрицы неточностей.
originalMdl = fitcensemble(creditTrain,"Rating","Method","Bag"); originalTestAccuracy = 1 - loss(originalMdl,creditTest, ... "Rating","LossFun","classiferror")
originalTestAccuracy = 0.7481
predictedTestLabels = predict(originalMdl,creditTest); confusionchart(creditTest.Rating,predictedTestLabels);
Обучите упакованный ансамбль с помощью трансформированного набора обучающих данных newCreditTrain
. Вычислите точность модели на преобразованном тестовом наборе newCreditTest
. Визуализируйте результаты с помощью матрицы неточностей.
newMdl = fitcensemble(newCreditTrain,"Rating","Method","Bag"); newTestAccuracy = 1 - loss(newMdl,newCreditTest, ... "Rating","LossFun","classiferror")
newTestAccuracy = 0.7543
newPredictedTestLabels = predict(newMdl,newCreditTest); confusionchart(newCreditTest.Rating,newPredictedTestLabels)
Упакованный ансамбль, обученный на преобразованных данных, похоже, превзошел упакованный ансамбль, обученный на оригинальных данных.
Сгенерируйте функции для обучения линейного классификатора. Вычислите ошибку классификации перекрестной валидации модели с помощью crossval
функция.
Загрузите ionosphere
и создайте таблицу, содержащую данные предиктора.
load ionosphere
Tbl = array2table(X);
Создайте случайный раздел для стратифицированной 5-кратной перекрестной проверки.
rng("default") % For reproducibility of the partition cvp = cvpartition(Y,"KFold",5);
Вычислите потери классификации перекрестной валидации для линейной модели, обученной на исходных функциях в Tbl
.
CVMdl = fitclinear(Tbl,Y,"CVPartition",cvp);
cvloss = kfoldLoss(CVMdl)
cvloss = 0.1339
Создайте пользовательскую функцию myloss
(показан в конце этого примера). Эта функция генерирует 20 признаков из обучающих данных, а затем применяет те же преобразования набора обучающих данных к тестовым данным. Затем функция подбирает линейный классификатор к обучающим данным и вычисляет потерю тестового набора.
Примечание: Если вы используете файл live скрипта для этого примера, myloss
функция уже включена в конец файла. В противном случае вам нужно создать эту функцию в конце файла .m или добавить ее в качестве файла по пути MATLAB ®.
Вычислите потери классификации перекрестной валидации для линейной модели, обученной функциям, сгенерированным предикторами в Tbl
.
newcvloss = mean(crossval(@myloss,Tbl,Y,"Partition",cvp))
newcvloss = 0.0770
function testloss = myloss(TrainTbl,trainY,TestTbl,testY) [Transformer,NewTrainTbl] = gencfeatures(TrainTbl,trainY,20); NewTestTbl = transform(Transformer,TestTbl); Mdl = fitclinear(NewTrainTbl,trainY); testloss = loss(Mdl,NewTestTbl,testY, ... "LossFun","classiferror"); end
Tbl
- Оригинальные функцииИсходные функции, заданные как таблица. Каждая строка Tbl
соответствует одному наблюдению, и каждый столбец соответствует одной переменной предиктора. Опционально Tbl
может содержать один дополнительный столбец для переменной отклика. Многополюсные переменные и массивы ячеек, отличные от массивов ячеек векторов символов, не разрешены.
Если Tbl
содержит переменную отклика, и необходимо создать новые возможности из любой из остальных переменных в Tbl
, затем задайте переменную отклика при помощи ResponseVarName
.
Если Tbl
содержит переменную отклика, и вы хотите создать новые возможности только из подмножества остальных переменных в Tbl
, затем задайте формулу при помощи formula
.
Если Tbl
не содержит переменную отклика, затем задает переменную отклика при помощи Y
. Длина переменной отклика и количество строк в Tbl
должно быть равным.
Типы данных: table
ResponseVarName
- Имя переменной откликаTbl
Имя переменной отклика, заданное как имя переменной в Tbl
.
Вы должны задать ResponseVarName
как вектор символов или строковый скаляр. Для примера, если переменная отклика Y
хранится как Tbl.Y
, затем укажите его следующим 'Y'
. В противном случае программное обеспечение обрабатывает все столбцы Tbl
как предикторы, и может создать новые возможности из Y
.
Типы данных: char
| string
q
- Количество функцийКоличество функций, заданное как положительный целочисленный скаляр. Для примера можно задать q
приблизительно до 1.5*size(Tbl,2)
, что примерно в 1,5 раза превышает количество оригинальных функций.
Типы данных: single
| double
Y
- Переменная откликаПеременная отклика, заданная как числовой или категориальный вектор. Длина Y
должно быть равно количеству строк в Tbl
.
formula
- Объяснительная модель переменной отклика и подмножества переменных предиктораОбъяснительная модель переменной отклика и подмножества переменных предиктора, заданная в виде вектора символов или строкового скаляра в форме 'Y~X1+X2+X3'
. В этой форме Y
представляет переменную отклика, и X1
, X2
, и X3
представляют переменные предиктора.
Чтобы создать новые возможности только из подмножества переменных предиктора в Tbl
, используйте формулу. Если вы задаете формулу, то программное обеспечение не создает новых возможностей из каких-либо переменных в Tbl
которые не появляются в formula
.
Имена переменных в формуле должны быть обоими именами переменных в Tbl
(Tbl.Properties.VariableNames
) и действительный MATLAB® идентификаторы. Можно проверить имена переменных в Tbl
при помощи isvarname
функция. Если имена переменных недопустимы, можно преобразовать их, используя matlab.lang.makeValidName
функция.
Типы данных: char
| string
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
gencfeatures(Tbl,'Y',10,'TargetLearner','bag','FeatureSelection','oob')
указывает, что ожидаемый тип обучающегося является пакетированным классификатором ансамбля, а метод выбора функций является внешним методом предикторной важности.'TargetLearner'
- Ожидаемый тип обучающегося'linear'
(по умолчанию) | 'bag'
Ожидаемый тип обучающегося, заданный как 'linear'
или 'bag'
. Программа создает и выбирает новые возможности, принимая, что они будут использоваться для обучения этого типа модели.
Значение | Ожидаемая модель |
---|---|
'linear' | ClassificationLinear - Подходит только для двоичной классификации |
'bag' | ClassificationBaggedEnsemble - Подходит для двоичной и многоклассовой классификации |
По умолчанию TargetLearner
является 'linear'
, который поддерживает только двоичные переменные отклика. Если у вас есть многоклассовая переменная отклика и вы хотите сгенерировать новые возможности, вы должны задать TargetLearner
на 'bag'
.
Пример: 'TargetLearner','bag'
'IncludeInputVariables'
- Метод включения оригинальных функций в Tbl
'auto'
(по умолчанию) | 'include'
| 'select'
| 'omit'
Метод включения исходных функций в Tbl
в новой таблице NewTbl
, заданное как одно из значений в этой таблице.
Значение | Описание |
---|---|
'auto' | Это значение эквивалентно:
|
'include' | Программное обеспечение включает все исходные функции, которые могут использоваться в качестве предикторов целевым учеником, и исключает неподдерживаемые функции, такие как datetime и duration переменные. |
'select' | Программное обеспечение включает оригинальные функции, которые поддерживаются целевым учеником и считаются важными заданным методом выбора признаков (FeatureSelectionMethod ). |
'omit' | Программа опускает исходные функции. |
Пример: 'IncludeInputVariables','include'
Типы данных: logical
'FeatureSelectionMethod'
- Метод выбора новых возможностей'auto'
(по умолчанию) | 'oob'
| 'mrmr'
| 'lasso'
Метод выбора новых возможностей, заданный в качестве одного из значений в этой таблице. Программное обеспечение генерирует много функций и использует этот метод, чтобы выбрать важные функции для включения в NewTbl
.
Значение | Описание |
---|---|
'auto' | Это значение эквивалентно:
|
'oob' | Out-of-bag, предикторные оценки важности путем сочетания - доступно, когда TargetLearner является 'bag' |
'mrmr' | Минимальная максимальная релевантность избыточности (MRMR) - доступна при TargetLearner является 'linear' или 'bag' |
'lasso' | Регуляризация Lasso - Доступна при TargetLearner является 'linear' |
Пример: 'FeatureSelection','mrmr'
'TransformedDataStandardization'
- Метод стандартизации для преобразованных данных'auto'
(по умолчанию) | 'none'
| 'zscore'
| 'mad'
| 'range'
Метод стандартизации для преобразованных данных, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
'auto' | Это значение эквивалентно:
|
'none' | Используйте необработанные данные |
'zscore' | Центр и шкала, чтобы иметь среднее 0 и стандартное отклонение 1 |
'mad' | Центр и шкала, чтобы иметь медианное 0 и среднее абсолютное отклонение 1 |
'range' | Масштабная область значений данных до [0,1] |
Пример: 'TransformedDataStandardization','range'
'CategoricalEncodingLimit'
- Максимальное количество категорий, допустимое в категориальном предиктореInf
Максимальное количество категорий, допустимое в категориальном предикторе, заданное как неотрицательный целочисленный скаляр. Если категориальный предиктор имеет больше заданного количества категорий, чем gencfeatures
не создает новые возможности из предиктора. Значение по умолчанию 50
когда TargetLearner
является 'linear'
и Inf
когда TargetLearner
является 'ensemble'
.
Пример: 'CategoricalEncodingLimit',20
Типы данных: single
| double
Transformer
- Проектируемый трансформатор функцийFeatureTransformer
объектИнженерный трансформатор функций, возвращенный как FeatureTransformer
объект. Чтобы лучше изучить инженерные функции, используйте describe
функция объекта от Transformer
. Чтобы применить те же преобразования функций к новому набору данных, используйте transform
функция объекта от Transformer
.
NewTbl
- Сгенерированные функцииСгенерированные функции, возвращенные как таблица. Каждая строка соответствует наблюдению, и каждый столбец соответствует сгенерированной функции. Если переменная отклика включена в Tbl
, затем NewTbl
также включает переменную отклика. Используйте эту таблицу для обучения классификационной модели типа TargetLearner
.
NewTbl
содержит сгенерированные функции в следующем порядке: исходные функции, спроектированные функции в ранге по методу выбора признаков и переменная отклика.
По умолчанию, когда TargetLearner
является 'linear'
программное обеспечение генерирует новые возможности из числовых предикторов при помощи z-оценок (см TransformedDataStandardization
). Можно изменить тип стандартизации для преобразованных функций; однако с использованием некоторого метода стандартизации, тем самым избегая 'none'
спецификация, настоятельно рекомендуется. Линейная модельная аппроксимация лучше всего работает со стандартизированными данными.
describe
| FeatureTransformer
| fitcensemble
| fitclinear
| plotPartialDependence
| transform
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.