过拟合

某银行业务数据分析和挖掘

人盡茶涼 提交于 2020-10-07 07:27:06
内容简介 第一,对某银行某次营销活动受众客户的特征进行了描述性统计,考察了营销活动的总体效果;同时还进行了特征间的相关性分析,筛选掉了与响应行为之间没有显著相关性的特征。 第二,分别考察了存款和个贷客户在年龄、年收入等6个特征上的分布情况,分析了存款和个贷客户的自然属性和消费行为特征,并据此构建了存款客户画像和个贷客户画像。 第三,运用Apriori关联规则算法分析了各类业务之间的关联,并重点总结出了存款客户中潜在个贷客户的特征。 第四,根据以上分析结果尝试为该银行扩大各类业务客户基数,提高获客能力提出建议。 最后,根据分析出的个贷客户画像对客户是否办理个贷业务进行建模,得出最优分类器;当有新的客户数据时便可以使用该模型对客户办理个贷业务的可能性进行预测。 关键词:Python,客户画像,二分类,关联分析 一、项目描述 1、项目说明 (1)数据来源:本项目所用数据来源于kaggle平台,该数据集展示了某银行某年一次贷款营销活动的5,000条客户信息记录。 (2)使用工具:本项目的分析和可视化都是使用Python完成的,但相关性分析用到了SPSS。 (3)数据描述:数据字典如下所示: 表1 数据字典 2、业务需求 2.1 业务背景 某银行是一家客户群不断增长的银行,但其贷款业务的客户基数较小,因此该银行希望能够将存款用户转化为贷款用户,扩大贷款业务量

十一、加权线性回归案例:预测鲍鱼的年龄

旧街凉风 提交于 2020-10-07 04:27:37
加权线性回归案例:预测鲍鱼的年龄 点击文章标题即可获取源代码和笔记 数据集: https://download.csdn.net/download/weixin_44827418/12553408 1.导入数据集 数据集描述: import pandas as pd import numpy as np abalone = pd . read_table ( "./datas/abalone.txt" , header = None ) abalone . columns = [ '性别' , '长度' , '直径' , '高度' , '整体重量' , '肉重量' , '内脏重量' , '壳重' , '年龄' ] abalone . head ( ) 性别 长度 直径 高度 整体重量 肉重量 内脏重量 壳重 年龄 0 1 0.455 0.365 0.095 0.5140 0.2245 0.1010 0.150 15 1 1 0.350 0.265 0.090 0.2255 0.0995 0.0485 0.070 7 2 -1 0.530 0.420 0.135 0.6770 0.2565 0.1415 0.210 9 3 1 0.440 0.365 0.125 0.5160 0.2155 0.1140 0.155 10 4 0 0.330 0.255 0.080 0.2050 0

Catboost 一个超级简单实用的boost算法

心已入冬 提交于 2020-10-06 06:43:29
今天笔者来介绍一个超级简单并且又极其实用的boosting算法包Catboost,据开发者所说这一boosting算法是超越Lightgbm和XGBoost的又一个神器。 catboost 简介 在笔者看来catboost有一下三个的优点: 它自动采用特殊的方式处理 类别型特征(categorical features) 。首先对categorical features做一些统计,计算某个类别特征(category)出现的频率,之后加上超参数,生成新的数值型特征(numerical features)。这也是我在这里介绍这个算法最大的motivtion,有了catboost,再也 不用手动处理类别型特征了。 catboost还使用了 组合类别特征 ,可以利用到特征之间的联系,这极大的 丰富了特征维度 。 catboost的基模型采用的是 对称树 ,同时计算leaf-value方式和传统的boosting算法也不一样,传统的boosting算法计算的是平均数,而catboost在这方面做了优化采用了其他的算法,这些改进都能 防止模型过拟合 。 catboost 实战 这里笔者采用的是之前参加一个CTR点击率预估的数据集,首先通过pandas读入数据。 from catboost import CatBoostClassifier import pandas as pd from

实时的激光雷达点云压缩

