二期:Combined Scorecards
from sklearn.neural_network import MLPClassifier'''
串行结构的组合模型
'''#随机从所有的变量种选取一部分构建神经网络模型
trainData_trial = trainData.copy()
randomSelectedFeatures = random.sample(WOE_IV_dict.keys(),20)
randomSelectedWOE = []
for var in randomSelectedFeatures:newVar = var+"_WOE"randomSelectedWOE.append(newVar)trainData_trial[newVar] = trainData_trial[var].map(lambda x: WOE_IV_dict[var]['WOE'][x])X_train = np.matrix(trainData_trial[randomSelectedWOE])
y_train = np.array(trainData_trial['label'])
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)
clf.fit(X_train, y_train)
pred_prob = clf.predict_proba(X_train)[:,1]# 神经网络的输出作为评分卡模型的输入
X_scorecard = X[featureSelected + ['intercept']]
X_scorecard['ANN'] = pred_probfeaturesEnsembled = ['ANN']
n = 0
while(n<len(finalFeatures)):nextVar = finalFeatures[n]featuresEnsembled = featuresEnsembled + [nextVar]X_train = X_scorecard[featuresEnsembled+['intercept']]logit = sm.Logit(y, X_train)logit_result = logit.fit()params = logit_result.paramsnonAnnParams = params[params.index != 'ANN']if max(nonAnnParams) < 0:n += 1continueelse:featuresEnsembled.remove(nextVar)n += 1trainData['log_odds_ensembled'] = logit_result.predict()
perf_model_combined = KS_AR(trainData, 'log_odds_ensembled', 'label')
# {'KS': 0.64722808021589284, 'AR': 0.68410884676888761}'''
异构并行模型
'''
#根据上一步的结果,未调优的神经网络模型的结果是 pred_prob
trainData['prob_ANN'] = pred_prob
trainData['log_odds_ANN'] = trainData['prob_ANN'].apply(lambda x: np.log(x/(1-x)))
w_list = [i/100.0 for i in range(1,100)]
perf_list = []
for w in w_list:trainData['prob_LR'] = trainData['log_odds'].apply(lambda x: 1.0/(1+np.exp(-x)))trainData['log_odds_combined_1'] = trainData[['log_odds_ANN','log_odds']].apply(lambda x: w*x.log_odds+(1-w)*x.log_odds_ANN,axis=1)perf_model_combined_2 = KS_AR(trainData, 'log_odds_combined_1', 'label')perf_list.append((w,perf_model_combined_2))
#{'KS': 0.64502685026357542, 'AR': 0.67523323096890819}'''
同构并行模型。采用神经网络
'''
#Bagging
train, test = train_test_split(trainData_trial, train_size=0.7)
total_pred = np.zeros(test.shape[0])
numberOfBagging = 10
for i in range(numberOfBagging):train2 = train.sample(frac = 0.6, replace = True)X_train = np.matrix(train2[randomSelectedWOE])y_train = np.array(train2['label'])clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)clf.fit(X_train, y_train)X_test = np.matrix(test[randomSelectedWOE])pred_prob = clf.predict_proba(X_test)[:, 1]pred_log_odds = np.log(pred_prob/(1-pred_prob))total_pred = total_pred + pred_log_odds
total_pred = total_pred/numberOfBagging
test['log_odds_bagging'] = total_pred
perf_model_combined_bagging = KS_AR(test, 'log_odds_bagging', 'label')
#{'KS': 0.6499313111659355, 'AR': 0.67769316320816442}X_train = np.matrix(train[randomSelectedWOE])
y_train = np.array(train['label'])
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)
clf.fit(X_train, y_train)
X_test = np.matrix(test[randomSelectedWOE])
pred_prob = clf.predict_proba(X_test)[:,1]
test['log_odds_single_ANN'] = pred_prob
perf_model_single_ANN = KS_AR(test, 'log_odds_single_ANN', 'label')
#{'KS': 0.64591434769055633, 'AR': 0.6705601450281512}
二期:Combined Scorecards相关推荐
- 分布式 java 应用:基础与实践_西研技术大讲堂第二期FRCS应用情况介绍及分布式技术平台能力应用实践...
为制定高质量的技术培训课程,营造崇尚技术的浓厚学习氛围,使研发部组建云计算.分布式框架.用数赋智等专业技术队伍,每周四晚,"西研技术大讲堂"开课啦!第一期<工银磐石(分布式技 ...
- 用Numpy搭建神经网络第二期:梯度下降法的实现
https://www.toutiao.com/a6696699352833851908/ 大数据文摘出品 作者:蒋宝尚 小伙伴们大家好呀~~用Numpy搭建神经网络,我们已经来到第二期了.第一期文摘 ...
- 2017 06 11 小分队二期两周总结
####学习爬虫近两周总结 #####我是第二期小分队的学员,当初错过了第一期的报名时间,没能有幸加入第一期小分队.在得知要开第二期时,果断的报名参加了. #####刚进入小分队时对python的语法 ...
- Android开发之移动互联网周刊第二期,不错,推荐给大家
Android开发之移动互联网周刊第二期,不错,推荐给大家 http://www.apkbus.com/zhoukan/2/index.html 转载于:https://blog.51cto.com/ ...
- 全连接条件随机场_最新:通沪铁路一期连接上海虹桥站和上海站,二期连接浦东机场和上海东站...
今天(5月30日),备受关注的通沪铁路运行试验取得圆满成功.针对广大网友关注的正式开通运营时间.沿路站点等信息,南通发布获得独家信息如下: 力争6月底具备开通条件 据中国铁路上海局集团有限公司透露 ...
- 孙正义太难了:去年亏125亿美元,15家投资公司要破产,二期愿景基金不得不暂停...
十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 125亿美元运营亏损,15家投资公司将破产,二期愿景基金按下暂停键-- 2020才过去第一季度,软银孙正义,就以其最差历史纪录,来竞逐最惨大 ...
- 漏洞分析技术专家聚会——博文视点OpenParty第二期
漏洞分析技术专家聚会--博文视点OpenParty第二期 与传说中的牛人面对面,与畅销书作者共话家常,与技术专家共商新概念-- 这不是天方夜谭! 2009年7月11日,好伦哥翠微店,博 ...
- navicat导数据速度_华为廊坊云数据中心二期1~3期主楼聚氨脂、聚脲防水隔热总承包工程...
2019年8月,广州华翔防腐科技有限公司做为华为廊坊云数据中心二期1~3期主楼聚氨脂.聚脲防水隔热总承包工程企业,正式开始部署该项目相关施工事项,秉着"一天也不耽误.一天也不懈怠" ...
- 第二期 AOSP 环境搭建、下载和编译 《手机就是开发板》遇到问题解决
第二期 AOSP 环境搭建.下载和编译 <手机就是开发板>遇到问题 编译通过,庆祝一下: 编译时需要注意事项 清华大学软件镜像站:repo从这里下载 https://mirror.tuna ...
最新文章
- PCL1.9的PCLConfig.cmake文件找不到eigen等外部依赖
- python使用缩进作为语法边界-python二级备考 day2
- panda 函数-处理空值
- 在IE7下使用Fiddler
- 二分法求近似根c语言程序,求一C++风格程序,用二分法求f(x)=0的根
- 用自定义注解做点什么——自定义注解有什么用
- Centos7 安装配置 tomcat 并设置自动启动
- 【华为云技术分享】【极客思考】设计模式:你确定你真的理解了单例模式吗?
- lvs web服务器不响应,lvs web服务器不响应
- C# A potentially dangerous 问题解决
- centos6.5 安装php-5.6.31
- 他是BAT 100万+年薪大数据专家,今天你可以免费学习他的内部课程,仅限100人...
- 推荐 System Repair Engineer(SREng)2.4.12.806 版本
- Aspose.Pdf 转图片的正确姿势
- 在VUE框架的WEB网页端播放海康威视RTSP视频流完全方案
- 抗击疫情 融云在行动
- 科学与信息化杂志科学与信息化杂志社科学与信息化编辑部2022年第15期目录
- 计算机专业英语中常见的前缀和后缀,专业英语词根与前后缀.ppt
- 你们知道怎么将图片转成ico? 小妙招分享给你
- windows快速回到桌面快捷键