μμλΈνμ΅κ³Ό λ°°κΉ
μμλΈ νμ΅μ λ€μν μμΈ‘κΈ°λ₯Ό κ²°ν©ν΄ νμ΅νλ κ²μ λλ€. μμλΈμ λ°©λ² μ€ νλλ νλ ¨μ μΌλ‘λΆν° 무μμλ‘ λ€λ₯Έ μλΈμ μ λ§λ€μ΄ μΌλ ¨μ κ²°μ νΈλ¦¬ λΆλ₯κΈ°λ₯Ό νλ ¨μν¬ μ μμ΅λλ€. μμΈ‘μ νλ €λ©΄ λͺ¨λ κ°λ³νΈλ¦¬μ μμΈ‘μ ꡬνκ³ κ°μ₯ λ§μμ νμ λ°μ ν΄λμ€λ₯Ό μμΈ‘μΌλ‘ μΌμ΅λλ€voting. κ²°μ νΈλ¦¬μ μμλΈμ λλ€ν¬λ μ€νΈμ λλ€. μμλΈ λ°©λ²μ ν¨μ¬ λ λμ μ νλλ₯Ό λΌ μ μμ΅λλ€.
λ°°κΉ νλ ¨μ μμ μ€λ³΅μ νμ©νμ¬ μνλ§νλ λ°©μ
νμ΄μ€ν νλ ¨μ μμ μ€λ³΅μ νμ©νμ§ μκ³ μνλ§νλ λ°©μ
λ λ°©λ² λͺ¨λ κ°μ νλ ¨μνμ μ¬λ¬ μμΈ‘κΈ°μ κ±Έμ³ μ¬μ©ν μ μμ§λ§ λ°°κΉ λ§μ΄ ν μμΈ‘κΈ°λ₯Ό μν΄ κ°μ νλ ¨μνμ μ¬λ¬ λ² μνλ§ν μ μμ΅λλ€.
λΆνΈμ€νΈλ©(bootstrap)
λΆνΈμ€νΈλ©(bootstrap)μ ν΅κ³νμμ μ¬μ©νλ μ©μ΄λ‘, random samplingμ μ μ©νλ λ°©λ²μ μΌμ»«λ λ§μ λλ€. μλ₯Ό λ€μ΄, ν μμμ¬λ§νΈμ λ€μ΄μ€λ μμΆμ μ μ λλ₯Ό μκ³ μΆμ κ²½μ°, λ§νΈλ‘ μ κ³ λλ λͺ¨λ μμΆ μ€ μμλ‘ 100κ°λ₯Ό λ½μ κ·Έ μμΆμ μ μ λ νκ· μ ꡬνλκ² λκ² μ΅λλ€. μ΄κ² λ¬΄μ¨ μλ―Έκ° μμκΉμ? λ°λ‘ raw dataμ λΆν¬λ₯Ό μΆμ ν λ μ¬μ©ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μΈ‘μ λ λ°μ΄ν° μ€μμ μ€λ³΅μ νμ©ν 볡μ μΆμΆλ‘ nκ°λ₯Ό λ½κ³ , λ½μ nκ°μ νκ· μ ꡬνλ κ²μ mλ² λ°λ³΅νμ¬ λͺ¨μΌκ² λλ©΄ νκ· μ λν λΆν¬λ₯Ό ꡬν μ μκ² λκ³ , μ΄λ‘λΆν° sample meanμ λν μ λ’° ꡬκ°μ μΆμ ν μ μκ² λλ κ²λλ€.
μ΄λ¬ν λΆνΈμ€νΈλ©μ, λ¨Έμ λ¬λμμλ μ μ©λ μ μλλ°μ. λ°λ‘ random samplingμ ν΅ν΄ training dataλ₯Ό λ릴 μ μμ΅λλ€.
μ¦, λ°°κΉ (Bagging)μ λΆνΈμ€νΈλ©(bootstrap)μ μ§κ³(Aggregating)νμ¬ νμ΅ λ°μ΄ν°κ° μΆ©λΆνμ§ μλλΌλ μΆ©λΆν νμ΅ν¨κ³Όλ₯Ό μ£Όμ΄ λμ biasμ underfitting λ¬Έμ λ, λμ varianceλ‘ μΈν overfitting λ¬Έμ λ₯Ό ν΄κ²°νλλ° λμμ μ€λλ€.(μΆμ²:https://data-analysis-science.tistory.com/61)
μ¬μ΄ν·λ°μμ λ°°κΉ κ³Ό νμ΄μ€ν
BaggindClassifier BaggingRegressorκ° μμΌλ©°, νμ΄μ€ν μ bootstrap=Falseλ‘ μ€μ νλ©΄ λλ€
from sklearn.ensemnle import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
baggingClf = BaggingClassifier(
DecisionTreeClassifier(), n+estimators=500. max_samples=100, bootstrap=True, n_jobs=-1
)
baggingClf.fit(X_train, y_train)
y-pred =baggingClf.predict(X_test)
μ λ°μ μΌλ‘ λ°°κΉ μ΄ λ μ’μ κ²°κ³Όλ₯Ό λ§λ€κΈ°λλ¬Έμ μ νΈνμ§λ§, μ¬μ κ° μλ€λ©΄ κ΅μ°¨κ²μ¦μΌλ‘ λ λ°©λ²μ λͺ¨λ μ¨λ³Έ λ€ μ ννλ κ²μ΄ μ’λ€.
oobνκ°(out-of-bag)
λ°°κΉ μ μ¬μ©νλ©΄ μ€λ³΅μ νμ©νκΈ° λλ¬Έμ μ΄λ€ μνμ μ νλμ΄ μ¬λ¬λ² μνλ§λκ³ , μ΄λ€ κ²μ μ ν μ νλμ§ μμ μ μλ€. μ νλμ§ μμ μνμ oob μνμ΄λΌ νλ€. μμΈ‘κΈ°κ° νλ ¨λλ λμμ λ³λμ κ²μ¦ μΈνΈκ° μλ oobμνλ‘ νκ°ν μ μλ€. μ μ μ½λμ νλΌλ―Έν°λ₯Ό oob_score=True λ‘ λ£κ³ , fit ν λ€ clf.oob_score_ λ‘ νκ° μ μλ₯Ό λ³Ό μ μλ€. μμλΈ νκ°λ κ° μμΈ‘κΈ°μ oob νκ°λ₯Ό νκ· νμ¬ μ»λλ€. μ΄ μ μλ μ νλμ κ±°μ λΉμ·νλ€.