信贷风控实战:从零搭建评分卡模型的5个关键步骤(附Python代码)

(信贷风控七)申请评分卡模型Python实现(图文+代码实现) (七)申请评分卡模型Python实现(图文+代码实现) 贷前准入环节流程图大致如下 为什么需要建立评分卡? 所有的模型一定是服务于业务的,那么业务上到底出现了什么问题,需要用到评分卡模型去解决呢?我们先从金融机构传统定价模式说起。 我们知道银行将钱借出去是要收取利息的,那么收取多少利息是合理的呢? 利息的本质是租金,银行借钱给客户,客户获得了一定时间内这笔钱的使用权,从而需要支付租金... 阅读详情

信贷风控实战:从零搭建评分卡模型的5个关键步骤(附Python代码)

在金融科技领域,评分卡模型是风险管理的核心工具之一。不同于传统理论教程,本文将聚焦于工程实践中的关键痛点,通过可复现的Python代码演示如何构建具备业务解释性的评分卡系统。我们从真实业务场景出发,拆解样本定义、特征工程、模型可解释性等实操难点。

1. 样本定义与数据准备

评分卡建模的第一步是明确定义好坏样本。在实际业务中,这往往比算法选择更重要。我们以消费金融场景为例:

import pandas as pd
import numpy as np

# 加载原始还款数据
repay_df = pd.read_csv('repayment_records.csv', parse_dates=['due_date', 'repay_date'])

# 定义好坏样本(DPD15+为坏客户)
repay_df['overdue_days'] = (repay_df['repay_date'] - repay_df['due_date']).dt.days
repay_df['bad_flag'] = np.where(repay_df['overdue_days'] >= 15, 1, 
                               np.where(repay_df['overdue_days'] <= 5, 0, np.nan))

# 剔除灰样本(DPD5-15天)
clean_df = repay_df.dropna(subset=['bad_flag']).copy()

关键注意事项:

  • 观察期与表现期匹配:通常观察期12个月对应表现期3个月
  • 样本代表性:新客/老客比例应与实际业务一致
  • 排除特殊用户:欺诈用户、测试账户等需预先过滤

提示:样本量建议至少1500个好样本和1500个坏样本,当总量超过5万时可考虑分层抽样

2. 特征工程实战技巧

特征质量直接决定模型上限。我们从原始数据中构建三类特征:

2.1 基础特征提取

# 用户静态特征
static_features = ['age', 'education', 'city_level']

# 行为序列特征(RFM框架)
def create_rfm_features(df):
    # Recency
    df['last_loan_days'] = (pd.to_datetime('today') - df['last_loan_date']).dt.days
    
    # Frequency
    df['loan_count_3m'] = df.groupby('user_id')['loan_id'].transform('count')
    
    # Monetary
    df['avg_loan_amount'] = df.groupby('user_id')['loan_amount'].transform('mean')
    return df

2.2 特征评估矩阵

我们使用IV值(Information Value)评估特征区分度:

特征名称IV值业务解释
last_loan_days0.52最近借款时间越近风险越低
avg_loan_amount0.38借款金额与风险正相关
city_level0.21城市等级影响还款能力

筛选标准:

  • IV < 0.02:无预测力
  • 0.02 ≤ IV < 0.1:弱预测力
  • IV ≥ 0.1:强预测力

3. 模型训练与评分卡转换

逻辑回归因其可解释性成为评分卡首选算法:

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# 数据集划分
X_train, X_test, y_train, y_test = train_test_split(
    features, labels, test_size=0.3, stratify=labels)

# 训练逻辑回归模型
lr_model = LogisticRegression(penalty='l1', solver='liblinear')
lr_model.fit(X_train, y_train)

# 模型评估
from sklearn.metrics import roc_auc_score
print(f"Train AUC: {roc_auc_score(y_train, lr_model.predict_proba(X_train)[:,1]):.3f}")
print(f"Test AUC: {roc_auc_score(y_test, lr_model.predict_proba(X_test)[:,1]):.3f}")

评分卡转换公式:

Score = Offset + Factor * ln(odds)
其中 odds = p/(1-p)

4. 模型监控体系搭建

上线后的监控比建模更重要,核心监控指标:

  1. PSI(Population Stability Index)

    def calculate_psi(expected, actual, bins=10):
        # 分箱计算分布差异
        breakpoints = np.percentile(expected, np.linspace(0,100,bins+1))
        expected_perc = np.histogram(expected, breakpoints)[0]/len(expected)
        actual_perc = np.histogram(actual, breakpoints)[0]/len(actual)
        return np.sum((expected_perc - actual_perc) * np.log(expected_perc/actual_perc))
    
  2. 跨时间KS曲线对比

    • 每周计算测试集KS值
    • 监控波动范围(±5%为正常)

