feature(algo): add randomforest algorithm to the comparison
This commit is contained in:
@@ -31,6 +31,20 @@ Adj. Rand: 0.943
|
|||||||
weighted avg 0.98 0.98 0.98 45
|
weighted avg 0.98 0.98 0.98 45
|
||||||
|
|
||||||
|
|
||||||
|
--- Random Forest ---
|
||||||
|
Accuracy: 1.000
|
||||||
|
Adj. Rand: 1.000
|
||||||
|
precision recall f1-score support
|
||||||
|
|
||||||
|
setosa 1.00 1.00 1.00 19
|
||||||
|
versicolor 1.00 1.00 1.00 13
|
||||||
|
virginica 1.00 1.00 1.00 13
|
||||||
|
|
||||||
|
accuracy 1.00 45
|
||||||
|
macro avg 1.00 1.00 1.00 45
|
||||||
|
weighted avg 1.00 1.00 1.00 45
|
||||||
|
|
||||||
|
|
||||||
--- K-Means (mapped) ---
|
--- K-Means (mapped) ---
|
||||||
Accuracy: 0.893
|
Accuracy: 0.893
|
||||||
Adj. Rand: 0.730
|
Adj. Rand: 0.730
|
||||||
@@ -91,6 +105,27 @@ Adj. Rand: 0.710
|
|||||||
weighted avg 0.88 0.85 0.85 540
|
weighted avg 0.88 0.85 0.85 540
|
||||||
|
|
||||||
|
|
||||||
|
--- Random Forest ---
|
||||||
|
Accuracy: 0.976
|
||||||
|
Adj. Rand: 0.946
|
||||||
|
precision recall f1-score support
|
||||||
|
|
||||||
|
0 1.00 0.98 0.99 53
|
||||||
|
1 0.96 1.00 0.98 50
|
||||||
|
2 1.00 1.00 1.00 47
|
||||||
|
3 0.98 0.96 0.97 54
|
||||||
|
4 0.97 1.00 0.98 60
|
||||||
|
5 0.97 0.95 0.96 66
|
||||||
|
6 0.98 0.98 0.98 53
|
||||||
|
7 0.98 0.98 0.98 55
|
||||||
|
8 0.95 0.95 0.95 43
|
||||||
|
9 0.97 0.95 0.96 59
|
||||||
|
|
||||||
|
accuracy 0.98 540
|
||||||
|
macro avg 0.98 0.98 0.98 540
|
||||||
|
weighted avg 0.98 0.98 0.98 540
|
||||||
|
|
||||||
|
|
||||||
--- K-Means (mapped) ---
|
--- K-Means (mapped) ---
|
||||||
Accuracy: 0.794
|
Accuracy: 0.794
|
||||||
Adj. Rand: 0.667
|
Adj. Rand: 0.667
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ from sklearn.model_selection import train_test_split
|
|||||||
from sklearn.tree import DecisionTreeClassifier
|
from sklearn.tree import DecisionTreeClassifier
|
||||||
from sklearn.naive_bayes import GaussianNB
|
from sklearn.naive_bayes import GaussianNB
|
||||||
from sklearn.cluster import KMeans
|
from sklearn.cluster import KMeans
|
||||||
|
from sklearn.ensemble import RandomForestClassifier
|
||||||
from sklearn.metrics import accuracy_score, classification_report, adjusted_rand_score
|
from sklearn.metrics import accuracy_score, classification_report, adjusted_rand_score
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
@@ -64,6 +65,7 @@ def evaluate(name, dataset, target_names):
|
|||||||
for classifier_name, classifier in [
|
for classifier_name, classifier in [
|
||||||
("Decision Tree", DecisionTreeClassifier(random_state=42)),
|
("Decision Tree", DecisionTreeClassifier(random_state=42)),
|
||||||
("Naive Bayes", GaussianNB()),
|
("Naive Bayes", GaussianNB()),
|
||||||
|
("Random Forest", RandomForestClassifier(n_estimators=100, random_state=42)),
|
||||||
]:
|
]:
|
||||||
classifier.fit(X_train, y_train)
|
classifier.fit(X_train, y_train)
|
||||||
y_pred = classifier.predict(X_test)
|
y_pred = classifier.predict(X_test)
|
||||||
|
|||||||
Reference in New Issue
Block a user