Предсказать ответы на наблюдения, не используемые для обучения
возвращает перекрестно проверенные предсказанные отклики перекрестно проверенной линейной регрессионой модели YHat = kfoldPredict(CVMdl)CVMdl. То есть для каждой складки kfoldPredict предсказывает ответы на наблюдения, которые он выполняет, когда обучается, используя все другие наблюдения.
YHat содержит предсказанные отклики для каждой силы регуляризации в линейных регрессионых моделях, которые составляют CVMdl.
CVMdl - Перекрестная проверенная линейная регрессионая модельRegressionPartitionedLinear объект моделиПерекрестная проверенная линейная регрессионая модель, заданная как RegressionPartitionedLinear объект модели. Можно создать RegressionPartitionedLinear модель с использованием fitrlinear и определение любого из аргументов пары "имя-значение", например CrossVal.
Чтобы получить оценки, kfoldPredict применяет те же данные, что и для перекрестной проверки линейной регрессионой модели (X и Y).
YHat - Перекрестно проверенные предсказанные откликиПерекрестно проверенные предсказанные отклики, возвращенные как n -by L числовой массив. n - количество наблюдений в данных предиктора, которые создали CVMdl (см. X) и L количество сильных сторон регуляризации в CVMdl.Trained{1}.Lambda. YHat - предсказанная реакция на наблюдение (i, j)i использование линейной регрессионной модели, которая имеет силу регуляризации CVMdl.Trained {1} ..Lambda (j)
Предсказанная реакция, использующая модель с j силы регуляризации,
x является наблюдением из матрицы данных предиктора X, и является вектор-строка.
- предполагаемый вектор-столбец коэффициентов. Программное обеспечение хранит этот вектор в Mdl.Beta .(:, j)
- предполагаемое скалярное смещение, которое программное обеспечение хранит в Mdl.Bias .(j)
Симулируйте 10000 наблюдений из этой модели
является разреженной матрицей 10000 на 1000 с 10% ненулевыми стандартными нормальными элементами.
e - случайная нормальная ошибка со средним 0 и стандартным отклонением 0,3.
rng(1) % For reproducibility
n = 1e4;
d = 1e3;
nz = 0.1;
X = sprandn(n,d,nz);
Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);Перекрестная валидация линейной регрессионой модели.
CVMdl = fitrlinear(X,Y,'CrossVal','on')
CVMdl =
RegressionPartitionedLinear
CrossValidatedModel: 'Linear'
ResponseName: 'Y'
NumObservations: 10000
KFold: 10
Partition: [1x1 cvpartition]
ResponseTransform: 'none'
Properties, Methods
Mdl1 = CVMdl.Trained{1}Mdl1 =
RegressionLinear
ResponseName: 'Y'
ResponseTransform: 'none'
Beta: [1000x1 double]
Bias: 0.0107
Lambda: 1.1111e-04
Learner: 'svm'
Properties, Methods
По умолчанию fitrlinear реализует 10-кратную перекрестную валидацию. CVMdl является RegressionPartitionedLinear модель. Оно содержит свойство Trained, который является массивом ячеек 10 на 1, содержащим 10 RegressionLinear Модели, что программное обеспечение обучалось с использованием набора обучающих данных.
Спрогнозируйте ответы на наблюдения, которые fitrlinear не использовал при обучении складок.
yHat = kfoldPredict(CVMdl);
Потому что есть одна сила регуляризации в Mdl, yHat является числовым вектором.
Симулируйте 10000 наблюдений как в Предсказать Перекрестные Проверенные Отклики.
rng(1) % For reproducibility
n = 1e4;
d = 1e3;
nz = 0.1;
X = sprandn(n,d,nz);
Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);Создайте набор из 15 логарифмически разнесенных сильных сторон регуляризации через .
Lambda = logspace(-5,-1,15);
Перекрестная проверка моделей. Чтобы увеличить скорость выполнения, транспонируйте данные предиктора и укажите, что наблюдения указаны в столбцах. Задайте использование наименьших квадратов с штрафом лассо и оптимизируя целевую функцию с помощью SpaRSA.
X = X'; CVMdl = fitrlinear(X,Y,'ObservationsIn','columns','KFold',5,'Lambda',Lambda,... 'Learner','leastsquares','Solver','sparsa','Regularization','lasso');
CVMdl является RegressionPartitionedLinear модель. Его Trained свойство содержит массив ячеек 5 на 1 из обученных RegressionLinear модели, каждая из которых протягивает разную складку во время обучения. Потому что fitrlinear обученный с использованием 15 сильных сторон регуляризации, можно думать о каждом RegressionLinear модель как 15 моделей.
Предсказание перекрестных проверенных ответов.
YHat = kfoldPredict(CVMdl); size(YHat)
ans = 1×2
10000 15
YHat(2,:)
ans = 1×15
-1.7338 -1.7332 -1.7319 -1.7299 -1.7266 -1.7239 -1.7135 -1.7210 -1.7324 -1.7063 -1.6397 -1.5112 -1.2631 -0.7841 -0.0096
YHat является матрицей 10000 на 15. YHat(2,:) - перекрестный проверенный ответ для наблюдения 2, используя модель, регулярную со всеми 15 значениями регуляризации.
fitrlinear | predict | RegressionLinear | RegressionPartitionedLinear
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.