Я хочу разделить свой набор данных на обучающие и тестовые наборы данных по годам. Идея состоит в том, чтобы поместить строки с годами от 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
Адитья, моя модель регрессора была довольно простой, но я все равно прикрепляю код. в 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))