5. 业务规则与模型融合

评分卡需与规则引擎协同工作:

决策流设计:

  1. 硬规则过滤(黑名单、身份核验失败)
  2. 评分卡评估(600分以下拒绝)
  3. 人工复核(550-600分区间)
# 规则引擎示例
def rule_engine(user_data):
    if user_data['in_blacklist']:
        return 'Reject'
    elif user_data['score'] < 600:
        return 'Reject'
    elif 550 <= user_data['score'] < 600:
        return 'Manual Review'
    else:
        return 'Approve'

实际项目中,我们发现在小额现金贷场景,将行为评分卡(B卡)与实时交易监控规则结合,能使逾期率降低40%。特别是在首贷用户中,基于设备指纹的反欺诈规则拦截了75%的恶意欺诈申请。

(信贷风控十三)GBDT模型用于申请评分卡模型python实现(代码实现) (十三)GBDT模型用于评分卡模型python实现 前一篇我们已经介绍了GBDT模型用于评分卡模型的原理(理论) https://blog.youkuaiyun.com/LuYi_WeiLin/article/details/88314746 这篇博客附上GBDT模型用于评分卡模型python实现的代码 (之前已经有一篇运用逻辑回归实现申请评分卡的文章https://blog.youkuaiyun.com/LuY... 阅读详情

相关推荐

GiveMeSomeCredit——信用评分卡模型

如今在银行、消费金融公司等各种贷款业务机构,普遍使用信用评分,对客户实行打分制,以期对客户有一个优质与否的评判。评分卡分为三类分别为:A卡(Application score card)申请评分卡B卡(Behavior score card)行为评分卡C卡(Collection score card)催收评分卡评分机制的区别在于:1.使用的时间不同。分别侧重贷前、贷中、贷后;2.数据要求不同。A卡...

zpxcod007的博客 1万+

Toad:基于 Python 的标准化评分卡模型

大家好,我是东哥。 在信贷的风控模型中最常用、最经典的可能要属评分卡了,所谓评分卡就是给信贷客户进行打分,按照不同业务场景可为贷前、贷中、贷后和反欺诈,一般叫做ABCF卡。模型得到分数,通过设置cutoff阈值给出评估结果,结果可直接用于通过或拒绝,或者用于策略应用。 区别于xgb等机器学习模型,评分卡使用逻辑回归,之所是还在使用时因为它属于广义线性回归,在特征的解释性上非常的强。 本次和大家分享一个开源的评分卡神器toad。从数据探索、特征分箱、特征筛选、特征WOE变换、建模、模型评估、转换分数,都做了完

Python数据科学 9044

1.10 评分卡模型构建实战:WOE、IV值计算,信贷违约预测完整流程

本文介绍了评分卡模型在金融风控领域的应用,重点讲解了WOE转换、IV值计算和字段分箱等核心技术。评分卡模型具有可解释性强、业务友好、部署简单等优势。文章详细阐述了WOE的定义与计算方法,并提供了Python实现代码,包括分箱统计、WOE/IV值计算和解释。通过完整的信贷违约预测案例,展示了评分卡模型的构建流程,帮助读者掌握这一经典风控模型的核心技术。评分卡模型满足金融监管要求,是风险管理的有效工具。

yonggeit的博客 4140

Toad:一款基于 Python 的开源评分卡神器

在信贷的风控模型中最常用、最经典的可能要属评分卡了,所谓评分卡就是给信贷客户进行打分,按照不同业务场景可为贷前、贷中、贷后和反欺诈,一般叫做ABCF卡。模型得到分数,通过设置cutoff阈值给出评估结果,结果可直接用于通过或拒绝,或者用于策略应用。 区别于 xgb 等机器学习模型,评分卡使用逻辑回归,之所是还在使用时因为它属于广义线性回归,在特征的解释性上非常的强。 今天我给大家分享一个开源的评分卡神器toad。从数据探索、特征分箱、特征筛选、特征WOE变换、建模、模型评估、转换分数,都做了完美的包装,可以

Python学习与数据挖掘 9994

基于Python的信用评分卡模型分析(强烈推荐)

信用风险计量体系包括主体评级模型和债项评级两部分。主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用“四张卡”来表示,分别是A卡、B卡、C卡和F卡;债项评级模型通常按照主体的融资用途,分为企业融资模型、现金流融资模型和项目融资模型等。 我们主要讨论主体评级模型的开发过程。 一、项目流程 典型的信用评分模型如图1-1所示。信用风险评级模型的主要开发流程如下: (1) 数据获取,包括获取存量客户及潜在客户的数据。存量客户是指已经在证券公司开展相关融资类业务的客户,包括个人客户和机构客户;潜在客户是指

fulk6667g78o8的专栏 9067

逻辑回归评分卡与XGBoost在信贷风控中的协同落地实践

