Без данных трудно помочь, но я думаю, у вас есть X
и y
из набора данных, потому что вы хотите выполнить линейную регрессию. Вы можете разделить данные на обучающие и тестовые наборы, используя scikit-learn
:
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1/3)
Тогда вам нужно подогнать линейную регрессию к тренировочному набору:
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)
, а затем прогнозировать результаты тестового набора:
y_pred = regressor.predict(X_test)
Наконец, вы можете отобразить результаты теста или тренировки:
# Visualising the Training set results
plt.scatter(X_train, y_train, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Discount vs Sales (Training set)')
plt.xlabel('Discount percentage')
plt.ylabel('Sales')
plt.show()
# Visualising the Test set results
plt.scatter(X_test, y_test, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Discount vs Sales (Test set)')
plt.xlabel('Discount percentage')
plt.ylabel('Sales')
plt.show()
(В этом сценарии мы хотим предсказать, сколько будет объем продаж, если мы установим конкретное значение, например, процент скидки). Если у вас есть более одного X
параметра, все будет сложнее, и вам нужно будет использовать фиктивные переменные, выполнить статистический анализ и т. Д.