how to compute separate line 2 dimensional points
Mostrar comentarios más antiguos
hi all i have set of points and class + -1 i want to calculate the line i want to use 1. direct linear algebra (inverse matrix , cross product) 2. use gradient descent i dont want to use the svm function or quadratic programming
x=[ 1 2 ; 3 3 ; 4 5; 45 17 ; 33 20];
label=[ 1 ;1 ;1;-1 ;-1];
gscatter(x(:,1),x(:,2),label)
so how to calculate the line wx+b , i need w,b
Respuestas (6)
David Sanchez
el 17 de Jun. de 2014
0 votos
Once you have the plot, go to tools -> Basic fitting
select the data (1 or -1 in your case), linear and click in the bottom arrow to get the values of your parameters. You will see you can save to workspace.
Michael sch
el 17 de Jun. de 2014
0 votos
Zikobrelli
el 17 de Jun. de 2014
Given X and Y, this function will give you your 'w' and 'b'
function [a b] = droite_reg(X,Y)
% Linear fitting
% Y = a + bX
n = length (Y);
sumY = sum(Y);
sumX = sum(X);
X2 = X.^2;sumX2 = sum(X2);
Y2 = Y.^2; sumY2 = sum(Y2);
XY = X.*Y; sumXY = sum(XY);
%slope estimation
a = (sumXY - ((sumX * sumY)/n))/ (sumX2 - ((sumX^2)/n));
% b estimation
b = (sumY/n)-(a.*(sumX/n));
% r^2
r2 = ((sumXY - ((sumX.*sumY)/n)).^2)/((sumX2-((sumX.^2)/n)).*(sumY2 - ((sumY.^2)/n)));
end
1 comentario
Zikobrelli
el 17 de Jun. de 2014
To get your two sets of data differentiated, you can try something like:
plot(x(label==1,1),x(label==1,2))
[w,b]=droite_reg(x(label==1,1),x(label==1,2))
hold on
plot(x(label==-1,1),x(label==-1,2),'r')
[w1,b1]=droite_reg(x(label==-1,1),x(label==-1,2))
Michael sch
el 17 de Jun. de 2014
Michael sch
el 17 de Jun. de 2014
2 comentarios
Zikobrelli
el 17 de Jun. de 2014
You might want to look into nnd4pr or perceptron in the matlab help section.
There's a demo abt 2 inout classifiers
Zikobrelli
el 17 de Jun. de 2014
*input
Michael sch
el 17 de Jun. de 2014
0 votos
Categorías
Más información sobre Statistics and Machine Learning Toolbox en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
