Линейная регрессия сюжет действительно плох - PullRequest
1 голос
/ 02 апреля 2020

наблюдений, которые отличаются друг от друга, поэтому я снова запускаю регрессию, но только для одного кластера. Но это также вышло неправильно Что именно здесь не так? Я также должен указать, что я все еще новичок в этом (линейная регрессия и т. Д. 1007 *), поэтому мое понимание всего этого все еще плохо. Как я могу исправить этот сюжет и, пожалуйста, если это возможно, попробуйте объяснить, почему это не так.

Код:

import matplotlib.pyplot as plt
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
import numpy as np

np.random.seed(0)


kmeans.cluster_centers_

kmeans.labels_
n,y_test = train_test_split(X, Y, test_size = 0.4, random_state = 0)



plt.scatter(X.iloc[:, 1], Y)
plt.show()

1 Ответ

1 голос
/ 02 апреля 2020

Вы выполняете множественную линейную регрессию , поскольку у вас есть 2 входных объекта ('Age', 'Annual Income (k$)'), которые пытаются предсказать выходной объект ('Spending Score (1-100)'). Вам необходимо отобразить эти данные в 3D, чтобы правильно визуализировать регрессию.

Даже если я не могу проверить ваш код без данных, что-то вроде этого должно работать (после обучения модели):

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

ax.scatter(X.iloc[:, 0], X.iloc[:, 1], Y)
ax.plot(X.iloc[:, 0], X.iloc[:, 1], y_pred, color='red')

ax.set_xlabel('Age')
ax.set_ylabel('Annual Income')
ax.set_zlabel('Spending Score')
...