clear
close all
data=csvread('E:\机器学习\Advertising.csv',1,1);
X=data(:,1:3);
X2=X(101:200,1:3);
X=X(1:100,:);
std1=std(X(:,1));
std2=std(X(:,2));
std3=std(X(:,3));
x1=(X(:,1)-mean(X(:,1)))/std1;
x2=(X(:,2)-mean(X(:,2)))/std2;
x3=(X(:,3)-mean(X(:,3)))/std3;
X1=[x1 x2 x3];
Y=data(:,4);
Y1=Y(1:100);
meanY=mean(Y1);
Y1=Y1-meanY;
Y2=Y(101:200);
BETA=[];
RSS_plot=[];
x1=(X2(:,1)-mean(X(:,1)))/std1;
x2=(X2(:,2)-mean(X(:,2)))/std2;
x3=(X2(:,3)-mean(X(:,3)))/std3;
X2=[x1 x2 x3];
for lamda=0:0.002:3
beta=inv(X1'*X1+lamda*eye(3))*X1'*Y1;
BETA=[BETA beta];
Y_hat=X2*beta;
RSS=(Y2-meanY-Y_hat)'*(Y2-meanY-Y_hat)/99;
RSS_plot=[RSS_plot RSS];
end
figure;
lamda=0:0.002:3;
plot(lamda,RSS_plot);
figure;
plot(lamda,BETA(1,:),lamda,BETA(2,:),lamda,BETA(3,:));
close all
data=csvread('E:\机器学习\Advertising.csv',1,1);
X=data(:,1:3);
X2=X(101:200,1:3);
X=X(1:100,:);
std1=std(X(:,1));
std2=std(X(:,2));
std3=std(X(:,3));
x1=(X(:,1)-mean(X(:,1)))/std1;
x2=(X(:,2)-mean(X(:,2)))/std2;
x3=(X(:,3)-mean(X(:,3)))/std3;
X1=[x1 x2 x3];
Y=data(:,4);
Y1=Y(1:100);
meanY=mean(Y1);
Y1=Y1-meanY;
Y2=Y(101:200);
BETA=[];
RSS_plot=[];
x1=(X2(:,1)-mean(X(:,1)))/std1;
x2=(X2(:,2)-mean(X(:,2)))/std2;
x3=(X2(:,3)-mean(X(:,3)))/std3;
X2=[x1 x2 x3];
for lamda=0:0.002:3
beta=inv(X1'*X1+lamda*eye(3))*X1'*Y1;
BETA=[BETA beta];
Y_hat=X2*beta;
RSS=(Y2-meanY-Y_hat)'*(Y2-meanY-Y_hat)/99;
RSS_plot=[RSS_plot RSS];
end
figure;
lamda=0:0.002:3;
plot(lamda,RSS_plot);
figure;
plot(lamda,BETA(1,:),lamda,BETA(2,:),lamda,BETA(3,:));