Прогнозирование ответов для наблюдений, не используемых для обучения
возвращает предсказанные ответы с перекрестной проверкой с помощью модели линейной регрессии с перекрестной проверкой 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 равен + bj.
x - наблюдение из матрицы данных предиктора X, и является вектором строки.
- оценочный вектор-столбец коэффициентов. Программа сохраняет этот вектор в Mdl.Beta(:,.j)
- оценочное скалярное смещение, которое программное обеспечение хранит в Mdl.Bias(.j)
Моделирование 10000 наблюдений из этой модели
2x200 + e.
является редкой матрицей 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.