classifier=clr_bayes.classifier,
                                     k_fold=K)

print("----- Naive Bayes Classification -----")
print("{} Folds Mean Accuracy: {}".format(K, kfp.accuracy()))
print("{} Folds Mean Recall: {}".format(K, kfp.recall()))
print("{} Folds Mean Precision: {}".format(K, kfp.precision()))
print("{} Folds Mean F1-Score: {}".format(K, kfp.f_score()))

# Visualization
import HappyML.model_drawer as md

md.classify_result(x=X_train,
                   y=Y_train,
                   classifier=clr_bayes.classifier,
                   fg_color=("orange", "blue", "white"),
                   bg_color=("red", "green", "black"),
                   title="訓練集 vs. 貝氏模型",
                   font="DFKai-sb")
md.classify_result(x=X_test,
                   y=Y_test,
                   classifier=clr_bayes.classifier,
                   fg_color=("orange", "blue", "white"),
                   bg_color=("red", "green", "black"),
                   title="測試集 vs. 貝氏模型",
                   font="DFKai-sb")

# In[] SVM without GridSearch

# # from sklearn.svm import SVC
# # import time
# In[] Logistic Regression with HappyML's Class
from HappyML.regression import LogisticRegressor
from HappyML.performance import ClassificationPerformance

# Training & Predict
regressor = LogisticRegressor()
Y_predict = regressor.fit(X_train, Y_train).predict(X_test)

# Performance
pfm = ClassificationPerformance(Y_test, Y_predict)

print("Confusion Matrix:\n", pfm.confusion_matrix())
print("Accuracy: {:.2%}".format(pfm.accuracy()))
print("Recall: {:.2%}".format(pfm.recall()))
print("Precision: {:.2%}".format(pfm.precision()))
print("F1-score: {:.2%}".format(pfm.f_score()))

# In[] Visualize the Result
import HappyML.model_drawer as md

md.classify_result(x=X_train,
                   y=Y_train,
                   classifier=regressor.regressor,
                   title="訓練集樣本點 vs. 模型",
                   font="DFKai-sb")
md.classify_result(x=X_test,
                   y=Y_test,
                   classifier=regressor.regressor,
                   title="測試集樣本點 vs. 模型",
                   font="DFKai-sb")
Exemple #3
0
X = selector.fit(x_ary=X, y_ary=Y, verbose=True, sort=True).transform(x_ary=X)

X_train, X_test, Y_train, Y_test = pp.split_train_test(x_ary=X, y_ary=Y)

X_train, X_test = pp.feature_scaling(fit_ary=X_train, transform_arys=(X_train, X_test))

regressor = LogisticRegressor()
Y_pred = regressor.fit(X_train, Y_train).predict(X_test)

pfm = ClassificationPerformance(Y_test, Y_pred)

print("Confusion Matrix:\n", pfm.confusion_matrix())
print("Accuracy: {:.2%}".format(pfm.accuracy()))
print("Recall: {:.2%}".format(pfm.recall()))
print("Precision: {:.2%}".format(pfm.precision()))
print("F1-score: {:.2%}".format(pfm.f_score()))

selector = pp.KBestSelector(best_k=2)
X = selector.fit(x_ary=X, y_ary=Y, sort=True).transform(x_ary=X)

X_train = selector.transform(X_train)
X_test = selector.transform(X_test)

regressor = LogisticRegressor()
Y_pred = regressor.fit(X_train, Y_train).predict(X_test)

md.classify_result(x=X_train, y=Y_train, classifier=regressor.regressor,
                    title="訓練集樣本點 vs. 模型", font="Microsoft JhengHei")
md.classify_result(x=X_test, y=Y_test, classifier=regressor.regressor,
                    title="測試集樣本點 vs. 模型", font="Microsoft JhengHei")
#recalls = cross_val_score(estimator=classifier.classifier, X=X, y=Y.values.ravel(), scoring="recall", cv=k_fold, n_jobs=-1)
#print("{} Folds Mean Recall: {}".format(k_fold, recalls.mean()))
#
#precisions = cross_val_score(estimator=classifier.classifier, X=X, y=Y.values.ravel(), scoring="precision", cv=k_fold, n_jobs=-1)
#print("{} Folds Mean Precision: {}".format(k_fold, precisions.mean()))
#
#f_scores = cross_val_score(estimator=classifier.classifier, X=X, y=Y.values.ravel(), scoring="f1", cv=k_fold, n_jobs=-1)
#print("{} Folds Mean F1-Score: {}".format(k_fold, f_scores.mean()))

from HappyML.performance import KFoldClassificationPerformance

K = 10
kfp = KFoldClassificationPerformance(x_ary=X, y_ary=Y, classifier=classifier.classifier, k_fold=K, verbose=False)

print("{} Folds Mean Accuracy: {}".format(K, kfp.accuracy()))
print("{} Folds Mean Recall: {}".format(K, kfp.recall()))
print("{} Folds Mean Precision: {}".format(K, kfp.precision()))
print("{} Folds Mean F1-Score: {}".format(K, kfp.f_score()))

# In[] Visualization
import HappyML.model_drawer as md

md.classify_result(x=X_train, y=Y_train, classifier=classifier, title="訓練集 vs. 模型", font='DFKai-sb')
md.classify_result(x=X_test, y=Y_test, classifier=classifier, title="測試集 vs. 模型", font='DFKai-sb')

# In[] Check for Variables Independence
from HappyML.criteria import AssumptionChecker

checker = AssumptionChecker(x_train=X_train, x_test=X_test, y_train=Y_train, y_test=Y_test, y_pred=Y_pred)
checker.features_correlation(heatmap=True)
Exemple #5
0
X_train, X_test = pp.feature_scaling(fit_ary=X_train, transform_arys=(X_train, X_test))

classifier = NaiveBayesClassifier()
Y_pred = classifier.fit(X_train, Y_train).predict(X_test)

K = 10
Kfp = KFoldClassificationPerformance(X, Y, classifier.classifier, K)

print("{} Folds Mean Accuracy: {}".format(K, Kfp.accuracy()))
print("{} Folds Mean Recall: {}".format(K, Kfp.recall()))
print("{} Folds Mean Precision: {}".format(K, Kfp.precision()))
print("{} Folds Mean F1-Score: {}".format(K, Kfp.f_score()))

checker = AssumptionChecker(X_train, X_test, Y_train, Y_test, Y_pred)
checker.features_correlation()

selector = pp.KBestSelector(best_k=2)
X = selector.fit(X, Y, False, True).transform(X)

X_train = selector.transform(X_train)
X_test = selector.transform(X_test)

X_train, X_test = pp.feature_scaling(fit_ary=X_train, transform_arys=(X_train, X_test))

classifier = NaiveBayesClassifier()
Y_pred = classifier.fit(X_train, Y_train).predict(X_test)

md.classify_result(x=X_train, y=Y_train, classifier=classifier, title="訓練集 vs. 模型", font="Microsoft JhengHei")
md.classify_result(x=X_test, y=Y_test, classifier=classifier, title="測試集 vs. 模型", font="Microsoft JhengHei")