<aside>
</aside>
6κ°μ μΉμ΄ν κ²½μ(compare_models
)μ ν΅ν΄, μ°λ¦¬λ κ°μ₯ μ λ§ν 'μ±νΌμΈ ν보' λͺ¨λΈλ€μ μ λ°νμ΅λλ€. νμ§λ§ μμ§ λμ΄ μλλλ€\! μ΄λ² μκ°μλ μ λ°λ ν보 μ€ νλλ₯Ό μ μμΌλ‘ 'μ±νΌμΈ'μΌλ‘ μλͺ
(create_model
)νκ³ , μ΄ μ±νΌμΈμ μ¨κ²¨μ§ μ μ¬λ ₯μ 100% λμ΄λ΄κΈ° μν 'νΉλ³ νλ ¨ μΊ ν'(tune_model
)λ₯Ό μ΄μ΄λ³Ό κ²λλ€. μ’μ λͺ¨λΈμ 'μ΅κ³ μ λͺ¨λΈ'λ‘ λ§λλ κ³Όμ , λ°λ‘ νμ΄νΌνλΌλ―Έν° νλμ μΈκ³λ‘ μ¬λ¬λΆμ μ΄λν©λλ€\!
create_model()
ν¨μλ₯Ό μ¬μ©ν΄ νΉμ λͺ¨λΈ νλλ₯Ό μμ±νκ³ , κΈ°μ€ μ±λ₯μ νμΈν μ μμ΅λλ€.tune_model()
ν¨μλ₯Ό μ¬μ©ν΄ λͺ¨λΈμ μ±λ₯μ μλμΌλ‘ μ΅μ νν μ μμ΅λλ€.predict_model()
μ μ¬μ©ν΄ νλμμ(Hold-out) ν
μ€νΈ λ°μ΄ν°μ λν μ΅μ’
μ±λ₯μ κ²μ¦ν μ μμ΅λλ€.π‘ gbr λͺ¨λΈμ μμ±νκ³ , νλν λ€, predict_modelμ ν΅ν΄ νλ μ νμ μ΅μ’ μ±λ₯μ 'νλμμ λ°μ΄ν°μ 'μμ κ²μ¦ν©λλ€.
# 1. λΌμ΄λΈλ¬λ¦¬ μ€λΉ
from pycaret.datasets import get_data
from pycaret.regression import setup, create_model, tune_model, predict_model
# 2. λ°μ΄ν° λΆλ¬μ€κΈ° λ° μ€ν νκ²½ μ€μ
df = get_data('insurance')
setup(data=df, target='charges', session_id=123, fold_shuffle=True)
# 3. μ±νΌμΈ ν보('gbr') λͺ¨λΈ μμ± λ° κΈ°μ€ μ±λ₯ νμΈ
print("--- 1. κΈ°μ€ λͺ¨λΈ(gbr) μμ± λ° κ΅μ°¨ κ²μ¦ μ±λ₯ ---")
base_model = create_model('gbr')
# 4. 'gbr' λͺ¨λΈ νμ΄νΌνλΌλ―Έν° νλ
print("\\n--- 2. νλλ λͺ¨λΈ(gbr) μμ± λ° κ΅μ°¨ κ²μ¦ μ±λ₯ ---")
tuned_model = tune_model(base_model, optimize='R2', n_iter=200)
# 5. νλμμ λ°μ΄ν°μ λν μ΅μ’
μ±λ₯ κ²μ¦
print("\\n--- 3. κΈ°μ€ λͺ¨λΈμ μ΅μ’
ν
μ€νΈ μ±λ₯ ---")
predict_model(base_model)
print("\\n--- 4. νλλ λͺ¨λΈμ μ΅μ’
ν
μ€νΈ μ±λ₯ ---")
predict_model(tuned_model)
create_model('gbr')
μ€ν κ²°κ³Ό (κΈ°μ€ μ±λ₯)gbr λͺ¨λΈμ κΈ°λ³Έ νμ΄νΌνλΌλ―Έν°λ‘ κ΅μ°¨ κ²μ¦ν κ²°κ³Όμ λλ€. νκ· R2 μ μλ 0.8366μ λλ€.
MAE MSE RMSE R2 RMSLE MAPE
Fold
0 2517.6489 1.987906e+07 4458.5944 0.8787 0.4171 0.3259
... ... ... ... ... ... ...
9 2783.2563 2.618905e+07 5117.5243 0.8030 0.4719 0.3245
Mean 2732.7269 2.378679e+07 4867.4479 0.8366 0.4506 0.3207
Std 140.7865 3.071774e+06 307.7971 0.0256 0.0301 0.0213
tune_model()
μ€ν κ²°κ³Ό (ν₯μλ μ±λ₯)