Linear Regression

machine-learning

#1

Hi guys, I am beginner in Python and Machine Learning. I got some problems with my code (about Linear Regression) that is Matplotlib error: scatter raise ValueError(“x and y must be the same size”). Here is my code. It is my pleasure to get your help. Regards!


#2

For the better debugging in plot stage, I think knowing the value of x_test.shape, y_test.shape and y_test_pre will definitely foster your solving problem direction to get out of this error.

For this kind of error: x and y must be the same size. Just print your input’s shape, then you will know what you need to do next.


#3

I got this result: x_test.shape= (15, 3) and y_test.shape=(15, ). I have checked this problem in stackoverflow and I found that it has problem with this line:

x is 2D array but y is 1D array, it is different size but I don’t know have to fix it. Thanks for your help @Phan_Huu_Tho


#4

Did you try with y_test.reshape((y_test.shape[0], 1))?


#5

No, I did not, So, where can I insert this code? @Phan_Huu_Tho


#6

If you dont know which place do need to change your code? The first step is that just try any where you think it’s the right place. Now, you have the first hypothesis with the first right place.

Then run your code, see an error, try to guess why you get that kind of error and check your hypothesis, improve your idea with the better hypothesis with another right place. And check it again.

If every where you try, always return the errors. So we were in the wrong place, we now should invent another approach.

Happy coding!


#7

Thanks for your suggestion, @Phan_Huu_Tho. I will try to fix it.


#8

giá trị truyền vào của scatter phải có cùng shape:

plt.scatter(mode.predict(X_test), y_test, color = “red”)


#9

Mình nghĩ đây chính là đáp án rồi. Trong scatter, x, y có cùng shape và có dạng (n, ). Nên ở trên dù có reshape y_test vẫn lỗi (mình bị nhầm chỗ này). Nên cái cần đổi là là x chứ ko phải y. Cám ơn bạn


#10

Mình cảm ơn ạ! Code mình chạy được rồi nhưng mà kết quả mình không biết đúng không. Untitled


#11

Code mình chạy được rồi nhưng kết quả hơi kì, chắc mình code lỗi dòng nào đó. Dù sao cũng cảm ơn bạn giúp nha. Mình mới chuyển qua machine learning cũng không biết bắt đầu từ đâu.


#12

bạn viết set test_size nên nó ra như vậy, bạn set test_size trong chỗ train_test_split là đc


#14

Chào bạn, bạn có thể nói rõ hơn được không, mình mới học nên không hiểu lắm.


#15

bạn print tất cả các giá trị X_train, X_test, y_train, y_test với cả 2 trường hợp set test_size và không set rồi so sánh giá trị của 2 trường hợp đó bạn sẽ hiểu tại sao khi visualize preidict của bạn lại như vậy.


#16

Mình cảm ơn nhiều ạ!