#python #xgboost #index-error
#python #xgboost #ошибка индекса
Вопрос:
Я пытаюсь предсказать еженедельные продажи в нескольких магазинах. Я хочу использовать XGBoost
, но я продолжаю сталкиваться с этой ошибкой:
IndexError: tuple index out of range
Мой код:
from sklearn.model_selection import train_test_split
features = ["Store",'Dept','Temperature','Fuel_Price','CPI','Unemployment']
y = allmergecopy.Weekly_Sales
X = allmergecopy[features]
X_train, y_train, X_valid, y_valid = train_test_split(y,X,test_size=.2, train_size=.8)
from xgboost import XGBRegressor
my_model = XGBRegressor(n_estimators=100)
my_model.fit(X_train, y_train)
Для справки:
y_train.shape = (84314,), X_train.shape = (337256,)
.
Ответ №1:
Используйте X как:
X=allmergecopy.drop("Weekly_Sales",axis=1)
Ответ №2:
вместо :
X_train, y_train, X_valid, y_valid = train_test_split(y,X,test_size=.2, train_size=.8)
запись :
x_train,x_valid,y_train,y_valid= train_test_split(x,y,test_size=0.2)
а затем используйте :
from xgboost import XGBRegressor
my_model = XGBRegressor(n_estimators=100)
my_model.fit(x_train, y_train)