数据建模

第六章---机器学习与数据建模

孤人 提交于 2020-02-24 09:41:02
学习:通过接收到的数据,归纳提取相同与不同 机器学习: 让计算机以数据为基础,进行归纳与总结 模型:数据解释现象的系统 机器学习: 1.监督学习 (机器学习的过程有标注:相当于告诉模型,在什么样的数据特征下应该输出什么样的结果,机器学习的任务就是提炼出输入与标注间的关系,并进行预测) 根据标注是离散值还是连续值,监督学习可分为分类问题和回归问题 1)分类(标注是离散值) 2)回归(标注是连续值) 2.非监督学习 (机器学习的过程无标注,完全让数据自己说话,将数据自身的特征在不同的模型中进行不同的表现) 1)聚类 2)关联 3.半监督学习(部分有标注,部分没有标注,有标注的数据可以作用于没有标注的数据,规范与引导聚类或者关联的方向,同时没有标注的数据也可作用于有标注的数据,时刻获得模型对于数据整体情况的影响和反馈) 数据集:训练集、测试集、验证集(6:2:2) 测试集:通过训练集和测试集的出最优模型后,使用测试集进行模型的预测,用来衡量这个模型的性能和分类能力,即可以把测试集当做从来不存在的数据集,当已经确定模型的参数后,使用测试集进行模型的泛化能力的评价 泛化:对未知数据的预测能力 模型面对训练集和测试集以外的未知数据或者实际场景的数据时预测能力的大小,如果一个模型在训练集和验证集表现良好,而测试集表现不好,那么该模型的泛化能力就比较差,这种现象也叫做过拟合现象

金融风控信用卡评分建模

白昼怎懂夜的黑 提交于 2020-02-17 23:03:15
一、引言 如何利用机器学习以及大数据技术来降低风险呢?如何建立信用评分的模型呢?本文将针对这些问题简单介绍互金行业中授信产品的风控建模过程,内容主要如下: ·信用风险定义 ·信用风险评分卡类型 ·信用评分模型建立的基本流程 1.信用风险定义 ①风险管理的概念 风险管理最早起源于美国。1930年由美国管理协会保险部最先倡导风险管理,后面在全球流行开来,随着互联网的迅猛发展,大数据、数据挖掘和机器学习等新兴技术开始出现,让风险管理更为精准。他们通过收集银行系统本身的征信数据以及用户在互联网上的的各种数据,包括人际关系、历史消费行为、身份特征等,通过大数据“画像”技术,对用户进行全面的定位,由此来预测用户的履约能力、降低信贷风险。 ②什么是信用风险? 信用风险又称违约风险,是指借款人、证券发行人或交易对方因种种原因,不愿或无力履行合同条件而构成违约,致使银行、投资者或交易对方遭受损失的可能性。即受信人不能履行还本付息的责任而使授信人的预期收益与实际收益发生偏离的可能性,它是金融风险的主要类型。 万事都有风险,但对于金融行业来讲,风险控制尤为重要。对于海量的用户数据处理,传统的人工授信方式显然是很乏力的,因此现在大多互联网金融P2P公司都采用机器学习、大数据等技术对风险进行自动化评估,来最大程度的降低风险。当然,这些技术的应用并不能百分百的保证零风险,因为有很多人为因素是不可控的

数据建模 经典教程

早过忘川 提交于 2020-02-08 12:45:18
什么是数据模型 ? 模型是一组文字和各类符号的集合,用来讲一个复杂的概念简化。地图、组织结构图、设计蓝图都是复杂事物的过滤和简化。 数据模型是一组由符号、文本组成的集合,用以准确表达信息景观,达到有效交流、沟通的目的。电子表格是我们日常最熟悉的一种数据模型。 不同的数据模型可以反映不同的细节水平: 概念模型:在很高层次上表示业务,这种宽泛的视图仅包含给定范围的一些基本、关键的概念。 “基本”意味着这基本交谈中这些概念会被多次提及 “关键”意味着如果没有这些概念,部门、公式、行业会极大地改变 逻辑模型:描述了一份详细的业务解决方案,建模者不用创建与软件实现有关的复杂数据模型,就能掌握相应的业务需求 物理模型:是逻辑数据模型的实例化,表示详细的技术解决方案,是对特定环境的优化(如特定的软件、硬件环境)。物理数据模型是在某种特定环境下,对逻辑数据模型执行力的修改、增强,在该环境中数据将被创建、维护和访问。 实体 实体:对于业务非常重要要货值得获取的视图及与之相关的信息集合。下图为实体种类、定义及实例。 实体实例是一个具体的实体呈现或实体的值。如,一个电子表格中定义了一个person实体,并包括 姓名、性别、年龄、身高、体重等列,则其中的每一行数据就是实体的一个实例。 实体可以在如下三个层面被描述: 概念:高层次的业务流程的解决方案或应用程序频繁定义的范围和重要术语 基本、关键的业务信息

动态人工神经网络

