Я хочу разделить свой набор данных на наборы тренировочных и тестовых данных по годам.Идея состоит в том, чтобы поместить строки с годами, начиная с 2009-2017 гг., В набор данных поезда, а данные 2018 г. - в набор тестовых данных.Разделение наборов данных по большей части было легким делом, но мои модели вызывают много проблем с индексацией.
X = ((df[df['Year'] < 2018]))
X_train = np.array(X.drop(['Usage'], 1))
X_test = np.array(X['Usage'])
y =((df[df['Year'] > 2017]))
y_train = np.array(y.drop(['Usage'], 1))
y_test = np.array(y['Usage'])
Вот как я планирую разделить данные.Столбец использования - это столбец моего прогноза, который содержит непрерывные значения.Применение простого RandomForestRegressor () дало мне эту ошибку в ответ
ValueError: Number of labels=14495 does not match number of samples=382772
aditya моя модель регрессора была довольно простой, но я присоединяю код в любом случае.столбцы, передаваемые в X, следующие: X = [Cust_Id ',' Usage ',' Plan_Group ',' Contract_Type ',' Cust_Status ',' Premise_Zip ',' Year ',' Month ']
model = RandomForestRegressor()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
# evaluate predictions
print(model.score(X_test, y_test))
# accuracy = accuracy_score(y_test, (y_pred < 0.5).astype(int))