-
什么是数据,什么是数据科学,什么是大数据?
数据:从计算机科学的角度,所有能输入到计算机,并被计算机程序处理的符号的总称。
数据科学:基于传统的数学、统计学的理论和方法,运用计算机技术进行大规模的数据计算、分析和应用的学科。
大数据:无法在一定时间内用常规软件工具对其进行抓取,管理和处理的数据集合。
数据的规模和性能要求成为数据管理分析系统的重要设计和决定因素。
大数据不一定存储于固定的数据库,而是分布在不同地方的空间网络,以半结构化和非结构化数据为主,复杂性较高。 -
大数据的4V特性是什么?
Volume:大量,大数据的计量单位一般是TB,甚至到了PB ZB。
Variety:多样,数据来源多样(传感器,IT系统,应用软件),数据类型多样(结构化,半结构化,非结构化)
Velocity:快速,数据分析与结果常常需要及时处理才有意义。
Value:价值密度低,深度深,有巨大的科学价值和商业价值。
3.大数据的特点
收集的数据还未实现高度共享和深度利用
超大规模,存储副本的数据量更多
时空属性,包含时间与位置信息
模糊,数据未必精确和完整
数据维度高
4.数据科学的基本流程
数据获取与管理->数据存储与处理->数据分析与理解->结合领域进行应用
-
为什么要进行数据预处理?
由于数据来源不同,直接收集的数据往往是脏数据
现实世界的数据很多都是脏数据,比如滥用缩写词,不同的计量单位等等
数据错误具有不可避免性,在数据输入,数据集成,及传输过程中均有可能出现错误
没有高质量的数据就没有高质量的结果 -
脏数据的表现,以及产生的原因
表现:a.数据不完整,有些属性的值丢失或者不确定;可能缺失必要的数据
b.数据不准确,数据的属性值可能错误,以及有噪声数据
c.数据不一致,数据结构可能有较大差异,数据需求要改动,存在数据重复,信息冗余的问题。
原因:a.源数据本身是脏的;b.通过转换破坏了数据;c.数据集是干净的,但是集成会把数据变脏;d.”罕见”的错误可能在转换或集成之后变得频繁;f.随着时间的推移,旧数据失去了它的价值或准确性,上述的各种组合都可以产生脏数据。 -
数据质量的表现
正确性
完整性
一致性
可靠性 -
数据预处理的基本方法
数据清理,数据集成,数据变换,数据归约 -
数据清理的目标,基本任务是什么?
目标:解决数据质量的问题,让数据更适合于建模分析
基本任务:a.处理缺失值b.清洗噪声数据c.纠正不一致的数据d.根据需求进行清理 -
发生数据缺失的原因,数据缺失的类型,以及如何处理数据缺失呢?
原因:
a. 信息无法获取,或者获取代价巨大
b. 信息遗漏,比如需求模糊,或者采集存储的过程出现故障
c. 数据的某些属性不存在或者不可用
数据缺失的类型:
a. 完全随机缺失:不依赖其他变量,不影响样本的无偏性
b. 随机缺失:缺失值与其他属性或者变量有关系
c. 非随机缺失:缺失值与自身的属性或者变量有关系
处理数据缺失:
a. 数据删除:删除数据,删除属性,或者改变权重等等
b. 数据填充:可以使用空值,均值,中位数等特殊值填充;也可以使用最可能的数据填充,就需要建立模型来预测缺失值。 -
预测缺失值的方法都有什么?
热卡填充:在完整数据中找一个与缺失数据最像的数据进行填充
KNN(K距离最近法):根据相关分析来确定与缺失值距离最近的K个样本,将这K个值进行加权平均来估计样本的缺失值
回归分析:基于数据集建立回归模型,将已知属性代入估计未知属性值
EM算法(期望值最大化法):在缺失值为随机缺失的情况下,利用观测数据的边际分布对未知参数进行极大似然估计。E步是期望步,M步是极大化步。 -
噪声是什么?消除噪声的方法有什么?
噪声是测量误差的随机部分,包括错误值与偏离期望的孤立点值。
消除噪声要对噪声进行平滑处理。
方法:
a. 分箱:使用临近数据对数据进行平滑
b. 回归:建立回归函数,使数据适应回归函数来平滑数据
c. 识别离群点:聚类分析,将类似的值聚集成簇,落在簇外的称为离群点 -
分箱的步骤:
排序数据,将其放入等深的箱子(即平均分配数据到每个箱子)
按照箱子的平均值平滑,或者中位数平滑,或者按照边界值平滑 -
什么是数据集成?数据集成的目标是什么?经常出现的问题是什么?解决办法又是什么?
定义:数据集成是将多个数据源的数据整合到一个一致的数据存储中。
目标:获得更多的数据;获得更完整的数据;获得全面的数据画像
问题:数据集成的时候经常会出现冗余的数据,造成资源和存储的浪费,以及重复计算问题。
解决办法:分析属性之间的相关性,检测出冗余,进行数据融合,去除冗余。 -
检测数据相关性的方法有什么?
Pearson相关系数:取值是-1,1,;值大于0,A B正相关,且值越大相关性越高,因此AB中有一个就是冗余的属性。值为0,AB相互独立。值为负数,AB负相关。
卡方检验:值越大,两个变量的相关性越大。
度量距离:欧氏距离,曼哈顿距离,汉明距离,明式距离
相似度计算:余弦相似度,Jaccard相似度
-
无序数据与有序数据的区分
无序数据:每个数据样本中不同数据维度没有顺序关系
有序数据:每个数据样本中数据对不同维度有顺序要求(信息检索,推荐系统中应用) -
有序数据的距离度量方法
Spearman Rank斯皮尔曼等级相关系数:比较两组变量的相关程度,当关系是非线性的时候,非常适合。但是斯皮尔曼方法,只考虑的差异,但是没有考虑不同位置之间差异的重要性。
NDCG归一化的折损累计增益:
CG(累计增益):只考虑相关性的关联程度,没有考虑每个推荐结果处于不同位置对整个推荐效果的影响
DCG(折损累计增益):在每一个CG的基础上除以一个折损值,目的是让排名越靠前的结果越能影响最后的结果
reli表示处于位置i的结果相关性。
NDCG(归一化的折损累计增益):由于搜索结果随检索词的不同返回的数量不一致,而DCG是一个累加的值,无法对两个不同的搜索结果进行比较,因此要标准化处理,除以IDCG。IDCG是理想情况下最大的DCG的值。 -
什么是数据变换?数据变换的前提是什么?数据变换的方法有哪些?
数据变换就是将数据转换为合适分析建模的形式。前提就是不改变原始数据的规律。
方法:数据规范化和数据离散化。 -
数据规范化的目的。有哪些方法?
目的:将不同的数据按照一定的规则进行缩放,使他们具有可比性。
方法:
a. 最大最小规范化:将原始值区间映射到一个新的区间上去。适用于原始数据不存在很大或者很小的一部分数据的时候。
b. z-score规范化:最大最小值是未知的,或者离群点的影响比较大的时候。使用原始值与原始均值的差在除以标准差来衡量其在分布中的位置。
c. 小数定标规范化:数据含义相同,并且最大最小值相差较大的情况下使用,通过移动小数点进行规范化。
三种方法的比较:最大最小规范化保持了原始数据中存在的关系,消除了量纲对取值范围的影响,但是对最大最小值敏感;z-score规范化比较简单,不受数据量级的影响,但是要求平均值和方差已知,并且数据服从正太分布;小数标定规范化实现简单,但是要求数据的意义相同。 -
数据离散化的目的是什么?数据离散化的分类有什么?
目的:连续数据之间过于细致,难以分析其中存在的关系,划分为离散化的区间便于分析。
分类:
a. 非监督离散化(无类别信息):分箱,聚类(将类似的数据聚集成簇,每个簇计算一个值来代表这个簇用于离散化)
b. 有监督离散化:基于熵进行 -
什么是熵?什么是信息熵?熵与离散化的关系?
熵用来度量系统的不确定程度。
信息熵是自信息量的期望。
离散化的目标:使每个区间的数据确定性更高,熵变小。当一个样本区间中不同类的样本数目一样多,则熵最大,是logC,最不纯。当样本区间中只有一类,则熵最小为0。 -
为什么要进行数据归约?数据归约的目标是什么?
数据清理、数据集成之后获得了多源并且质量完好的数据集,但是数据的规模过大,使得分析非常复杂,需要很长的计算资源以及时间,因此需要归约。
数据规约的目标:缩小数据挖掘需要的数据集规模;数据集小的多,但是分析结果要与原来相同,并且保证数据归约的时间不能超过在原本的数据集上挖掘节省的时间。 -
数据归约的方法有哪些?
维度归约:考虑减少随机变量的属性的个数。
维度归约方法:
a. 主成分分析
b. 特征子集的选择
数值归约:使用较小的数据表示形式替换原始数据。
数值归约方法:
a. 参数化方法:使用参数模型估计数据(线性回归,多元回归等等)
b. 非参数化方法:不使用模型的方法估计数据(使用直方图,聚类抽样等) -
如何选择特征子集?
选择特征子集的目标是找到最小的属性集,使数据的概率分布尽可能的接近原分布。
步骤:建立子集集合->构造评价函数->构建停止准则->验证有效性 -
主成分分析的目的,思想,步骤,算法
目的:进行数据降维,数据去噪,数据压缩
思想:将高维数据(N维)向低维空间(K维)投影,同时使数据之间的区分度变大。K为空间的每个维度的基向量就是一个主成分。
步骤:
a. 消除原始数据不同属性的相关性,使K个维度相互独立
b. 最大化保留K维空间上的数据多样性,使用方差,方差越大数据多样性越好。
假设原数据为X,降维后的数据为Y,则要求Y的协方差矩阵为对角矩阵(这样就说明K个维度相互独立),并且Y的协方差矩阵中的元素越大越好。
算法:
a. 对样本去均值化
b. 计算协方差矩阵
c. 对协方差矩阵进行SVD分解,得到特征向量与特征值
d. 对特征值进行排序,找到最大的k个,对应的特征向量组成变换矩阵
e. 使用变换矩阵乘以原始数据,映射到新空间中 -
什么是特征工程?
在数据预处理之后,从数据中提取出有效的特征,使这些特征尽可能的表达清楚原始数据的信息,从而使后续建立的数据模型能够达到更好的效果。
数据特征决定了模型的上限,数据的特征越好,模型越简单,灵活性越强,性能就越出色。
特征工程是一个重复迭代的过程:对特征进行提取->特征设计->特征选择->评估。 -
如何设计特征?
提取基本特征:对数据进行处理,转化成可以使用的数值特征。比如归一化,离散化,数据变换等等。
创建新特征:在基本特征的基础上进行交叉变换,比值等等,构建新特征。
函数变换特征:比如傅里叶函数
独热特征表示:将每一个属性表示成一个很大的向量,每一维代表一个属性值。优点是直观简洁,但是当数据维度非常大的时候,空间和时间的消耗都是巨大的。
数据的统计特征:例如文档的词频统计。
对特征进行组合:构造高阶特征。比如基本特征的二元运算,导数等等。 -
如何选择特征?
选择特征就是从特征中挑选有效的特征子集。本质是一个组合优化问题,解决组合优化问题,要用搜索的策略。
完全搜索:枚举所有特征的组合
启发式搜索:增加要解决问题的相关特征,向最有希望的方向发展,是在计算量与性能之间的折中选择。
随机搜索:采用一定智能的随机搜索策略。 -
如何评价特征子集?
根据特征选择算法与后续学习算法分为过滤式,封装式和嵌入式的评价方法。
过滤式评价策略方法:独立于后续的学习算法模型来分析数据集的固有属性。采用一下基于信息的启发式准则来评价特征子集。
封装式评价策略方法:结合后续学习算法模型,将其分类性能直接作为特征重要性的评价标准。这样选择出的特征子集一定有最好的性能。
相比较于过滤式的评价标准,封装式选择的特征子集规模要小很多,模型的分类性能更好,但是泛化性很差,依赖于后续的算法学习。
嵌入式评价策略方法:特征选择算法嵌入到学习和分类算法中,即特征选择是算法模型中的一部分。算法有自动进行特征选择的功能。
带有惩罚项的特征选择方法:通过惩罚项对特征的系数进行处理。
基于树模型的特征选择方法:每一步都必须选择一个特征,将样本划分为纯度更高的子集,每次选择最佳特征。(决策树,随机森林等) -
传统特征工程的缺点有什么?相比之下机器学习和深度学习的优点呢?
传统特征工程:人力昂贵,领域知识要求高,特定领域性强,泛化能力差。
标准机器学习:数据,手动特征提取,训练模型,输出。
深度学习:数据,自动特征提取,训练模型,输出。
(深度学习常用的三种网络结构:自编码结构,卷积神经网络【CNN】,循环神经网络【RNN】) -
数据的类型有哪些?
结构化:有固定结构,可以使用关系型数据库存储
半结构化:不符合关系模型的数据要求,但有相关标记,分割实体属性
非结构化:没有固定的结构,比如文档、视频 -
关系型数据库与Nosql数据库对比,为什么需要Nosql数据库?
数据库是长期存储在计算机内,有组织的可共享的大量数据集合。
关系型:结构化存储,管理效率高,关系必须是规范化的,满足一定范式。存取路径对用户隐蔽,使用SQL语言。
非关系型:超大规模的数据存储,不需要固定模式,无需多于的横向扩展操作。没有声明性语言,没有预定义的模式。
为什么需要Nosql:数据飞速增长;关系型数据库有各种范式的约束,事务的约束,磁盘I/O等的限制;开发前期需求不明确等等 -
关系型数据库的特性
完整性:实体完整性,参照完整性,用户自定义
安全性:
自主控制存取:用户自己决定数据存取的权限
强制存取控制:系统强制给用户和数据标记安全等级
效率:建立索引 -
各种Nosql数据库的特性有什么。
文档型数据库MongoDB:常常用于Web应用,类似于Json格式。常用与日志,博客的处理,数据结构灵活可变,不用预先定义模式。但是查询性能不高,并且没有统一的语法。
图数据库Neo4j:常用于社交网络,推荐系统等等。利用图结构相关算法查找路径非常方便,但是又要经常扫描整个图,对集群式分布不友好。Neo4j的存储结构和数据查询方式都基于图论,符合节点加关系的结构。
键值对数据库Redis:主要用于处理大量数据的告诉访问负载,内容缓存等问题。查询速度快,但是数据无结构化,数据通常被当做字符串或者二进制数字。
列存储数据库HBase:适用于日志,分布式的文件系统。针对高容量,高性能的场景,查询速度快,可扩展性强,方便数据压缩,针对列数据查询优势大。但是功能相对局限,没有统一的查询语言。 -
存储图像的两种途径
存储图片的路径:将图片存储在本地,存储路径用来索引图片。
存储图像的数据:将图像的像素值提取出Numpy或者json格式进行存储 -
为什么要进行探索式数据分析?
大数据由于本身的特性,通常处理代价非常大,因此可以先用统计学的手段,了解其基本信息。在实际的大数据处理之前,可以先抽样得到小数据集,在小数据集上对总体进行判断。 -
总体和样本定义,以及如何从样本来评价总体。
总体:一个特定的大数据分析问题中,有关对象所构成的集合
样本:从样本中抽取的若干个体,有随机性与独立性
样本->数据分布->参数估计->假设检验->评估总体性质 -
数据分布的三个特性:
集中趋势:反应数据向中心靠拢的程度
离散程度:反应数据远离中心的程度
形状变化:反应数据分布的形状特征 -
反应数据集中趋势的指标:
平均数:适用于数值型数据,不适用与分类型和顺序数据,易受极值影响
注意几何平均数:n个变量乘积的n次方根
中位数:适用于数值型数据,不适用与分类型数据
众数:适用于数值型数据与分类型数据
分位数:3个点,四等分,成为四分位数。四分位距是Q3-Q1(IRQ) -
反应数据离散程度的指标:
方差与标准差:刻画数据在中心位置附近的分布
极差与四分位差:衡量中位数的代表程度
异众比率:衡量众数的代表性。是非众数占总数的比率。
变异系数:原始数据标准差与平均数的比。如果变异系数大于15%数据可能不正常。用于总体均值不同的两个数据的离散程度的比较。缺点是平均值接近0的时候微小的扰动也会影响变异系数。 -
反应形态变化的指标:
峰度:衡量数据在中心的聚集程度
偏度:衡量总体取值分布的对称性 -
参数估计
用样本量估计总体参数。
点估计:用样本指标作为总体指标。
区间估计:使用区间表示总体参数可能的取值范围。 -
点估计的方法:
矩估计:样本矩估计总体矩
最小二乘估计:估计值与观测值之差的平方和最小。
极大似然估计(MLE):利用已知的样本信息,反推最可能导致样本出现的模型参数值。用似然函数取到最大的参数值作为估计值。
最大后验估计(MAP):加入了先验知识,最大化给定数据样本情况下,模型参数的后验概率。
贝叶斯估计:是MAP的扩展,考虑了参数 的概率分布,不直接估计参数的值 -
极大似然估计,最大后验估计与贝叶斯估计的区别
最大后验估计和贝叶斯估计都加入了先验知识,极大似然估计没有;最大后验估计与极大似然估计都采用单值估计,而贝叶斯估计给出的是参数的概率分布;样本无穷多的时候三种方法会收敛到同一种结果;贝叶斯估计的代价最大。 -
如何评价点估计?
无偏性:抽样分布的数学期望等于被估计的总体参数,称为无偏估计
有效性:两个无偏估计量,方差小的更有效
相合性:随着样本数目的增加,点估计的值越来越接近被估计的总体参数值 -
假设检验与参数估计的比较
相同点:都是使用样本数据估计总体数据,使用的技术类似
不同点:假设检验是用样本检测参数是否成立;参数估计是用样本统计估计总体参数。 -
假设检验两个假设是什么?两类错误是什么?哪一类错误更严重?显著性水平是什么?
两个假设:原假设H0 备择假设H1
两类错误:弃真(H0成立,拒绝了H0);取伪(H0错误,接受了H0)
哪类更严重:弃真。因为弃真的犯错率为置信度,降低置信度就可以降低犯错率。而取伪由于许多可观因素造成,难以明确表示。
显著性水平:当H0正确的时候落在拒绝域的概率。是小概率事件。 -
假设检验的过程
提出原假设与备择假设
构造小概率事件进行实验
检验统计量构造
样本实验归一化
检验是否落在拒绝域 -
抽样方法的分类:
非概率抽样:不随机,按照研究目的对数据的要求采用某种方法抽取。
a. 随意抽样
b. 判断抽样
c. 志愿抽样
d. 滚雪球抽样
缺点:有主观性,有偏差,不能推断总体,无法得到可靠值
等概率抽样:
a. 简单随机:不放回,每个个体被抽到的概率一样(抽签,随机数表)
b. 系统抽样:总体数目过多,将其分成均衡部分,每部分按照规则抽取
c. 分层抽样:总体由差异明显的部分组成,先分层,在按照每层比例抽样。原则,层内差异小,层间差异大。
d. 整群抽样:总体数据分层若干个群,随机抽取若干群。原则,群内差异大,群间差异小。
不等概率抽样:总体单元相差较大,等概率抽样不一定好,可以给每个单元赋一个入样概率,重要的概率大。 -
为什么大数据还要进行抽样?
提高效率,节约计算资源时间成本;通过抽样解决样本不均衡问题;定性分析的需要。 -
什么是机器学习?机器学习的基本流程是什么?
机器学习:使计算机对一部分数据进行学习,得出一个模型,利用这个模型去对其他数据进行判断和预测。
基本流程:
a. 业务场景分析:业务抽象
b. 数据处理:数据清理,转换分类,人工标记等
c. 训练模型进行评价:一部分作为训练集,一部分作为测试集
d. 使用模型 -
特征工程对机器学习的意义。
使用特征工程对特征进行选择,可以选出对预测结果最有用的特征,加快机器学习的训练过程。因为数据减少了,同时可以使用简单模型避免过度拟合,模型的泛化性更好。 -
机器学习的分类
有监督学习:训练数据有对应的目标值,X是输入,Y是预期输出。监督学习对XY的关系进行学习,学习这种映射关系。
包括分类与回归。
分类:识别垃圾邮件
回归:预测股票模型
需要获取有目标值的样本数据,成本很好,需要人工标注。
无监督学习:样本不需要人工标注,没有目标值,也就是学习数据的内部结构。
包括聚类与数据降维。
聚类:事先不知道目标中有哪些类,设定合理取值进行分类。
半监督学习:一小部分标注数据,大部分无标注。
包括半监督分类,半监督回归,半监督聚类,半监督数据降维。
强化学习(增强学习):对系统和环境进行建模,通过与外界环境不断交互,获得反馈,不断修正模型。
深度学习:采用更深层次的人工神经网络进行学习。
54.统计分析与机器学习的对比
统计分析:
优点:a.模型有坚实的数理基础b.模型逻辑严密,建立在严格的演绎推理上c.分析结果一般以数学方程式给出,结果精确
缺点:a.模型只能刻画整体特征,细节不够b.模型建模需要很强的技巧c.模型对假设条件依赖性强,实际很难满足
机器学习:
优点:a.能发现局部特征的规律b.能发现新知识c.无需假设条件d.能及时更新
缺点:a.发现的规则筛选困难,需要专业知识b.模型建立在归纳假设基础上,不严密,需要验证c.模型难以用数学方程式表达,可解释性差d.模型有时效性
55.机器学习的常用方法
一元线性回归:选择模型,选择目标函数,拟合模型
SVM:原问题加上核函数技巧与梯度下降算法。二维数据无法线性区分,使用核函数升维,使其变的线性可分。
逻辑斯特回归:目的是从训练模型中学习出一个01分类模型
决策树:选择特征的依据是信息增益最大
-
为什么会出现过度拟合的问题?
有噪声,在训练数据上得到的精度远大于测试数据上得到的精度。训练的数据量不够,模型过于复杂,参数过多等。 -
什么是人工神经网络?什么是前向传导?什么是反向传播?
人工神经网络:模仿人类神经系统的特征,进行分布式并行,信息处理的数据模型。
前向传导:计算输出值的过程。将前端收集到的输入信号进行加权求和,经过一个激活函数转换成输出传送出去。
反向传播:计算误差,修正权重函数 -
什么叫数据可视化?数据可视化的作用是什么?
数据可视化:利用人眼的感知能力对数据进行交互的可视表达,用来增强认知的技术。
作用:记录信息,分析推理,证实假设,交流思想。协助思考,使用感知代替认知;作为大量记忆的外界辅助,增强认知能力。 -
文本分析的意义,以及主要方法。
意义:文本数据覆盖人们生活的方方面面,文本数据迅速增长,市场价值巨大。
主要方法:数据获取->数据处理->文本分析->文本检索->文本可视化
网页抓取->网页解析->中文分词->文本分类->文本索引->搜索排序->词云 -
网络抓取的分类
累积式抓取:定期从种子出发开始扩散,完全替换。
优点:实现简单,广度优先或者深度优先
缺点:周期长,代价大,有时效性更新效率的问题
适用范围:网页快照库的初始化和重建;定向抓取站点的档案记录等
增量式抓取:动态维护现有的网络资源,在原来的基础上进行新增与变化网页的收集。
优点:节约资源,节约带宽
缺点:策略复杂,难以缺点理想的抓取顺序,抓取的目标多样,要兼顾覆盖率更新率和时效性要求。
适用范围:搜索引擎的日常抓取。 -
恶意爬虫的危害
网络额外带宽的增加
核心内容被爬取
注册用户被扫描
点击欺诈 -
什么叫文本分词?
由于中文以汉字作为最小单位,词与词之前没有明确的界限性标志,因此要进行分词,词性标注,命名识别,词义消歧等操作、 -
中文分词面临的主要问题
如何识别未登录词
如何利用语言学知识
词语边界歧义处理
实时应用效率问题 -
分词的基本方法
基于人工规则:简单,易于理解,结果可控;但维护规则困难,分词精度欠佳。
基于机器统计学习:数据驱动,应用广泛;但高质量的数据获取昂贵。
基于深度学习:精度高;但可解释性差,需要海量数据进行训练。 -
文本表示的方法
文本表示旨在寻求自然语言在语义层次方面更精炼和一致的表示。
独热编码:建立词典表,0 1表示各个单词。
优点:简单直观,易于理解,运算效率高
缺点:实际应用中词汇表很大,每个单词都是高维向量,后期处理困难
绝对词频:每一个文档表示成一个N维向量,每一维对应一个单词。如果该单词出现在文档中,设置为这个词在文档中的出现的次数(即频率)。
缺点:高维,稀疏,后期难以处理
相对词频
逆文档概率
分布式表示:将文本表示为低维稠密的向量。降低维度表示,更少的参数和存储空间,能够承载语义等