Issue
[c:\Users\ACER\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\base.py:450: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names
warnings.warn(
Output exceeds the size limit. Open the full output data in a text editor
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
d:\python\tugas PTI\coba coding.ipynb Cell 5 in <cell line: 1>()
----> 1 reg.predict(2600)
File c:\Users\ACER\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_base.py:386, in LinearModel.predict(self, X)
372 def predict(self, X):
373 """
374 Predict using the linear model.
375
(...)
384 Returns predicted values.
385 """
--> 386 return self._decision_function(X)
File c:\Users\ACER\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_base.py:369, in LinearModel._decision_function(self, X)
366 def _decision_function(self, X):
367 check_is_fitted(self)
--> 369 X = self._validate_data(X, accept_sparse=["csr", "csc", "coo"], reset=False)
370 return safe_sparse_dot(X, self.coef_.T, dense_output=True) + self.intercept_
File c:\Users\ACER\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\base.py:577, in BaseEstimator._validate_data(self, X, y, reset, validate_separately, **check_params)
575 raise ValueError("Validation should be done on X, y or both.")
576 elif not no_val_X and no_val_y:
--> 577 X = check_array(X, input_name="X", **check_params)
...
878 if array.ndim == 1:
ValueError: Expected 2D array, got scalar array instead:
array=2600.
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
Solution
You provide a scalar value to .predict
method. You need to provide a 2-dimensional array:
X = 2600
X = np.array(X)
print(X.shape) # shape: ()
X = X.reshape(-1,1)
print(X.shape) # shape: (1,1)
reg.predict(X)
Answered By - ma0pla
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.