Ошибка обучения моей модели машинного обучения остается нулевой? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь построить кривые обучения в двух моделях машинного обучения. Значения MSE одной из моих моделей в порядке. Однако в этом случае, когда я строю кривые обучения, значение ошибки обучения всегда равно нулю. Я не знаю, есть ли ошибка в моем коде или в моих данных.

Мой код является источником этого графика:

enter image description here

Мой код ниже:

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import learning_curve

# 80:20 ratio.
#80% train size
#20% test

train_sizes = [1, 50, 100, 150, 204]

features = ['Sex', 'Age', 'Education', 'Ideology', 'Likeability_pre-debate_AC', 'Proximity_PS', 'Proximity_Other', 'Debate Performance_AC', 'Int_Likeability_pre-debate_debate_performance_AC', 'Int_Likeability_pre-debate_Proximity_PS', 'Int_Likeability_pre-debate_Proximity_other', 'Likeability_post_debate_AC']

target = 'Likeability_post_debate_AC'

train_sizes, train_scores, validation_scores = learning_curve(estimator = LinearRegression(),X = df2[features],y = df2[target], train_sizes = train_sizes, cv = 5,scoring = 'neg_mean_squared_error')

train_scores_mean = -train_scores.mean(axis = 1)
validation_scores_mean = -validation_scores.mean(axis = 1)

plt.style.use('seaborn')
plt.plot(train_sizes, train_scores_mean, label = 'Training error')
plt.plot(train_sizes, validation_scores_mean, label = 'Validation error')
plt.ylabel('MSE', fontsize = 14)
plt.xlabel('Training set size', fontsize = 14)
plt.title('Learning curves for a linear regression model', fontsize = 18, y = 1.03)
plt.legend()
plt.ylim(-0.5,0.5)

Почему моя ошибка обучения остается нулевым с самого начала?

...