信用评分模型是金融AI落地的核心场景,其本质是在可解释性、预测精度与监管合规之间寻求动态平衡。逻辑回归评分卡凭借WOE转换、线性可追溯和业务语言对齐能力,成为监管审计与客户沟通的基石;而XGBoost等机器学习模型则通过自动特征交互与非线性拟合,在漏判率与误拒率上带来实质性业务收益。技术价值不仅体现在AUC提升,更在于降低坏账损失、挽回优质客户及支撑实时审批。典型应用场景包括银行贷前审批、监管现场检查应答、客服可解释拒贷响应及混合模型分层决策系统。本文聚焦‘Towards AI’趋势下,如何让逻辑回归与XG

a1311010193的博客 499

讲透金融风控建模全流程(附 Python 代码)

信贷风控是数据挖掘算法最成功的应用之一,这在于金融信贷行业的数据量很充足,需求场景清晰及丰富。信贷风控简单来说就是判断一个人借了钱后面(如下个月的还款日)会不会按期还钱。更专业来说,信贷风控是还款能力及还款意愿的综合考量,根据这预先的判断为信任依据进行放贷,以此大大提高了金融业务效率。本文内容较长,喜欢记得收藏、点赞。 与其他机器学习的工业场景不同,金融是极其厌恶风险的领域,其特殊性在于非常侧重模型的解释性及稳定性。业界通常的做法是基于挖掘多维度的特征建立一套可解释及效果稳定的规则及风控模型对每笔订单/用户

机器学习社区 6315

python评分卡建模_智能风控:Python金融风险管理与评分卡建模

推荐序前言章信用管理基础/11.1信用与管理/21.2风控术语解读/31.2.1信贷基础指标/41.2.2信贷风险指标/51.3企业信贷风控架构/71.4本章小结/10第2章评分卡/112.1评分卡概念/122.1.1适用客群/132.1.2用途/142.2建模流程/152.3模型设计/16推荐序前言章信用管理基础/11.1信用与管理/21.2风控术语解读/31.2.1信贷基础指标/41.2.2信...

weixin_39637921的博客 1525

信贷风控评分卡模型(上)_Give Me Some Credit(技术实现过程)

本帖是在2019年5月初入门python之时,选取的较为系统的练手案例,主要内容是信用风险计量体系之主体评级模型的开发过程(可用“四张卡”来表示,分别是A卡、B卡、C卡和F卡)。 如今再回顾,结合前几月股票市场被割韭菜的切身体会,应该能应用这个模型来做股票市场的风险评级模型分析/收益评级模型分析。已经跃跃欲试了。 ——2020.11.6补充说明

SophiaSSS的博客 9158

智能风控建模全流程--看这篇就够了

信贷风控是数据挖掘算法最成功的应用之一,这在于金融信贷行业的数据量很充足,需求场景清晰及丰富。信贷风控简单来说就是判断一个人借了钱后面(如下个月的还款日)会不会按期还钱。更专业来说,信贷风控是还款能力及还款意愿的......

《人工智能原理与实践》作者 4275

逻辑回归三部曲——逻辑回归项目实战(信贷数据+Python代码实现)

用Python实现逻辑回归建模

阿黎逸阳的博客 5832

python风控建模实战lendingClub

《python风控建模实战lendingClub》视频教程:http://dwz.date/b626 (博主原创录制) 作者Toby:持牌照消费金融模型专家,和中科院,中科大教授保持长期项目合作;和同盾,聚信立等外部数据源公司有项目对接。熟悉消费金融场景业务,线上线下业务,包括现金贷,商品贷,医美,反欺诈,汽车金融等等。模型项目200+,擅长Python机器学习建模,对于变量筛选,衍生变量构造,变量缺失率高,正负样本不平衡,共线性高,多算法比较,调参等疑难问题有良好解决方法。 (原创课程,版权所有,项目合

toby001111的博客 7474

《商用密码应用与安全性评估》第四章密码应用安全性评估实施要点4.1密码应用方案设计

密码应用方案设计

qq_40442137的博客 1475

python信用评分卡建模(附代码)

信用风险计量模型可以包括跟个人信用评级,企业信用评级和国家信用评级。人信用评级有一系列评级模型组成,常见是A卡(申请评分卡)、B卡(行为模型)、C卡(催收模型)和F卡(反欺诈模型)。 今天我们展示的是个人信用评级模型的开发过程,数据采用kaggle上知名的give me some credit数据集。 一、项目流程 典型的信用评分卡模型如图1-1所示。信用风险评级模型的主要开发流程如下: (1) 获取数据,包括申请贷款客...

toby001111的博客 9048

AI Agent Harness自动化漏洞扫描

