Проблема в том, что массив X не отсортирован. Поэтому, когда вы используете линии -r
для построения ваших данных, он соединяет точки данных в порядке ваших несортированных точек X-данных. Следовательно, вы видите случайную сеть линий. Порядок не имеет значения для графика с маркерами, потому что вы просто строите точки без линий.
Решение состоит в том, чтобы отсортировать данные X и передать отсортированные данные X вашей команде заговора и соответственно fit_transform
.
shape = X.shape
X = np.sort(X.flatten())
plt.plot(X, lin_reg.predict(poly_features.fit_transform(X.reshape((shape)))), "r-", lw=2)
