У меня есть набор данных, подобный следующей таблице:
Целью прогноза будет столбец «Score».Мне интересно, как я могу разделить набор тестов на разные подгруппы, такие как оценка от 1 до 3, или затем проверить точность в каждой подгруппе.
Теперь то, что у меня есть, выглядит следующим образом:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
model = tree.DecisionTreeRegressor()
model.fit(X_train, y_train)
for i in (0,1,2,3,4):
y_new=y_test[(y_test>=i) & (y_test<=i+1)]
y_new_pred=model.predict(X_test)
print metrics.r2_score(y_new, y_new_pred)
Однако мой код не работает, и я получаю трассировку:
Найден вводпеременные с непоследовательным количеством выборок: [14279, 55955]
Я пробовал решение, представленное ниже, но похоже, что для полного диапазона оценок (0-5) r ^ 2 составляет 0,67,но подкорковый диапазон, например (0-1,1-2,2-3,3-4,4-5), r ^ 2, значительно ниже, чем у полного диапазона.не должны ли некоторые из подкорков r ^ 2 быть выше 0,67, а некоторые из них - ниже 0,67?
Может ли кто-нибудь любезно сообщить мне, где я поступил неправильно?Большое спасибо за вашу помощь.