Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Machine Learning by (19k points)

I'm following this tutorial to make this ML prediction:

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import style

style.use("ggplot")

from sklearn import svm

x = [1, 5, 1.5, 8, 1, 9]

y = [2, 8, 1.8, 8, 0.6, 11]

plt.scatter(x,y)

plt.show()

X = np.array([[1,2],

             [5,8],

             [1.5,1.8],

             [8,8],

             [1,0.6],

             [9,11]])

y = [0,1,0,1,0,1]

X.reshape(1, -1)

clf = svm.SVC(kernel='linear', C = 1.0)

clf.fit(X,y)

print(clf.predict([0.58,0.76]))

I'm using Python 3.6 and I get error "Expected 2D array, got 1D array instead:" I think the script is for older versions, but I don't know how to convert it to the 3.6 version.

Already try with the:

X.reshape(1, -1)

1 Answer

0 votes
by (33.1k points)

The array you passed in the predict() function, should be 2D array, but you passed 1-D array only.

For example:

Replace

[0.58,0.76]

With

[[0.58,0.76]]

And it should work

Hope this answer helps.


If you wish to Learn more about PythonVisit this Python Tutorial.

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...