信用卡欺诈案例
数据集下载地址
https://storage.googleapis.com/download.tensorflow.org/data/creditcard.csv
参考不平衡数据的分类
资料下载
文章目录
只进行特征衍生,未进行数据标准化、上才样处理数据不平衡问题,得到的准确率和召回率居然很高
import pandas as pd
pd.set_option('display.float_format',lambda x: '%.2f' %x)
data = pd.read_csv('C:/Users/Administrator/Downloads/creditcard.csv')
data.head()
如果不处理数据不平衡问题,进行过采样,召回率只有0.64了结果如下
import pandas as pd
pd.set_option('display.float_format',lambda x: '%.2f' %x)
data = pd.read_csv('C:/Users/Administrator/Downloads/creditcard.csv')
data['Hour'] = data['Time'].apply(lambda x : divmod(x,3600)[0])
feature = list(data.columns)
feature.remove('Class')
feature.remove('Time')
X = data[feature]
y = data['Class']
display(X.head(),y.head())
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X,y)
y_ = model.predict(X)
from sklearn.metrics import auc,roc_auc_score,roc_curve,recall_score,accuracy_score,classification_report,confusion_matrix
print('LogisticRegression准确率是:',accuracy_score(y,y_))
cm = confusion_matrix(y,y_)
recall = cm[1,1]/(cm[1,1