ЁЯФ╖ рдкрд░рд┐рдЪрдп:
Decision Trees рдФрд░ Random Forest Supervised Learning рдХреЗ рджреЛ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рд╣реИрдВред
рдпреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рд╣рдореЗрдВ explainable рдФрд░ interpretive рдореЙрдбрд▓ рдЪрд╛рд╣рд┐рдП рд╣реЛрддреЗ рд╣реИрдВред
рдЖрдк рд╕реЛрдЪрд┐рдП рдПрдХ рдЗрдВрд╕рд╛рди рдХреИрд╕реЗ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ?
рдЕрдЧрд░ “Age > 30” рд╣реИ тЖТ рдлрд┐рд░ “Income > тВ╣50k” тЖТ рдлрд┐рд░ рдирд┐рд░реНрдгрдп рд▓реЗрдВ
рдРрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ Decision Tree.
ЁЯФ╢ 1. Decision Tree (рдирд┐рд░реНрдгрдп рд╡реГрдХреНрд╖)
ЁЯУМ рдХреНрдпрд╛ рд╣реИ?
Decision Tree рдПрдХ рдЯреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбрд▓ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд (Split) рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ decision рддрдХ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХреЗред
ЁЯУК рдЙрджрд╛рд╣рд░рдг:
рдЖрдпреБ > 30?
/ \
рд╣рд╛рдБ рдирд╣реАрдВ
/ \
рд╡реЗрддрди > 50k? No
/ \
рд╣рд╛рдБ рдирд╣реАрдВ
Yes No
тЬЕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ:
рд╡рд┐рд╢реЗрд╖рддрд╛ | рд╡рд┐рд╡рд░рдг |
---|---|
Model Type | Classification рдпрд╛ Regression |
Input Data | Structured tabular data |
Output | Class label рдпрд╛ Continuous value |
Splitting Basis | Gini, Entropy, рдпрд╛ MSE |
Explainability | рдмрд╣реБрдд рдЕрдЪреНрдЫреА |
ЁЯЫая╕П Decision Tree рдХреИрд╕реЗ рдмрдирддрд╛ рд╣реИ?
- Dataset рдХреЗ рдХрд┐рд╕реА feature рдкрд░ split рдХрд░реЛ
- Split рдХреЗ рдмрд╛рдж Impurity рдХрдо рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (Gini рдпрд╛ Entropy)
- рдпрд╣реА recursively рдХрд░рддреЗ рд╣реБрдП tree expand рд╣реЛрддрд╛ рд╣реИ
- Leaf nodes рдкрд░ final class рдпрд╛ value рддрдп рд╣реЛрддреА рд╣реИ
тЬЕ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди (Scikit-Learn) рдХреЛрдб:
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(criterion='gini') # рдпрд╛ entropy
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
ЁЯФ╖ 2. Random Forest (рд░реИрдВрдбрдо рдлреЙрд░реЗрд╕реНрдЯ)
ЁЯУМ рдХреНрдпрд╛ рд╣реИ?
Random Forest рдПрдХ ensemble learning рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдХрдИ Decision Trees рдХреЛ рдорд┐рд▓рд╛рдХрд░ рдПрдХ рдордЬрдмреВрдд рдореЙрдбрд▓ рдмрдирд╛рддреА рд╣реИред
рдПрдХ Decision Tree = рдПрдХ рдбреЙрдХреНрдЯрд░ рдХреА рд░рд╛рдп
Random Forest = 100 рдбреЙрдХреНрдЯрд░реЛрдВ рдХреА рд░рд╛рдп рдХрд╛ рдФрд╕рдд
рдЕрдзрд┐рдХ Trees тЖТ рдмреЗрд╣рддрд░ рдлреИрд╕рд▓рд╛
тЬЕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ:
рд╡рд┐рд╢реЗрд╖рддрд╛ | рд╡рд┐рд╡рд░рдг |
---|---|
Algorithm Type | Bagging (Bootstrap Aggregation) |
Model Strength | High Accuracy, Low Variance |
Overfitting | рдХрдо рд╣реЛрддрд╛ рд╣реИ |
Decision Method | Voting (Classification) / Averaging (Regression) |
ЁЯЫая╕П рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
- Dataset рд╕реЗ random sampling рдХреЗ рдХрдИ subsets рдмрдирддреЗ рд╣реИрдВ
- рд╣рд░ subset рдкрд░ рдПрдХ рдЕрд▓рдЧ Decision Tree train рд╣реЛрддрд╛ рд╣реИ
- Prediction рдХреЗ рд╕рдордп: рд╕рднреА trees рдХреА рд░рд╛рдп рд▓реА рдЬрд╛рддреА рд╣реИ
- Final prediction: Majority Vote рдпрд╛ Average
тЬЕ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдХреЛрдб:
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(n_estimators=100, criterion='gini')
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
ЁЯФН Decision Tree vs Random Forest
рд╡рд┐рд╢реЗрд╖рддрд╛ | Decision Tree | Random Forest |
---|---|---|
Accuracy | Medium | High |
Overfitting Risk | High | Low |
Explainability | High | Low |
Speed | Fast | Slower (more trees) |
Use Cases | Simple decision making | High performance tasks |
ЁЯУК Summary Table:
Algorithm | Type | Strength | Common Use Cases |
---|---|---|---|
Decision Tree | Single Model | Easy to interpret | Credit scoring, Rules |
Random Forest | Ensemble | Robust, less overfitting | Medical diagnosis, Finance |
ЁЯУЭ Practice Questions:
- Decision Tree рдХрд┐рд╕ principle рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
- Entropy рдФрд░ Gini Index рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?
- Random Forest overfitting рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ?
- Decision Tree explainable рдХреНрдпреЛрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ?
- рдПрдХ real-life use case рдмрддрд╛рдЗрдП рдЬрд╣рд╛рдБ Random Forest рдмреЗрд╣рддрд░ рд╣реИред