How to compute Cost function for linear regression
古いコメントを表示
Hi,
I am trying to compute cost function

I am using the following code:
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y
% Initialize some useful values
m = length(y); % number of training examples
% You need to return the following variables correctly
J = 0;
% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.
h = X * theta;
sError = (h - y) .^ 2;
J = sum(sError) / (2 * m);
% =========================================================================
end
.But I am getting the following error
Error in computeCost (line 7)
m = length(y); % number of training examples
.Please help
6 件のコメント
infinity
2019 年 6 月 22 日
Hello,
in your code, what is "thetha" in
diff=thetha'*X - y;
Muhammad Kundi
2019 年 6 月 22 日
編集済み: Muhammad Kundi
2019 年 6 月 22 日
infinity
2019 年 6 月 22 日
The error tell us that
Error in computeCostMulti (line 7)
but you show the function name
computeCost
they are not fit. Do you have the function "computeCostMulti"
Muhammad Kundi
2019 年 6 月 23 日
Muhammad Kundi
2019 年 6 月 23 日
David Onoja
2022 年 2 月 4 日
Pls how do you submit answers
回答 (10 件)
João Marlon Souto Ferraz
2020 年 9 月 14 日
4 投票
I believe than this is happen because you are running and trying to compile the function. Just save and to call than function from the other script.
Mahdi Badriyan
2020 年 5 月 25 日
hi
J = sum(sError) / (2 .* m);
in this way your code will be corrected.
Sanskar Choudhary
2021 年 12 月 28 日
1 投票
open file submit.m and then run it.(don't run computeCost.m file, this will not work because its just function)
3 件のコメント
Chinedu Adiegwu
2022 年 1 月 18 日
I don't understand, could you rephrase?
David Onoja
2022 年 2 月 4 日
Pls explain better
Abdulwaliyi
2022 年 12 月 12 日
this is a nice answer
just use submit() then generate your token and run your answer
Ghayyur Abbas
2019 年 8 月 29 日
0 投票
initialize x y theta with values in the function
Heng Dao
2021 年 2 月 6 日
0 投票
((h)-y).^2 Try try hope can help u
Prasad Kute
2021 年 7 月 23 日
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y
% Initialize some useful values
m = length(y); % number of training examples
% You need to return the following variables correctly
J = 0;
% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.
J = (1/(2*m))*sum(((X*theta) - y).^2)
Try this, you will get it correct.
Image Analyst
2022 年 2 月 4 日
You say "sorry...I forgot to mention...I just hit run to execute the program and I get this error message.."
Well that is the whole problem. When you have a function that expects inputs like X, y, theta then you need to supply those inputs. You can't just click the green run triangle and expect somehow that doing that will automagically invent values for X, y, and theta. So you need to do something like
% Declare inputs:
X = rand(1,10);
y = rand(1, 10);
theta = 42;
% Now run the function:
result = computeCost(X, y, theta)
fprintf('Done with the program!\n');
%==========================================================================================
% Define the function:
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y
% Initialize some useful values
m = length(y); % number of training examples
% You need to return the following variables correctly
J = 0;
% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.
h = X * theta;
sError = (h - y) .^ 2;
J = sum(sError) / (2 * m);
end
Image Analyst
2022 年 2 月 6 日
As long as y is defined (like you assigned something to y before you called the function) then that line
m = length(y); % number of training examples
should work. However you didn't give the entire error message. You gave the line the error occurred on but not the actual error description. Why not? You need to include all the red text, not just some of it.
By the way you need to assign something for y, you can't just click the green Run triangle on the toolbar without assigning all the input variables.
Jia He
2022 年 2 月 6 日
0 投票
If you meet errors in submitting, and your function is correct. Try to delete its .mlx file and submit it again.
MAZEN ALHARBI
2022 年 4 月 5 日
function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y
% Initialize some useful values
% number of training examples
% You need to return the following variables correctly
data = load('ex1data1.txt'); % read comma separated data
y = data(:, 2);
m = length(y); % number of training examples
X = [ones(m, 1), data(:,1)]; % Add a column of ones to x
theta = zeros(2, 1);
% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.
J = 0;
J = 1/(2*m) * (X * theta - y)' * (X * theta - y); % vectorized form
% =========================================================================
end
1 件のコメント
safwan bin amir
2022 年 4 月 10 日
@MAZEN ALHARBI you a life saviour. you are doing that ML course of andrew ng?
カテゴリ
ヘルプ センター および File Exchange で Linear and Nonlinear Regression についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!