倾然丶 夕夏残阳落幕 提交于 2020-02-01 20:35:46
对于非线性系统如果使用传统的线性方法进行建模,会带来很大的误差。使用非线性建模方法,特别是使用动态人工神经网络,可以比较精确的获得对象的输入输出模型。 在秋季学期人工神经网络课程的第三次作业中,为了增加一道实际控制对象建模的作业题,对一个废旧的热吹风枪进行改造,使得它加热电压可以改变,并增加了测量出风温度和风速的传感器。可以同时采集到工作电压与出口温度的数据。 热风枪出口温度与工作电压之间呈现非线性关系 由于热风枪的功率与施加的电压呈现二次关系,这也就直接影响到加热电压与出口温度之间呈现非线性关系。 通过对每个施加电压测量对应稳态时出风口温度,绘制出它们之间的工作曲线。如下图所示,显示了输入电压与输出温度之间的非线性关系。 热风枪出口温度与加热工作电压之间的关系 热风枪的出口温度与环境温度、风速都有直接的关系。上述曲线是在保持环境温度和风速恒定的情况下获得的。 由于热风枪内的加热元件有一定的热惯性,再加上热扩散到空气中有延迟,所以出口温度与工作电压之间是一个动态关系。 下图显示了在施加55V电压后,出口温度呈现的动态响应曲线。 热风枪的在施加单位阶跃电压后的动态过程 如果热风枪的输入电压与出口温度之间是线性关系,则可以通过第一原理建立响应的微分方程,获得系统的动态模型。也可以通过输入输出之间数据对系统进行动态建模。 通过系统输入输出数据建立线性模型,可以通过系统的单位阶跃响应

面向对象软件工程知识点

本秂侑毒 提交于 2020-02-01 11:16:17
面向对象软件工程知识点 1.封装是指把对象的(A)结合在一起,组成一个独立的对象。 A.属性和操作 B.信息流 C.消息和事件 D.数据的集合 2.状态图和活动图建立了UML面向对象开发过程中的对象动态(B)模型。 A.交互 B.状态 C.体系结构 D.软件复用 3.UML的(C)模型图由活动图、顺序图、状态图和合作图组成。 A.用例 B.静态 C.动态 D.系统 4.在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A)。 A.活动图 B.状态图 C.配置图 D.构建图 5.设计模式就是对(D)的描述或解决方案,往往直接对应一段程序代码。 A.某个构件 B.成熟的设计 C.一个用例 D.特定问题 6.类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有(C)。 A.正负号 B.动作 C.具体值 D.私有成员 7.顺序图的模型元素有(A)、消息、生存线、激活期等,这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。 A.对象 B.箭头 C.活动 D.状态 8.状态图可以表现(B)在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移而引起的动作。 A.一组对象 B.一个对象 C.多个执行者 D.几个子系统 9.使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是(B)。 A.继承

[白话解析] 深入浅出最大熵模型

。_饼干妹妹 提交于 2020-01-31 16:35:42
[白话解析] 深入浅出最大熵模型 0x00 摘要 本文将尽量使用易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来看,运用感性直觉的思考来解释最大熵模型。并且从名著中找了几个具体应用场景来帮助大家深入这个概念。 0x01 背景概念 1. 什么是熵? 熵这个概念可以从多个角度来理解。 1.1 从物理学角度理解熵 熵最早来原于物理学。德国物理学家鲁道夫·克劳修斯首次提出熵的概念,用来表示任何一种能量在空间中分布的均匀程度,能量分布得越均匀,熵就越大。即,熵是表示物质系统状态的一种度量,用它来表征系统的无序程度。 熵越大,系统越无序,意味着系统结构和运动的不确定和无规则; 熵越小,系统越有序,意味着系统具有确定和有规则的运动状态。 1.2 从系统复杂度理解熵 信息熵还可以作为一个系统复杂程度的度量,即物质系统有序化,组织化,复杂化状态的一种度量。 如果系统越复杂,出现不同情况的种类越多,那么他的信息熵是比较大的。 如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,对应的信息熵为0),此时的信息熵较小。 熵越大则该系统不确定性就越大,该系统未来发展就存在越多的可能性。 1.3 熵的推导&定义 熵的定义是:𝐇(𝐱) = −𝒔𝒖𝒎(𝒑(𝒙)𝒍𝒐𝒈𝟐𝒑(𝒙)) 其中,𝑝(𝑥)代表随机事件𝑥的概率,H(X) 就被称为随机变量 x 的熵,它是表示随机变量不确定的度量

建模随手记4 --- 主成分分析

