显示带有线性回归的图sklearn

时间:2019-11-28 10:14:55

标签: python scikit-learn

我有一个数据集,其中X = ['x','y']我的数据集的前两列 并以data ['class']为目标。 但是在这种情况下,我不显示线性回归图。 因为我有错误“ x和y必须具有相同的大小”。 那么我如何绘制线性回归并使用数据集进行预测 还是我将X作为数据集的前两列,并在目标中将最后一列作为目标? 非常感谢您的帮助,以下是我的代码:

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)

1 个答案:

答案 0 :(得分:1)

基于官方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()