File size: 2,741 Bytes
d7e53e8
 
 
 
 
 
4928a1a
 
 
 
 
 
 
d7e53e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4928a1a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d7e53e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
from sklearn.linear_model import LinearRegression, LogisticRegression, Perceptron
from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor
from sklearn.naive_bayes import GaussianNB
from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor
from sklearn.svm import SVC, SVR
from sklearn.neural_network import MLPClassifier, MLPRegressor
from sklearn.ensemble import (
    RandomForestClassifier, RandomForestRegressor,
    ExtraTreesClassifier, ExtraTreesRegressor,
    AdaBoostClassifier, AdaBoostRegressor,
    GradientBoostingClassifier, GradientBoostingRegressor,
    StackingClassifier, StackingRegressor
)

REGRESSION_MODELS = {
    "Linear Regression": LinearRegression(),
    "KNN Regressor": KNeighborsRegressor(),
    "Decision Tree Regressor": DecisionTreeRegressor(),
    "SVR": SVR(),
    "MLP Regressor": MLPRegressor(max_iter=1000),
}

CLASSIFICATION_MODELS = {
    "Logistic Regression": LogisticRegression(max_iter=500),
    "KNN Classifier": KNeighborsClassifier(),
    "Naive Bayes": GaussianNB(),
    "Perceptron": Perceptron(),
    "Decision Tree Classifier": DecisionTreeClassifier(),
    "SVM Classifier": SVC(probability=True),
    "MLP Classifier": MLPClassifier(max_iter=1000),
}

MODEL_GROUPS = {
    "Basic": {
        "Regression": REGRESSION_MODELS,
        "Classification": CLASSIFICATION_MODELS,
    },
    "Bagging": {
        "Regression": {
            "Random Forest Regressor": RandomForestRegressor(),
            "Extra Trees Regressor": ExtraTreesRegressor(),
        },
        "Classification": {
            "Random Forest Classifier": RandomForestClassifier(),
            "Extra Trees Classifier": ExtraTreesClassifier(),
        },
    },
    "Boosting": {
        "Regression": {
            "AdaBoost Regressor": AdaBoostRegressor(),
            "Gradient Boosting Regressor": GradientBoostingRegressor(),
        },
        "Classification": {
            "AdaBoost Classifier": AdaBoostClassifier(),
            "Gradient Boosting Classifier": GradientBoostingClassifier(),
        },
    },
    "Stacking": {
        "Regression": {
            "Stacking Regressor": StackingRegressor(
                estimators=[("lr", LinearRegression())]
            ),
        },
        "Classification": {
            "Stacking Classifier": StackingClassifier(
                estimators=[("lr", LogisticRegression(max_iter=500))]
            ),
        },
    },
}

CLASSIFICATION_GRAPHS = [
    "Confusion Matrix",
    "ROC Curve",
    "Per-Class Metrics Table",
    "Precision-Recall Curve",
    "Probability Histogram",
]

REGRESSION_GRAPHS = [
    "Actual vs Predicted",
    "Residual Plot",
    "Residual Histogram",
    "Feature Importance",
    "Learning Curve",
]