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相关推荐

  1. 分布式 java 应用:基础与实践_西研技术大讲堂第二期FRCS应用情况介绍及分布式技术平台能力应用实践...

    为制定高质量的技术培训课程,营造崇尚技术的浓厚学习氛围,使研发部组建云计算.分布式框架.用数赋智等专业技术队伍,每周四晚,"西研技术大讲堂"开课啦!第一期<工银磐石(分布式技 ...

  2. 用Numpy搭建神经网络第二期:梯度下降法的实现

    https://www.toutiao.com/a6696699352833851908/ 大数据文摘出品 作者:蒋宝尚 小伙伴们大家好呀~~用Numpy搭建神经网络,我们已经来到第二期了.第一期文摘 ...

  3. 2017 06 11 小分队二期两周总结

    ####学习爬虫近两周总结 #####我是第二期小分队的学员,当初错过了第一期的报名时间,没能有幸加入第一期小分队.在得知要开第二期时,果断的报名参加了. #####刚进入小分队时对python的语法 ...

  4. Android开发之移动互联网周刊第二期,不错,推荐给大家

    Android开发之移动互联网周刊第二期,不错,推荐给大家 http://www.apkbus.com/zhoukan/2/index.html 转载于:https://blog.51cto.com/ ...

  5. 全连接条件随机场_最新:通沪铁路一期连接上海虹桥站和上海站,二期连接浦东机场和上海东站...

    今天(5月30日),备受关注的通沪铁路运行试验取得圆满成功.针对广大网友关注的正式开通运营时间.沿路站点等信息,南通发布获得独家信息如下:  力争6月底具备开通条件  据中国铁路上海局集团有限公司透露 ...

  6. 孙正义太难了:去年亏125亿美元,15家投资公司要破产,二期愿景基金不得不暂停...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 125亿美元运营亏损,15家投资公司将破产,二期愿景基金按下暂停键-- 2020才过去第一季度,软银孙正义,就以其最差历史纪录,来竞逐最惨大 ...

  7. 漏洞分析技术专家聚会——博文视点OpenParty第二期

    漏洞分析技术专家聚会--博文视点OpenParty第二期 与传说中的牛人面对面,与畅销书作者共话家常,与技术专家共商新概念--     这不是天方夜谭!     2009年7月11日,好伦哥翠微店,博 ...

  8. navicat导数据速度_华为廊坊云数据中心二期1~3期主楼聚氨脂、聚脲防水隔热总承包工程...

    2019年8月,广州华翔防腐科技有限公司做为华为廊坊云数据中心二期1~3期主楼聚氨脂.聚脲防水隔热总承包工程企业,正式开始部署该项目相关施工事项,秉着"一天也不耽误.一天也不懈怠" ...

  9. 第二期 AOSP 环境搭建、下载和编译 《手机就是开发板》遇到问题解决

    第二期 AOSP 环境搭建.下载和编译 <手机就是开发板>遇到问题 编译通过,庆祝一下: 编译时需要注意事项 清华大学软件镜像站:repo从这里下载 https://mirror.tuna ...

最新文章

  1. PCL1.9的PCLConfig.cmake文件找不到eigen等外部依赖
  2. python使用缩进作为语法边界-python二级备考 day2
  3. panda 函数-处理空值
  4. 在IE7下使用Fiddler
  5. 二分法求近似根c语言程序,求一C++风格程序,用二分法求f(x)=0的根
  6. 用自定义注解做点什么——自定义注解有什么用
  7. Centos7 安装配置 tomcat 并设置自动启动
  8. 【华为云技术分享】【极客思考】设计模式:你确定你真的理解了单例模式吗?
  9. lvs web服务器不响应,lvs web服务器不响应
  10. C# A potentially dangerous 问题解决
  11. centos6.5 安装php-5.6.31
  12. 他是BAT 100万+年薪大数据专家,今天你可以免费学习他的内部课程,仅限100人...
  13. 推荐 System Repair Engineer(SREng)2.4.12.806 版本
  14. Aspose.Pdf 转图片的正确姿势
  15. 在VUE框架的WEB网页端播放海康威视RTSP视频流完全方案
  16. 抗击疫情 融云在行动
  17. 科学与信息化杂志科学与信息化杂志社科学与信息化编辑部2022年第15期目录
  18. 计算机专业英语中常见的前缀和后缀,专业英语词根与前后缀.ppt
  19. 你们知道怎么将图片转成ico? 小妙招分享给你
  20. windows快速回到桌面快捷键

热门文章

  1. 线段树入门之夜空星亮
  2. 判断标题不为空(包含空格)
  3. 解读ACL2020的一篇机器阅读理解方向的论文(Recurrent Chunking Mechanisms for Long-text machine reading comprehension)
  4. 经验说丨华为云视频Cloud Native架构下实践
  5. 【设计模式02】 抽象工厂模式
  6. 极限、可导、可微、连续之间的关系
  7. Python实现的《桌面视频壁纸程序 Mili Wallpaper》
  8. idea连接远程主机
  9. 用例建模指南lt;二gt;
  10. 不管几岁,少女心万岁~女神节快乐!