数据建模指的是对现实世界各类数据的抽象组织,建立一个适合的模型对数据进行处理。
建模数据的抽取,清洗和加工以及建模算法的训练和优化会涉及大量的计算机语言和技术。比如:数据查询语言SQL;数据环境Hadoop和Spark;数据操作系统Linux; 数据分析软件R、Python、SAS、Matlab等。
特征工程涉及到统计/数学/信息论/计量等学科的基本概念。比如:变量的均值;分位数;峰度;谱;信息熵;cosi;衰退速率以及马氏距离等。
建模阶段涉及多种量化模型,比如:统计模型;计量模型;机器学习模型;复杂网络等。比较常见的模型有:回归分析模型;随机森林;时间序列;神经网络;SVM等。
想要在实际的项目中自如的运用这些模型算法,不仅仅需要了解基本的数学原理,还需要深入掌握对应的计算机语言实现。至少要会在主流的分析软件中调用算法包,更高阶的要求是能自己实现算法的编写和精进。只有这样才能相对正确地设计并依据实际数据结构优化算法,得到各方面表现都相对优异的模型。
比如特征工程中缺失值处理、特征构建、变换等等,取决于模型方法、数据、业务目标等。除了基于之前提到过的量化指标构造的特征,最后对模型表现贡献最多的特征往往是那些构造逻辑和业务逻辑挂钩非常紧密的特征。
这里举两个例子来说明。
例1:异常的交易风险,通常表明客户存在违约或者欺诈的风险,那么如何去构造特征来描述异常交易风险呢?
可以是统计指标方差、变异度、数学指标马氏距离;
也可以是业务逻辑“过去3天的交易金额相较于历史水平涨幅大于100%”。
后者显然不专属于任何一门学科,它来自于对业务的理解和消化。
因为建模是一方面,模型能够实施生产是另一方面。结构复杂和特征量大的模型往往意味着背后需要大量的计算资源,人力资源和时间资源支持。模型的现有表现和未来可能的衰减速度值不值得耗费大量人力物力去生产部署,部署后模型带来的效益是否能在长期内冲销成本也是建模人员需要去考虑的事情。
在数据分析与挖掘中,我们通常需要根据一些数据建立起特定的模型,然后处理。模型的建立需要依赖于算法,一般,常见的算法有分类(有明确类别)、聚类(无明确类别)、关联、回归等。
数据分类实现过程
数据分类主要处理现实生活中的分类问题,一般处理思路如下:
(1)首先明确需求并对数据进行观察;
(2)其次,确定算法;
(3)确定步骤;
(4)编程实现。
3.常见的分类算法
(1)KNN算法(k-近邻算法):实现简单的分类(验证码识别)
KNN算法的实现步骤:处理数据 -> 数据向量化 -> 计算欧几里得距离 -> 根据距离进行分类(排序)
这儿还讲了sklearn神经网络模块的下载
回归算法:拟合一条线
线性回归、逻辑回归、非线性回归、主成分回归
https://www.cnblogs.com/sparkwen/p/3441197.html
逻辑回归:概率p、1-p,求比值,取对数,用e表示出p的函数,即是逻辑函数
(3)决策树
(4)人工神经网络
(5)支持向量机