…衆ロ難τιáo~ 提交于 2020-10-06 06:10:17
点击上方“ 3D视觉工坊 ”,选择“星标” 干货第一时间送达 论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。 ● 论文摘要 实时压缩大量的激光雷达点云对于自动驾驶汽车等自动化机器至关重要。虽然目前大多数的工作都集中在压缩单个点云帧上,但是本文提出了一个新的系统,可以有效地压缩一系列点云。利用点云帧序列中的空间和时间冗余的思想。首先在点云序列中识别关键帧,然后通过迭代平面拟合对关键帧进行空间编码。然后我们利用连续点云在物理空间中有大量重叠的事实,因此空间编码的数据可以(重新)用于对时间流进行编码。利用空间编码数据进行时间编码,不仅提高了压缩率,而且避免了冗余计算,大大提高了压缩速度。实验表明,我们的压缩系统达到了40×90的压缩率,明显高于MPEG的LiDAR点云压缩标准,同时保持了较高的端到端应用精度。同时,我们的压缩系统的压缩速度与目前激光雷达的点云生成速率相匹配,并优于现有的压缩系统,实现了实时点云传输。 代码开源(有兴趣的可以测试后与我交流和分享): https://github.com/horizon-research/Real-Time-Spatio-Temporal-LiDAR-Point-Cloud-Compression ● 内容介绍 本文的压缩系统的思想是利用点云(空间)和点云(时间)之间的冗余。在空间上,现实世界中的许多曲面都是平面

论文阅读:A New Meta-Baseline for Few-Shot Learning

坚强是说给别人听的谎言 提交于 2020-10-05 14:32:16
思维导图 基本概念: (1) meta-learning meta-learning即元学习,也可以称为“learning to learn”。常见的深度学习模型,目的是学习一个用于预测的数学模型。而元学习面向的不是学习的结果,而是学习的过程。其学习的不是一个直接用于预测的数学模型,而是学习“如何更快更好地学习一个数学模型”。 举一个现实生活的例子。我们教小朋友读英语时,可以直接让他们模仿apple、banana的发音。但是他们很快又会遇到新的单词,例如strawberry,这是小朋友就需要重新听你的发音,才能正确地读出这个新单词。我们换一种方式,这一次我们不教每个单词的发音,而是教音标的发音。从此小朋友再遇见新单词,他们只要根据音标,就可以正确地读出这个单词。学习音标的过程,正是一个元学习的过程。 在深度学习中,已经被提出的元学习模型有很多,大致上可以分类为learning good weight initializations,meta-models that generate the parameters of other models 以及learning transferable optimizers。其中MAML属于第一类。MAML学习一个好的初始化权重,从而在新任务上实现fast adaptation,即在小规模的训练样本上迅速收敛并完成fine-tune。 (2)

Mxnet (32): 迁移学习(Fine-Tuning)进行热狗识别

浪子不回头ぞ 提交于 2020-10-04 09:51:50
总所周知,对于训练模型,一定是数据量越大准去率越高,同时越难以过拟合,泛化能力更强。一些模型训练的数据太少,当应用的时候输入的数据范围又太大,导致最终训练的模型的准确性可能无法满足实际需求。 为了解决上面的问题,一个方法就是获取更多的数据,但是获取数据是一个比较浪费金钱以及时间的事情。另一个方法就是通过迁移学习,将学习到的知识从源数据集迁移到目标数据集。比如,ImageNet中的图像大部分与椅子无关,但是在此数据集上训练的模型可以提取更通用的图像特征,这些特征可以帮助识别边缘,纹理,形状以及对象组成。这些特性可能对椅子同样有效。 本篇使用迁移学习中的一种常见技术:Fine-Tuning: 在源数据集上训练模型(源模型)。 创建一个新的模型,即目标模型。目标模型复制所有源模型中的结构以及参数。可以认为源模型参数中包含了从源数据集中学到的知识,并且将这些知识应用与目标数据集。 将满足目标数据集的输出层添加到目标模型上,并初始话输出层的参数。 使用目标数据在组装之后的模型上训练。从头开始训练输出层,而且它层的参数根据源模型参数进行微调。 Fine-Tuning实战:热狗识别 通过热狗识别的例子了解Fine-Tuning的用法。这里使用基于ImageNet数据集上训练的ResNet模型进行微调。这个热狗数据集包含千张图片,其中包含一些热狗的图片。通过微调而来的模型来识别图片中是否含有热狗。

最小熵原理系列:词向量的维度应该怎么选择?

