는예측변수데이터B
=套索(<一个href="//www.tianjin-qmedu.com/kr/help/stats/#d123e87966" class="intrnllnk">X,<一个href="//www.tianjin-qmedu.com/kr/help/stats/#d123e87990" class="intrnllnk">
y)
λ의특정정규화계수에대응합니다。기본적으로,
는하나이상의이름——값쌍의인수로지정된추가옵션을사용하여정규화된회귀를피팅합니다。예를들어,B
=套索(<一个href="//www.tianjin-qmedu.com/kr/help/stats/#d123e87966" class="intrnllnk">X,<一个href="//www.tianjin-qmedu.com/kr/help/stats/#d123e87990" class="intrnllnk">
y,<一个href="//www.tianjin-qmedu.com/kr/help/stats/#namevaluepairarguments" class="intrnllnk">
名称,值)
[<一个href="//www.tianjin-qmedu.com/kr/help/stats/#d123e88973" class="intrnllnk">
는위에열거된구문의입력인수를사용하여모델피팅에대한정보를포함하는구조체B,<一个href="//www.tianjin-qmedu.com/kr/help/stats/#d123e89022" class="intrnllnk">
FitInfo) =套索(
예측변수
rng (“默认” )%的再现性 X =兰德(100 1);y = 2*X + randn(100,1)/10;
정규화값을지정하고,절편항이없는회귀모델의계수를찾습니다。
λ= 1 e 03;B =套索(X, y,“λ” λ,“拦截” 假)
警告:当'Intercept'值为false时,'标准化'值被设置为false。
B = 1.9825
예측값(선)과실제값(점)을플로팅합니다。
散射(X, y)在 x = 0:0.1:1;情节(x, x * B)从
중복된예측변수가포함된데이터세트를생성하고교차검증된
gydF4y2Ba5차100개의원정규변수로구성된행렬
rng默认的 %的再现性X = randn (100 5);权重=[0;2。0;3。0];只有两个非零系数 y = X*weights + randn(100,1)*0.1;附加噪声小
레이블이지정된예측변수에10겹교차검증을사용하여套索피팅을생성합니다。
[B, FitInfo] =套索(X, y,“简历” 10“PredictorNames” ,{x1的 ,“x2” ,“x3” ,“x4” ,“×5” });
최소교차검증평균제곱오차(MSE)에대응되는모델의변수를표시합니다。
idxLambdaMinMSE = FitInfo.IndexMinMSE;minMSEModelPredictors = FitInfo.PredictorNames (B (:, idxLambdaMinMSE) ~ = 0)
minMSEModelPredictors =1 x2单元格{“x2”}{“x4”}
최소MSE의1표준오차내에서희소성이가장큰모델의변수를표시합니다。
idxLambda1SE = FitInfo.Index1SE;sparseModelPredictors = FitInfo.PredictorNames (B (:, idxLambda1SE) ~ = 0)
sparseModelPredictors =1 x2单元格{“x2”}{“x4”}
이예제에서,
다양한정규화수준에대해교차검증된오차를시각적으로검토합니다。
gydF4y2Ba표본데이터를불러옵니다。
负载乙炔
상호작용이포함되고상수항이없는설계행렬을생성합니다。
X = [x1 x2 x3];D = x2fx (X,“互动” );D (: 1) = [];没有常数项
10겹교차검증을사용하여套索피팅을생성합니다。결과를플로팅할수있도록
rng默认的 %的再现性[B, FitInfo] =套索(D, y,“简历” 10);
교차검증된피팅을플로팅합니다。
lassoPlot (B FitInfo“PlotType” ,“简历” );传奇(“显示” )%显示传奇
녹색원과점선은최소교차검증오차를갖는
套索및신축망방법을사용하여학생의시험점수를예측합니다。
负载examgrades X =成绩(:,1:4);y =成绩(:5);
데이터를훈련세트와검정세트로분할합니다。
n =长度(y);c = cvpartition (n,“坚持” , 0.3);idxTrain =培训(c, 1);idxTest = ~ idxTrain;XTrain = X (idxTrain:);yTrain = y (idxTrain);XTest = X (idxTest:);欧美= y (idxTest);
10겹교차검증및신축망방법을사용하여정규화된선형회귀모델의계수를구합니다(
[B, FitInfo] =套索(XTrain yTrain,“α” , 0.75,“简历” 10);idxLambda1SE = FitInfo.Index1SE;系数= B (:, idxLambda1SE);coef0 = FitInfo.Intercept (idxLambda1SE);
검정데이터에대한시험점수를예측합니다。기준선을사용하여예측값을실제시험성적과비교합니다。
yhat = XTest* coef0;持有在 yhat散射(欧美)情节(欧美,欧美)包含(实际考试成绩的 ) ylabel (“预测考试成绩” )举行从
[1] Tibshirani, R. <通过套索回归收缩和选择>。皇家统计学会杂志。B辑,Vol. 58, No. 1, 1996, pp 267-288。
[2]邹H和t黑斯蒂。“通过弹性网的正则化和变量选择”。皇家统计学会杂志。B系列,第67卷,第2期,2005年,第301-320页。
[3] Friedman, J., R. Tibshirani和T. Hastie。通过坐标下降的广义线性模型的正则化路径统计软件杂志。第33卷,2010年第1期。<一个href="https://www.jstatsoft.org/v33/i01" target="_blank">https://www.jstatsoft.org/v33/i01
黑斯蒂,T., R. Tibshirani和J. Friedman。统计学习的要素。第2版。纽约:施普林格,2008。
[5] Boyd, S. <利用乘法器的交替方向法进行分布式优化和统计学习>。机器学习的基础和趋势。第3卷,第1期,2010,第1 - 122页。
자세한내용은<一个href="//www.tianjin-qmedu.com/kr/kr/help/matlab/tall-arrays.html" class="a">高형배열一个>항목을참조하십시오。
병렬로실행하려면
예gydF4y2Ba:
자세한내용은
gydF4y2Ba병렬연산에대한일반적인내용은<一个href="//www.tianjin-qmedu.com/kr/kr/help/parallel-computing/run-matlab-functions-with-automatic-parallel-support.html" class="a">자동병렬연산을지원하는MATLAB함수실행하기一个>(并行计算工具箱)항목을참조하십시오。