-
Notifications
You must be signed in to change notification settings - Fork 0
/
run_all_classifiers.py
37 lines (32 loc) · 1.42 KB
/
run_all_classifiers.py
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
import matplotlib.pyplot as plt
import os, time
from datetime import datetime
import mlp_classifier, rf_classifier, svm_classifier
def exec_all_classifiers():
mainStartTime = time.time()
results = []
modelNames = ['MLP','SVM','RF']
print(f'[INFO] *********MLP**********.')
results.append(mlp_classifier.main())
print(f'[INFO] *********SVM**********.')
results.append(svm_classifier.main())
print(f'[INFO] *********RF**********.')
results.append(rf_classifier.main())
elapsedTime = round(time.time() - mainStartTime,2)
print(f'[INFO] Total code execution time: {elapsedTime}s')
return modelNames,results
def plotResults(modelNames,results):
fig, ax = plt.subplots()
bar_container = ax.bar(modelNames, results,color=['red', 'green', 'blue', 'cyan'])
ax.set_ylabel('Accuracy',weight='bold')
ax.set_xlabel('Models',weight='bold')
ax.set_title('Model comparison',fontsize=18,weight='bold')
ax.bar_label(bar_container, fmt='{:,.2f}%')
plt.savefig('./results/'+getCurrentFileNameAndDateTime(), dpi=300)
print(f'[INFO] Plotting final results done in ./results/{getCurrentFileNameAndDateTime()}')
print(f'[INFO] Close the figure window to end the program.')
plt.show(block=False)
def getCurrentFileNameAndDateTime():
fileName = os.path.basename(__file__).split('.')[0]
dateTime = datetime.now().strftime('-%d%m%Y-%H%M')
return fileName+dateTime