五迷三道 提交于 2020-01-30 03:49:19
在进行数据处理时,有可能会遇到数据属性的数量要比每种数据的数据量还要多,甚至相当,而且对于这些不同属的数据所描述的信息有重合的时候,这时候需要对数据进行降维处理,来减少数据处理的维度。一句话来说就是当我们对一个对象进行数据分析时,所获得的数据的属性很多,为了减少数据处理的维度,我们可以通过计算出几个主要因素来代表这些数据,主成分分析可以做到这点。 比如说衡量一个人的智商,我们要综合其个方面因素来评价,数学成绩,语文成绩,英语成绩,各种成绩,但是我们可以选出数学成绩,理科成绩来衡量他的智商,虽然不能代表全部,但是可以代表大部分。 概述 主要参考《机器学习实战》,书中的介绍十分详细清楚,这里只记录代码实现以及分析数据的过程。 主成分分析实现要解决两个问题,降维度降到多少可以很好的表达原始数据,如何获得降维后的数据。 将多少维度 在确定降多少维度之前我们需要对数据进行标准化: X ∗ = X ‾ − μ σ X^{*}=\frac{\overline{X}-\mu}{\sigma} X ∗ = σ X − μ ​ 加载数据,同时进行数据预处理: import numpy as np from matplotlib import pyplot as plt import os from sklearn import preprocessing from pprint import

机器学习-TensorFlow建模过程 Linear Regression线性拟合应用

て烟熏妆下的殇ゞ 提交于 2020-01-29 22:33:19
TensorFlow是咱们机器学习领域非常常用的一个组件,它在数据处理,模型建立,模型验证等等关于机器学习方面的领域都有很好的表现,前面的一节我已经简单介绍了一下TensorFlow里面基础的数据结构即:Tensor和Dataset; 这里咱们开始介绍TensorFlow的建模过程以及验证模型的一些简单方法。其实无论是sklearn还是TensorFlow,他们的模型建立过程都是相似的,都是经历columns类型声明,模型定义,数据训练,validation等等几个步骤。前面的几节内容我已经简单的介绍了如何用sklearn建立tree_based模型,这里我主要是想演示TensorFlow的应用,所以我就用linear regressor来当做例子来演示TensorFlow是如何从数据加载一直到数据验证的阶段。至于线性拟合的实现的具体细节,我在下一节的内容会从数学的角度具体解释的。本节内容所使用的数据都是来自于网络中,大家可以忽略具体的数据的意思,主要的了解TensorFlow的应用过程,不必过于纠结于模型的细节部分,模型的细节我会在随后的章节解释。好了,那么咱们现在开始吧 第一步:数据准备 顾名思义,就是咱们准备数据的过程,这里包括有missing value handling, categorical data encoding,data split, data

数据仓库维度建模

戏子无情 提交于 2020-01-23 02:43:49
概述 数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容: 以Hadoop、Spark、Hive等组件为中心的数据架构体系。 各种数据建模方法,如维度建模。 调度系统、元数据系统、ETL系统、可视化系统这类辅助系统。 我们暂且不管数据仓库的范围到底有多大,在数据仓库体系中,数据模型的核心地位是不可替代的。 因此,下面的将详细地阐述数据建模中的典型代表:维度建模,对它的的相关理论以及实际使用做深入的分析。 文章结构 本文将按照下面的顺序进行阐述: 先介绍比较经典和常用的数据仓库模型,并分析其优缺点。 详细介绍维度建模的基本概念以及相关理论。 为了能更真切地理解什么是维度建模,我将模拟一个大家都十分熟悉的电商场景,运用前面讲到的理论进行建模。 理论和现实的工作场景毕竟会有所差距,这一块,我会分享一下企业在实际的应用中所做出的取舍。 0x01 经典数据仓库模型 下面将分别介绍四种数据仓库模型,其中前三种模型分别对应了三本书:《数据仓库》、《数据仓库工具箱》和《数据架构 大数据 数据仓库以及Data Vault》,这三本书都有中文版,非常巧的是,我只有三本数据仓库的书,正好对应了这三种理论。 Anchor模型我并不是特别熟悉,放在这里以供参考。 一、实体关系(ER)模型 数据仓库之父Immon的方法从全企业的高度设计一个3NF模型

一款国产静态代码分析工具与Converity的对比

妖精的绣舞 提交于 2020-01-17 17:37:27
源伞科技Pinpoint,作为BAT都在使用的一款静态代码分析工具,到底有什么领先于其他厂商的能力? 1. 扩展和部署功能对比 源伞科技Pinpoint现有的检查器可以通过简单的json配置文件扩展业务逻辑。比如敏感数据泄露到日志检查器,企业或许有很多自己的日志打印函数,我们可以通过人工配置指定,即可提高检测质量。 如果不想人工配置,Pinpoint有未公开发布的库函数学习工具,可以通过线下分析企业代码库自动学习和生成上述配置文件。 Pinpoint对分布式多机扫描部署支持比 Coverity 好,并发扫描和结果合并x性能也比 Coverity 更强,能更好支持BAT级别的数千代码库扫描( 已在BT部署验证 )。 2. 分析能力对比 本节补充一些人工构造的例子介绍Pinpoint在分析能力上比Coverity强的部分。本节所有代码示例,Coverity均有误报或漏报。 Pinpoint更懂数据流 精确深度的指针分析,深入分析内存中的程序行为 高深度高精度函数调用链分析,查找跨越多层函数的深度问题 示例代码如下: (链接:https://www.sourcebrella.com/online-showcase/?id=5b483da03a21cd078346028f),此示例代码基于空指针(Null Pointer Dereference)问题检测。 准备代码: