简体   繁体   中英

display a plot with linear regression sklearn

I have a dataset with X = ['x', 'y'] the two first columns of my dataset and in target the data['class']. But i doesn't how display a plot of linear regression in this case. Because I have the error "x and y must be the same size". So how i can plot a linear regression and predict with a dataset or i take X as the first two column of my dataset and in target the last column ? Thanks so much for the help, here my code below :

data = pd.read_csv('data.csv')
X = data[['x', 'y']]
data['class'] = np.where(data['class']=='P', 1, 0)
Y = data['class']

plt.scatter(X, Y,  color='blue')
plt.xlabel('x')  
plt.ylabel('y')
plt.plot(X, Y, color='red', linewidth=2)
plt.show()

X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.4, random_state=0)
regressor = LinearRegression()  
regressor.fit(X_train, y_train)

Based on the offical documentation :

X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.4, random_state=0)
regressor = LinearRegression()  
regressor.fit(X_train, y_train)
y_pred = regressor.predict(X_test) #adding your prediction, this was missing

import matplotlib.pyplot as plt
import numpy as np


# Plot outputs
plt.scatter(X_test, y_test,  color='black') #plot scatters
plt.plot(X_test, y_pred, color='red', linewidth=2) #plot line

plt.xticks(())
plt.yticks(())

plt.show()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM