AI/๋จธ์‹ ๋Ÿฌ๋‹

[๐Ÿšจ์—๋Ÿฌ] (XGBoost) AttributeError: 'super' object has no attribute '__sklearn_tags__'

egahyun 2025. 1. 10. 01:38
from xgboost.sklearn import XGBRegressor
from sklearn.model_selection import GridSearchCV

param_grid ={
    'n_estimators' :[50,100,200],
    'learning_rate':[0.01,0.1,0.3],
    'max_depth':[3,5,7],
    'subsample':[0.7, 1.0],
    'colsample_bytree':[0.7,1.0]    
}

model = GridSearchCV(
    estimator=XGBRegressor(random_state=111),
    param_grid= param_grid,
    scoring= 'neg_root_mean_squared_error',
    cv = 3    
)

model.fit(X_train, y_train)
print(model.best_params_)

 

/usr/local/lib/python3.10/dist-packages/sklearn/base.py in __sklearn_tags__(self)
    611 
    612     def __sklearn_tags__(self):
--> 613         tags = super().__sklearn_tags__()
    614         tags.estimator_type = "regressor"
    615         tags.regressor_tags = RegressorTags()

AttributeError: 'super' object has no attribute '__sklearn_tags__'

Colab์œผ๋กœ XGBoost์— ๊ทธ๋ฆฌ๋“œ์„œ์น˜ ์ ์šฉํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ, ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•จ

 

1. ๋ฌธ์ œ ์›์ธ

: Scikit-learn 1.6๋ฒ„์ „์—์„œ tag ์ค‘์‹ฌ์œผ๋กœ API๋ฅผ ์ˆ˜์ •ํ•ด์„œ, ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค๊ณ  ํ•œ๋‹ค

 

2. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

: ๊ทธ๋ƒฅ scikit-learn ๋ฒ„์ „์„ ๋‚ฎ์ถ”๋ฉด ํ•ด๊ฒฐ๋˜๋Š” ๋“ฏํ•จ

 (1.5.2 ๋ฒ„์ „์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ, 1.3.1๋กœ ํ–ˆ์„ ๋•Œ, ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋‹ˆ ํ™•์ธํ•ด๋ณด๋ฉด ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค !)

!pip uninstall -y scikit-learn
!pip install scikit-learn==1.5.2

 

** Colab์—์„œ๋Š” ์ € ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ ํ›„, ์„ธ์…˜ ์žฌ์‹œ์ž‘์„ ํ•ด์•ผ ์—๋Ÿฌ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค !!