Binary-Classification / Python / Classifiers / features_classifiers.py
features_classifiers.py
Raw
import pandas as pd
from sklearn.utils import shuffle
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, recall_score,  precision_score, f1_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.gaussian_process.kernels import RBF
from sklearn import svm
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import confusion_matrix
df = pd.read_csv('n7point.csv')
data=shuffle(df)
X = data.drop("class", axis=1)
y = data["class"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=43)
#random forest
classifier1 = RandomForestClassifier(n_estimators=100, criterion='entropy')
classifier1.fit(X_train, y_train)
y_pred = classifier1.predict(X_test)
print("Accuracy random forest accuracy:", accuracy_score(y_test, y_pred))
print("recall_score random forest :", recall_score(y_test, y_pred))
print("precision_score random forest:", precision_score(y_test, y_pred))
print("pf1_score random forest:", f1_score(y_test, y_pred))
print("confuzion matrix random forest",confusion_matrix(y_test, y_pred))
######### KNN
classifier2 = KNeighborsClassifier(n_neighbors=5,weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski')
classifier2.fit(X_train, y_train)
y_pred = classifier2.predict(X_test)
print("Accuracy KNN:", accuracy_score(y_test, y_pred))
print("recall random forest  knn:", recall_score(y_test, y_pred))
print("precision_score knn:", precision_score(y_test, y_pred))
print("pf1_score knn:", f1_score(y_test, y_pred))
print("confuzion matrix knn",confusion_matrix(y_test, y_pred))

######### AdaBoost
kernel = 1.0 * RBF(1.0)
classifier3 = AdaBoostClassifier(n_estimators=100, algorithm='SAMME', random_state=40)
classifier3.fit(X_train, y_train)
y_pred = classifier3.predict(X_test)
print("Accuracy adaBoost:", accuracy_score(y_test, y_pred))
print("recall adaBoost forest :", recall_score(y_test, y_pred))
print("precision_score adaBoost:", precision_score(y_test, y_pred))
print("pf1_score adaBoost:", f1_score(y_test, y_pred))
print("confuzion matrix adaBoost",confusion_matrix(y_test, y_pred))
####gaussian NB
classifier4 = GaussianNB(priors=None, var_smoothing=1e-09)
classifier4.fit(X_train, y_train)
y_pred = classifier4.predict(X_test)
print("Accuracy gaussian NB:", accuracy_score(y_test, y_pred))
print("recall random gaussian NB :", recall_score(y_test, y_pred))
print("precision_score gaussian NB:", precision_score(y_test, y_pred))
print("pf1_score gaussian NB:", f1_score(y_test, y_pred))
print("confuzion matrix NB",confusion_matrix(y_test, y_pred))
#DT
classifierDT = DecisionTreeClassifier(criterion='entropy', splitter='best', max_depth=100, ccp_alpha=0.0)
classifierDT.fit(X_train, y_train)
y_pred = classifierDT.predict(X_test)
print("DT:", accuracy_score(y_test, y_pred))
print("recall DT:", recall_score(y_test, y_pred))
print("precision_score DT:", precision_score(y_test, y_pred))
print("pf1_score gaussian DT:", f1_score(y_test, y_pred))
print("confuzion matrix DT",confusion_matrix(y_test, y_pred))

#svm
classifier7 = svm.SVC(degree=2, gamma='scale', cache_size=100, decision_function_shape='ovo')
classifier7.fit(X_train, y_train)
y_pred = classifier7.predict(X_test)
print("svm:", accuracy_score(y_test, y_pred))
print("recall svm:", recall_score(y_test, y_pred))
print("precision_score svm:", precision_score(y_test, y_pred))
print("pf1_score gaussian svm:", f1_score(y_test, y_pred))
print("confuzion matrix svm",confusion_matrix(y_test, y_pred))
`