自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 python try-except-else 异常捕捉

try-except-else代码块的工作原理大致如下:Python尝试执行try代码块中的代码,只有可能引发异常的代码才需要放在try语句中。有时候,有一些仅在try代码块成功执行时才需要运行的代码,这些代码应该放在else代码块中。except代码块告诉python,如果它尝试运行try代码块中的代码时引发了指定的异常,该怎么办。通过预测可能发生错误的代码,可编写健壮的程序,它们即便面临无效数据或缺少资源,也能继续运行,从而能够抵御无意的用户错误和恶意的攻击。print("Give me tw

2021-03-30 17:32:08 204

原创 pycharm 运行和终端运行的运行目录不一样?

RT可以通过os.chdir()将终端运行的目录和pycharm文件运行目录保持一致

2021-03-30 10:51:34 1461

原创 python 知识点汇总

在学习python 过程中,很多用法,大家都知道可以这样用,不能那么用,但是很多时候,为啥么不能那么用,关心的人不多,知其所以然,对于学习是很有必要的,有助于我们加深理解。多了解总没有坏处的。1.自定义函数时,有默认值的形参应放在无默认值的形参之后在定义函数时,如果有默认值的形参放在无默认值的形参之前,在函数调用时,python依然会将带入函数的实参作为位置实参传递给第一个形参,这样,会导致无默认值的形参得不到实参传入。因此,有默认值的形参需要在无默认值的形参之后,否则将会有如下报错信息。...

2021-01-19 11:37:43 189

原创 python coding 规范

在很多项目上,随着编写的程序越来越长,很有必要对一些代码格式设置约定,有一个良好的coding规范,是极好的。让你的代码尽可能易于阅读;让代码易于阅读有助于你掌握程序是做什么的,也可以帮助别人理解你编写的代码。要成为专业程序员,应从一开始就遵循以下指南,养成良好的习惯。缩进:建议每级缩进都使用四个空格,这既可以提高可读性,又留下了足够的多级缩进空间。行长:很多Python 程序员都建议每行不超过80个字符,PEP8建议注释的行长都不应超过72个字符,因为有些工具为大型项目自动生成文档时,会在每行注释开

2021-01-15 16:34:15 912 3

原创 贷后逾期判断

在信用贷款中,贷后还款的指标对于业务来说是很重要的,主要的指标有vintage 或者FPD等。从账单还款数据计算是否逾期,主要通过以下关键时点来界定:应还款日、实际还款日、观察日。应还款日:是指借款成功后,产生的还款计划中,每期的最后应还款日期;实际还款日:是指用户实际还款的日期;观察日:一般选择自然月的月末,有特殊业务情况的,要特殊考虑。1.一直未还款如果用户一直未还款,那么判定条件是,实际还款日为空;2.提前还款如果用户提前还款,那么判定条件是,实际还款日小于应还款日;3.逾期还款,实

2020-07-28 14:19:12 490

原创 python LabelEncoder()编码时的排序问题

在处理数据时,一些变量的值是非数值型的,如区间、中文汉字或者英文等等,在python中,很多时候,上述的数据类型是不能带入模型的,这就需要我们进行处理。常见的处理方式有两种,一种是独热编码,即python里面sklearn.preprocessing的OneHotEncoder;另一种是sklearn.preprocessing的LabelEncoder来打标签编码。第一种方法本文暂不说,主要说一下第二种方法中,LabelEncoder的排序问题。将非数值型变量进行编码,首先要考虑的问题,编码肯定不是

2020-06-19 17:15:16 4199 7

原创 python pandas.set_option()详解

一、简介set_option是pandas里的一个函数,用法为pandas.set_option(pat, value),主要作用是设置一些指定参数的值。供设置的选项如下,后面会逐一进行介绍compute.[use_bottleneck, use_numexpr]display.[chop_threshold, colheader_justify, column_space, date_...

2020-02-26 17:28:12 21087

原创 《计量经济学 张晓峒著》学习笔记

一、一般过程:确定研究对象 → 收集数据 → 画变量散点图 → 设计、估计、诊断、检验模型、分析回归参数、预测。1.确定研究对象:略2. 收集数据:略3. 画变量散点图:一定要养成习惯,画变量散点图。4. 设计、估计、诊断、检验模型、分析回归参数、预测:本书重点二、一元线性回归模型1.模型的建立及假定条件一元线性回归模型:2.最小二乘估计(OLS)注意:残差是对随机误差项的...

2020-02-21 14:57:49 547

原创 validation_curve验证曲线与超参数

validation_curve()的位置在之前,此函数位置在sklearn.learning_curve.validation_curve(),现在,此函数的位置在sklearn.model_selection.validation_curve()。validation_curve()的作用我们知道误差是由偏差(bias)、方差(variance)、噪声(noise)组成。偏差:模型对于...

2020-02-20 16:58:32 6407

原创 机器学习中对变量数据进行Log变化

机器学习算法中,一些算法要求数据符合正态分布,但是对于一些标签和特征来说,分布不一定符合正态分布,这个要怎么处理呢?一个现在比较常见的方式是将数据进行Log变,即取对数,这样可以使得数据在一定程度上符合正态分布的特征。效果如下图所示:(转换前)(转换后)...

2019-12-26 09:38:14 9366

原创 Python GBDT+LR

此文主要根据scikit-learn官方文档而来, 中间插入了一些个人比较容易理解的注释。通过roc-auc曲线来比对不同算法组合的效果,算法包括:RT+LR、RF、RF+LR、GBDT、GBDT+LR,结果表明,通过GBDT算法fit后,进行OneHot transformation,然后再进行LR Classification的效果是最好的。在工业生产上,也有多家企业将GBDT+LR最为生...

2019-12-09 13:51:24 597

原创 python 集成学习

Bagging分类器组合:sklearn.ensemble.bagging.BaggingClassifierBagging回归器组合:sklearn.ensemble.bagging.BaggingRegressorAdaBoost分类器组合:sklearn.ensemble.AdaBoostClassifierAdaBoost回归器组合:sklearn.ensemble.AdaBoost...

2019-11-12 09:52:35 342

转载 评分卡模型中的IV和WOE详解(抄录)

1.IV的用途IV的全称是Information Value,中文意思是信息价值,或者信息量,也有称VOI,即Value Of Information。我们在用逻辑回归,决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中进行你拟合训练,而是会用一些方法,从这200个变量中挑选一些出来,放进模型,形成模变量列表...

2019-08-26 20:56:44 1071

原创 《统计学习方法》笔记第五章(未完)

决策树是一种基本的分类与回归方法。本章主要讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合 ,也可以认为是定义在特征空间与类空间上的条件概率分布。其主要优点是模型具有可读性,分类速度快。学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括3个步...

2019-07-09 14:26:54 348

原创 《统计学习方法》笔记第四章

朴素贝叶斯(naive Bayes)是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习/输出的联合概率分布;然后基于此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。朴素贝叶斯法实现简单,学习与预测的效率都很高,是一种常用的方法。本章叙述朴素贝叶斯法,包括朴素贝叶斯法的学习与分类、朴素贝叶斯法的参数估计法。朴素贝叶斯法通过训练数据集...

2019-06-27 16:45:50 153

原创 《统计学习方法》笔记第二章

感知机是二类分类的线性分类模型,其输入为实例多多特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负梁飞的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学习...

2019-06-17 17:21:26 172

原创 python 用法小结

apply用法根据关键字 sortDICT+map 快速映射

2019-06-11 11:29:03 465

原创 《统计学习方法》笔记第一章

1.在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。输入与输出空间可以是有限元素的集合,也可以是整个欧式空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间;但通常输出空间远远小于输入空间。2.损失函数和风险函数损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。常见的损失函数L有0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等。...

2019-06-10 11:14:10 209

转载 使用SET修改组合SAS数据集

1.使用SET语句修改数据集SET语句可以增加新变量、创建子集、修改数据集。SET语句是一次一个变量地,将一个数据集放入数据步中予以分析。基本形式为:DATA new_data_set;SET data_set;Data语句指定了新数据集名,set指定要读取的老数据集名。如果不想创建新的,则也可以在data中指定老数据集。样例:2.使用SET语句堆叠数据运用set语句可以把一个数...

2019-03-18 17:50:04 5570

翻译 SAS PROC SQL

SAS通过在SAS程序中使用SQL查询,为大多数流行的关系数据库提供广泛的支持。支持大多数ANSI SQL语法。过程PROC SQL用于处理SQL语句。此过程不仅可以返回SQL查询的结果,还可以创建SAS表和变量。所有这些情况的示例如下所述。语法在SAS中使用PROC SQL的基本语法是:PROC SQL ;SELECT ColumnsFROM TABLEWHERE Columns ...

2019-01-29 18:03:20 6288

翻译 SAS格式数据集

有时,我们更喜欢以不同于其已经存在于数据集中的格式来显示分析数据。例如,我们想要向有价格信息的变量添加美元符号和两位小数位。或者我们可能想要显示一个文本变量,全部为大写。我们可以使用FORMAT来应用内置的SAS格式,PROC FORMAT是应用用户定义的格式。此外,单个格式可以应用于多个变量。语法:应用内置SAS格式的基本语法是:format variable name format na...

2019-01-29 14:44:11 969

转载 SAS数据集排序

SAS中的数据集可以对其中存在的任何变量进行排序。这有助于在数据分析和执行其他选项,如合并等。排序可以发生在任何单个变量以及多个变量。用于SAS数据集中执行排序的SAS过程被称为PROC SORT。排序后的结果存储在新数据集中,原始数据集保持不变。语法:PROC SORT DATA = original dataset OUT = Sorted dataset ;BY variable na...

2019-01-25 15:15:44 9171

转载 SAS子集数据集

设置SAS数据集的子设置意味着通过选择较少数量的变量或较少数量的观测值或同时选择较少数量的观察值来提取数据集的一部分。通过使用KEEP和DROP语句完成变量的子设置,使用DELETE语句完成观察的子设置。此外,来自子设置操作的结果数据保存在可用于进一步分析的新数据集中。子设置主要用于分析数据集的一部分而不使用那些可能与分析不相关的变量或观察的目的。...

2019-01-25 11:47:42 1128

转载 SAS连接数据集

可以使用SET语句连接多个SAS数据集以提供单个数据集。在连接的数据集中的观察的总数是原始数据集中的观察的数量的总和。**观察的顺序是连续的。**来自第一数据集的所有观察结果后面是来自第二数据集的所有观测结果,并以此类推。所有组合数据集具有相同的变量,但是如果它们具有不同数量的变量,则在结果中出现所有变量,对于较小数据集具有缺失值。句法:SAS中SET语句的基本语法是:SET data-s...

2019-01-23 17:34:11 2226

转载 SAS Input输入方法

输入方法用于读取原始数据。原始数据可以来自外部源或来自流数据。输入语句创建一个变量,其名称将分配给每个字段。所以你必须在输入语句中创建一个变量。相同的变量将显示在SAS数据集的输出中。以下是SAS中可用的不同输入方法。列表输入方法命名输入方法列输入方法格式化输入方法每个输入方法的细节描述如下。名单输入法在此方法中,变量与数据类型一起列出。仔细分析原始数据,以便声明的变量的顺序与数...

2019-01-09 16:31:15 8475 1

转载 坏样本不够多,怎么办?

本文是转载自微信公众号 屁屁的sas数据分析今天的话题,是建模前提如何处理坏样本过少的问题。样本过少分两种情况。一种是确实没啥坏样本,就是几十个,一百来个。另外一种就是相对于好样本,坏样本比较少,例如你有一百万的好样本,只有一万的坏样本,第二种就是属于样本不均衡的话题,这个网上的文献也都有好多,我这里就不展开了。样本过少之我只有几十个坏样本。这种情况多数发生在产品刚上线的时候,没啥数据,但...

2019-01-08 20:09:19 2202

转载 SAS循环

在SAS循环是通过使用DO语句来完成的,它也被称为DO循环。DO循环主要分为两类:DO WHILE 和 DO UNTIL。一、SAS DO UNTIL 循环DO UNTIL循环使用UNTIL条件。重复执行SAS语句,直到UNTIL条件变为TRUE。语法:DO UNTIl (variable condition);. . . SAS statements . . . ;END;示例...

2019-01-08 18:54:53 5515

转载 SAS IF判断语句

SAS 提供一下类型的判断语句。SN声明类型和说明1.if语句由条件组成。 如果条件为真,则提取特定数据。2.if语句后跟随else语句,当布尔条件为假时执行。3.if语句后跟随else语句,后面再跟一对IF-THEN语句。4.if语句包括acondition,当真正从观察值中删除特定数据时。1.IF 声明IF 语句由布尔表达式后跟SAS语...

2019-01-04 14:00:27 21341

转载 SAS数字格式

SAS可以处理各种数字数据格式。它在变量名的末尾使用这些格式,以向数据应用特定的数据格式。SAS使用两种数字格式。一个用于读取数字格式的特定格式,成为informat,另一个用于显示称为输出格式的特定格式的数字数据。句法数字信息的语法是:Varname Formatnamew.d以下是使用的参数的描述:VARNAME 是变量的名称。FORMATNAME 是应用于变量的数字格式的名称。...

2019-01-03 18:57:28 4194

转载 SAS程序结构

因为工作需要,开始学习SAS,将所学到的东西都记录下来。SAS程序结构下图显示了按给定顺序写入以创建SAS程序的步骤。DADA步骤此步骤涉及将所需数据集加载到SAS存储器中并识别数据集的变量(也称为列)。它还捕获记录(也称为观察或主体)。 DATA语句的语法如下。DATA data_set_names;INPUT var1,var2,var3;NEW_VAR;LABEL;DAT...

2019-01-03 10:23:20 2081

原创 决策树归纳

决策树归纳是从有类标号的训练样本中学习决策树,决策树是一种类似于流程图的树结构,其中,每个内部结点(非树叶结点)表示在一个属性上的测试,每个分枝代表该测试的一个输出,而每个树叶结点(或终端结点)存放一个类标号。 ID3、C4.5、CART都采用贪心(即非回溯的)方法,只考虑当前纯度差最大的情况作为分割点,其中决策树以自顶向下递归的分治方式构造。决策树构建的基本步骤如下: 1. 开始,所...

2018-05-09 15:23:19 1869

原创 神经网络中的滑动平均模型

在采用随机梯度下降(SGD)算法训练神经网络时,使用滑动平均模型可以一定程度增强参数的稳定性,提高最终模型在测试数据上的表现,使模型在测试数据上更健壮。在TensorFlow中提供了tf.train.ExponentialMovingAverage(decay, steps)来实现滑动平均模型。ExponentialMovingAverage对每一个变量会维护一个影子变量,并且保存在Expon...

2018-04-27 14:29:49 1772

原创 神经网络的过拟合问题以及L1、L2正则化

所谓过拟合,指的是当一个模型过为复杂之后,它可以很好的“记忆”每一个训练数据中随机噪音的部分而忘记了要去“学习”训练数据中通用的趋势。举一个极端的例子,如果一个模型的参数比训练数据的总说还多,那么只要训练数据不冲突,这个模型完全可以记住所有训练数据的结果从而使得损失函数为0。然而,过度拟合训练数据中的随机噪音虽然可以得到非常小的损失函数,但是对于未知数据可能无法做出可靠的判断。 下图显示了模...

2018-04-26 17:41:29 2874

原创 神经网络学习率(learning rate)的衰减

一、学习率衰减的概念和必要性学习率过大,在算法优化的前期会加速学习,使得模型更容易接近局部或全局最优解。但是在后期会有较大波动,甚至出现损失函数的值围绕最小值徘徊,波动很大,始终难以达到最优,如下图蓝色曲线所示。所以引入学习率衰减的概念,直白点说,就是在模型训练初期,会使用较大的学习率进行模型优化,随着迭代次数增加,学习率会逐渐进行减小,保证模型在训练后期不会有太大的波动,从而更加接近最优解,如下...

2018-04-26 11:21:47 24811 2

原创 神经网络多分类任务的损失函数——交叉熵

神经网络解决多分类问题最常用的方法是设置n个输出节点,其中n为类别的个数。对于每一个样例,神经网络可以得到的一个n维数组作为输出结果。数组中的每一个维度(也就是每一个输出节点)对应一个类别。在理想情况下,如果一个样本属于类别k,那么这个类别所对应的输出节点的输出值应该为1,而其他节点的输出都为0。以识别手写数字为例,0~9共十个类别。识别数字1,神经网络的输出结果越接近[0,1,0,0,0,0,0...

2018-04-25 15:04:37 47337 5

原创 深度学习中线性模型的局限性

在线性模型中,模型的输出为输入的加权和。假设一个模型的输出y和输入x满足以下关系,那么这个模型就是一个线性模型。其中w,b为模型的参数。一、线性模型的最大特点是任意线性模型的组合仍然还是线性模型。例子:其中W'是新的参数,这个前向传播的算法完全符合线性模型的定义。从这个例子中可以看出,虽然这个神经网络有两层(不算输入层),但是它和单层神经网络没有区别。以此类推,只通过线性变换,任意层的全连接神经网...

2018-04-25 09:36:48 2562

原创 tf.Variable()参数解释

1.以Weights的创建为例2. tf.Variable()参数解释initial_value:默认为None,可以搭配tensorflow随机生成函数,如上例。trainable:默认为True,可以后期被算法优化的。如果不想该变量被优化,改为False。validate_shape:默认为True,形状不接受更改,如果需要更改,validate_shape=Fa...

2018-04-24 13:35:52 22849 1

转载 PCA的数学原理

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。当然我并不打算把文章写成纯数学文...

2018-03-15 19:51:33 150

原创 供应链金融

供应链金融与传统贸易的保理、货押业务有明显的区别,保理和货押属于简单的贸易融资商品,而供应链金融是核心企业与金融机构之间达成的面向供应链成员企业的融资业务。前者是基于单个融资企业或者单个融资节点进行的融资,而后者更加注重金融机构和核心企业在供应链链条的整体把控能力和资源笼络能力,金融机构和企业之前的交互性更强。从业务模式看,供应链融资包括:应收账款融资、存货质押融资、预付账款融

2018-01-06 11:20:27 776

转载 【转载】R语言数据处理——数据合并与追加

数据结构的塑造是数据可视化前重要的一环,虽说本公众号重心在于数据可视化,可是涉及到一些至关重要的数据整合技巧,还是有必要跟大家分享一下的。在可视化前的数据处理技巧中,导入导出、长宽转换已经跟大家详细的介绍过了。今天跟**家分享数据集的合并与追加,并且这里根据所依赖函数的处理效率,给出诺干套解决方案。数据合并操作涉及以下几个问题:横向合并;1. 是否需要匹配字

2017-05-23 16:37:22 4758

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除