[0bd3e5]: / Hyperparameter.py

Download this file

41 lines (40 with data), 1.5 kB

 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
# Hyperparameter Optimization
tuned_parameters = [
# KNN Classifier(2,3,4)
{'featureSelection__w': N_GENES,
'classify': [KNeighborsClassifier()],
'classify__n_neighbors': [2, 3, 4]
},
# Decision Tree Classifier(J48 algorithm)
{'featureSelection__w': N_GENES,
'classify': [tree.DecisionTreeClassifier()],
'classify__criterion':['gini', 'entropy'],
'classify__min_samples_leaf': [1, 3, 5],
'classify__max_depth': [3, 6, 9],
'classify__presort': [True]
},
# Neural Network Multi-label Classifier
{'featureSelection__w': N_GENES,
'classify': [MLPClassifier()],
'classify__hidden_layer_sizes': N_LAYERS,
'classify__activation': ['logistic'],
'classify__alpha':[0.05, 0.01, 0.005, 0.001],
'classify__max_iter':[1000],
'classify__solver': ['lbfgs'],
'classify__verbose': [True]
},
# Naïve Bayes Classifier
{'featureSelection__w': N_GENES,
'classify': [naive_bayes.GaussianNB()]
},
# AdaBoost Classifier
{'featureSelection__w': N_GENES,
'classify': [AdaBoostClassifier()]
}
]
# Model Selection using Pipeline and Cross validation
kfolds = KFold(n_splits=5, shuffle=True, random_state=myRndSeeds)
model = GridSearchCV(pipe, tuned_parameters, cv=kfolds,
return_train_score=True)
model.fit(X, y)
results = pd.DataFrame(model.cv_results_