Я подтвердил, что это работает с Gaussian Naiive Bayes, но при использовании почти идентичного кода. фреймворки с классификатором дерева решений, я получаю совершенно другие значения. кто-нибудь еще сталкивался с этим? Вы видите, что не так с моим кодом?
Это код для запуска недифференцированного частного дерева решений с использованием scikitlearn, он отлично работает.
Код: Выделить всё
# Import necessary packages
import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import confusion_matrix
import diffprivlib as dp
# Open and read the data into a dataframe
train = pd.read_csv('train.csv', index_col=0)
test = pd.read_csv('test.csv', index_col=0)
# X are the independent variables, y are the dependent variables.
X_train = train.drop(['is_fraud'], axis=1)
y_train = train['is_fraud']
X_test = test.drop(['is_fraud'], axis=1)
y_test = test['is_fraud']
# Build a Decision Tree Classifier
dt = DecisionTreeClassifier(random_state=42)
# Model training
dt.fit(X_train, y_train)
# Predict Output
y_pred_dt = dt.predict(X_test)
# Output metrics
print(confusion_matrix(y_test, y_pred_dt))
Код: Выделить всё
[[553574 0]
[ 0 2145]]
Код: Выделить всё
# Build a Decision Tree Classifier
DPdt = dp.models.DecisionTreeClassifier(random_state=42, epsilon=np.inf)
# Model training
DPdt.fit(X_train, y_train)
# Predict Output
y_pred_DPdt = DPdt.predict(X_test)
# Output metrics
print(confusion_matrix(y_test, y_pred_DPdt))
Код: Выделить всё
[[553574 0]
[ 1787 358]]
Подробнее здесь: https://stackoverflow.com/questions/786 ... g-accuracy