qq_42624926 2020-06-02 01:36 采纳率: 0%
浏览 273

怎么用朴素贝叶斯对信用评估的研究,代码问题如下

## # 写了一个代码,但是在jupyter notebook上修改一个字符都会报错是什么原因,还有我的代码可能不够完善,请各位大佬看到指点一一下

#%%

导包

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn import datasets, model_selection, naive_bayes,metrics
import sklearn.metrics as metrics
import matplotlib.pyplot as plt
import numpy as np

#读数据
data = pd.read_csv('./cs-training.csv')
x = data[data.columns[1:]]
y = data['SeriousDlqin2yrs']

#标准化
sc_p = StandardScaler()
x = sc_p.fit_transform(x)

#划分测试集和验证集 因为你的test那个文件没有label,没法用来画roc,所以这里对训练集进行划分,分出一部分来当验证集,以验证模型性能和画roc
X_train, X_test, y_train, y_test = train_test_split(x,y,test_size=0.3,random_state=0)
print("训练集大小:",len(X_train))
print("验证集大小:",len(X_test))

GaussianNB 训练部分

cls = naive_bayes.GaussianNB()
cls.fit(X_train, y_train)
print('GaussianNB Training Score: %.2f' % cls.score(X_train, y_train))
print('GaussianNB Testing Score: %.2f' % cls.score(X_test, y_test))

#输出验证集预测label
y_predict = cls.predict(X_test)

#计算roc需要的指标,并画出roc曲线,并得到auc值
fpr, tpr, threshold = metrics.roc_curve(y_test, y_predict)
rocauc = metrics.auc(fpr, tpr)#计算AUC
plt.plot(fpr, tpr, 'b', label='AUC = %0.2f' % rocauc)#生成ROC曲线
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], 'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.ylabel('真正率')
plt.xlabel('假正率')
plt.show()

#%%

GaussianNB 训练部分

cls = naive_bayes.GaussianNB()
cls.fit(X_train, y_train)
print('GaussianNB Training Score: %.2f' % cls.score(X_train, y_train))
print('GaussianNB Testing Score: %.2f' % cls.score(X_test, y_test))

#输出验证集预测label
y_predict = cls.predict(X_test)

#计算roc需要的指标,并画出roc曲线,并得到auc值
fpr, tpr, threshold = metrics.roc_curve(y_test, y_predict)
rocauc = metrics.auc(fpr, tpr)#计算AUC
plt.plot(fpr, tpr, 'b', label='AUC = %0.2f' % rocauc)#生成ROC曲线
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], 'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.ylabel('真正率')
plt.xlabel('假正率')
plt.show()


  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