旧街凉风 提交于 2020-10-03 11:44:40
©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP、神经网络 随着 NLP 的发展,像 Word2Vec、Glove 这样的词向量模型,正逐渐地被基于 Transformer 的 BERT 等模型代替,不过经典始终是经典,词向量模型依然在不少场景发光发热,并且仍有不少值得我们去研究的地方。本文我们来关心一个词向量模型可能有的疑惑: 词向量的维度大概多少才够? 先说结论,笔者给出的估算结果是: 更简约的话可以直接记 ,其中 N 是词表大小,n 就是词向量维度, 是自然对数。当 n 超过这个阈值时,就说明模型有足够的容量容纳这 N 个词语(当然 n 越大过拟合风险也越大)。 这样一来,当 N=100000 时,得到的 n 大约是 96,所以对于 10 万个词的词向量模型来说,维度选择 96 就足够了;如果要容纳 500 万个词,那么 n 大概就是 128。 背景 之所以想起这个问题,是因为昨天在 Arxiv 上刷到了论文 Word2vec Skip-gram Dimensionality Selection via Sequential Normalized Maximum Likelihood [1] ,遗憾的是,从这篇论文中笔者并没有找到想要的答案。顺带搜索了一下,发现也有类似文献研究同样的问题,比如 On the Dimensionality of

第8章 多项式回归与模型泛化 学习笔记上

一曲冷凌霜 提交于 2020-10-03 10:54:21
目录 8-1 什么是多项式回归 线性回归? 解决方案, 添加一个特征 8-2 scikit-learn中的多项式回归于pipeline scikit-learn中的多项式回归和Pipeline 关于PolynomialFeatures Pipeline 8-3 过拟合与前拟合03-Overfitting-and-Underfitting 使用线性回归 使用多项式回归 train test split的意义 8-1 什么是多项式回归 x看作是一个特征,x^2是另一个特征,则可以看作是线性回归,但实际结果就是非线性 线性回归? 解决方案, 添加一个特征 x无序的 8-2 scikit-learn中的多项式回归于pipeline scikit-learn中的多项式回归和Pipeline X零次方前的系数为1,第二列为x的值,第三例为x的平方 关于PolynomialFeatures 如果样本有两个特征则1, a, b, a*a, a*b, b*b Pipeline x = np.random.uniform(-3, 3, size=100) X = x.reshape(-1, 1) y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, 100) from sklearn.pipeline import Pipeline from sklearn

机器学习作业---偏差和方差(线性回归)

丶灬走出姿态 提交于 2020-10-02 22:16:56
机器学习作业---偏差和方差(线性回归)错误反例,但是理清了代码思路,很重要 一:加载数据,显示数据 (一)数据可视化 import numpy as np import matplotlib.pyplot as plt import scipy.io as sio import scipy.optimize as opt data = sio.loadmat( " ex5data1.mat " ) X = data[ ' X ' ] y = data[ ' y ' ].flatten() Xval = data[ ' Xval ' ] yval = data[ ' yval ' ].flatten() Xtest = data[ ' Xtest ' ] ytest = data[ ' ytest ' ].flatten() m = y.size plt.figure() plt.scatter(X,y,c = ' b ' ,marker= ' o ' ) plt.xlabel( " Change in water level (x) " ) plt.ylabel( " Water folowing out of the dam (y) " ) plt.show() (二)数据显示 直接从文件中读取的数据X: [[- 15.93675813 ] [ - 29.15297922 ]

Mxnet (6):过拟合和欠拟合

强颜欢笑 提交于 2020-10-01 16:05:33
1.过拟合 究其根本我们训练模型,目的是预测也好,分类也好,希望的是无论输入的数据是否训练过,都要维持在高的准确率,就是说普适性。打个比方,我们学习数学的过程,这个过程其实就很像在训练我们大脑中的模型,我们做的练习题就时训练过程,参加考试就是测试模型,对于一个考试,A同学逻辑思维很好,通过平日的练习训练出了解题的逻辑,在考试中拿到了高分;B同学记忆力特别好,做过的每一道题都能记住,恰好这次考试考的题目他都做过,分数比A还高;又一次考试,A还是那些分,但是这次考的题目B都没做过,拿了低分。B同学的训练的模型只适用于他做过的题,而A同学的模型使用于所有题;那么B同学就属于过拟合了。 使训练数据拟合得比拟合基础分布更紧密的现象称为 过拟合 ,而用来对抗过度拟合的技术称为正则化。在前面的部分中,您在尝试使用Fashion-MNIST数据集时可能已经观察到这种效果。如果您在实验期间更改了模型结构或超参数,您可能已经注意到,如果神经元,层数和训练时期足够,即使测试数据的准确性下降,模型最终仍可以在训练集上达到理想的准确性。 同样我们平时思考,处理问题的时候也要知其然知其所以然,不要死记硬背、人云亦云,不然的话大脑也会过拟合,降低判断的准确性 2.训练误差和泛化误差 为了更清晰的理解上面的问题,我们需要区分训练误差(training error)和泛化误差(generalization