本文要介绍的AI Agent Harness自动化漏洞扫描方案,正是为了解决传统漏扫的上述痛点而生。漏洞检出率提升35%以上,逻辑漏洞检出率从不足30%提升到92%误报率从27%降到3%以下,人工复核成本降低90%支持自定义业务系统、IoT、工控等多场景资产扫描,适配成本降低80%内置反馈学习机制,扫描效果越用越好AI Agent是指具备自主感知、决策、行动能力的大模型驱动程序,它可以根据给定的目标,自主调用工具、规划步骤、完成任务。

AI 原生应用开发的博客 473

天气预测模型:基于时间序列分析的数学建模与实战案例

目录引言时间序列分析介绍使用Matlab进行天气预测实战案例:天气预测结论天气预测一直是气象学和相关领域的重要研究问题之一。数学建模是进行天气预测的有效方法之一,其中时间序列分析是常用的技术。在本篇博客中,我们将介绍时间序列分析的基本原理,演示如何使用Matlab进行模型建立和预测,并通过一个实战案例来展示模型的应用和分析。时间序列分析是一种用于分析和预测时间序列数据的统计方法。天气数据通常具有时间依赖性和随机性,因此时间序列分析可以帮助我们了解天气的变化趋势和规律,并提供对未来天气的预测。时间序列分析通常

YOLO 1547

评分卡模型python实现

在公众号「python风控模型」里回复关键字:学习资料,就可免费领取。 python风控模型 持牌照金融公司模型专家,教学主页 https://ke.qq.com/teacher/231469242?tuin=dcbf0

fulk6667g78o8的专栏 1万+

Linux ARM平台开发系列讲解(调试篇) 1.6.4 NVIDIA AGX Xavier以太网MAC TO MAC模式

内核发展了那么多年,早已经将这种场景集成到了内核里,具体添加方式如下,本次针对。具体详细描述,可参考本专栏的网络篇和交换机篇,这里就简单的提一句,想要使用。速率和双工状态固定死,使其和交换机的模式一模一样,双方就可以建立通信了。2. MAC TO MAC原理。3. 开启无PHY模式进入内核。模式,本章节记录调试过程。模式,简单来说就是字面意思,以太网部分需要与交换机。,其他芯片也是一样的。修改设备树文件,将与。

DSMGUOGUO的博客 1530

信贷风控实战:如何用Python构建你的第一个信用评分卡(附完整代码)

本文详细介绍了如何使用Python构建信用评分卡,涵盖数据预处理、特征工程、模型训练与评估全流程。通过逻辑回归和集成学习模型(如XGBoost和LightGBM)的实战演示,帮助读者掌握信贷风控中的核心工具,并提供完整代码示例。文章还探讨了评分卡转换、模型部署与监控等关键环节,适合金融风控从业者和数据科学爱好者学习参考。

weixin_29231725的博客 130

DICOM标准:DICOM医学影像中的覆盖层(Overlay)概念详解

DICOM标准:深入详解DICOM医学影像中的覆盖层(Overlay)

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 1564

YOLOv8【第十二章:数据增强与数据工程篇·第10节】主动学习(Active Learning):如何挑选最有价值的样本进行标注!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 509

python评分卡模型

信用风险计量模型可以包括跟个人信用评级,企业信用评级和国家信用评级。人信用评级有一系列评级模型组成,常见是A卡(申请评分卡)、B卡(行为模型)、C卡(催收模型)和F卡(反欺诈模型)。 今天我们展示的是个人信用评级模型的开发过程,数据采用kaggle上知名的give me some credit数据集。 一、建模流程 典型的信用评分卡模型如图1-1所示。信用风险评级模型的主要开发流程如下: (1) 获取数据,包括申请贷款客...

fulk6667g78o8的专栏 3277

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

真香啊,一文讲透金融风控建模全流程(Python)

信贷风控是数据挖掘算法最成功的应用之一,这在于金融信贷行业的数据量很充足,需求场景清晰及丰富。信贷风控简单来说就是判断一个人借了钱后面(如下个月的还款日)会不会按期还钱。更专业来说,信贷风控是还款能力及还款意愿的综合考量,根据这预先的判断为信任依据进行放贷,以此大大提高了金融业务效率。与其他机器学习的工业场景不同,金融是极其厌恶风险的领域,其特殊性在于非常侧重模型的解释性及稳定性。业界通常的做法是基于挖掘多维度的特征建立一套可解释及效果稳定的规则及风控模型对每笔订单/用户/行为做出判断决策。其中,对于(贷前

Python学习与数据挖掘 3774

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 时间序列异常检测避坑指南:为什么你的算法总误报?(附调参技巧)
下一篇: Mapbox矢量瓦片实战:从零搭建一个动态地图渲染应用(附完整代码)
vim8coder
博客等级 码龄1天 0粉丝 1693原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值