分类问题
https://help.aliyun.com/document_detail/42715.html?spm=a2c4g.11186623.6.569.532118c01BixWH#主成分分析
-二分类问题
线性支持向量机:不是采用核函数的方式实现的,本算法仅支持二分类
逻辑回归二分类是一个二分类算法,组件支持稀疏、稠密两种数据格式。
逻辑回归多分类:经典逻辑回归多分类算法,组件支持稀疏、稠密两种数据格式
在GBDT回归与排序的基础上,用于二分类问题,即设定阈值,大于阈值为正例,反之为负例
K近邻:该算法解决分类问题。对于预测表的每一行,从训练表中选出距离该行最近的K条记录,K条记录中类别数最多的那一类作为该行的类别。
朴素贝叶斯:朴素贝叶斯分类是一种应用基于独立假设的贝叶斯定理的简单概率分类算法,更精确的描述这种潜在的概率模型为独立特征模型。
- 多分类问题
随机森林:随机森林是一个包含多个决策树的分类器,并且其输出的类别是由单棵树输出的类别的众数而定。单棵树算法可以选择id3,c4.5,cart。更多详细介绍请参见wiki。
逻辑回归多分类:经典逻辑回归多分类算法,组件支持稀疏、稠密两种数据格式
PS-SMART二分类PS是参数服务器(Parameter server)的简称。PS致力于解决大规模模型的离线、在线训练任务。SMART是Scalable Multiple Additive Regression Tree的缩写,是Gradient boosting decesion tree (GBDT)在PS上的一个实现。基于PS的Smart实现可以支持百亿样本、几十万特征的训练任务,可以在上千个节点上运行,且有failover功能,稳定性好。同时,PS-Smart支持多种数据格式、训练目标和评估目标,以及输出特征重要性,并包含直方图近似等加速训练的优化。
PS-SMART多分类PS是参数服务器(Parameter server)的简称。PS致力于解决大规模模型的离线、在线训练任务。SMART是Scalable Multiple Additive Regression Tree的缩写,是Gradient boosting decesion tree (GBDT)在PS上的一个实现。基于PS的Smart实现可以支持百亿样本、几十万特征的训练任务,可以在上千个节点上运行,且有failover功能,稳定性好。同时,PS-Smart支持多种数据格式、训练目标和评估目标,以及输出特征重要性,并包含直方图近似等加速训练的优化。
聚类算法
K均值聚类是一种得到最广泛使用的聚类算法,把n个对象分为k个簇,使簇内具有较高的相似度。相似度根据一个簇中对象的平均值来计算。
算法首先随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心。对剩余的每个对象根据其与各个簇中心的距离,将它赋给最近的簇,然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛。
它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。
DBSCANDBSCAN,英文全写为Density-based spatial clustering of applications with noise,是一种基于数据密度的无监督聚类算法。在聚类空间中的一定区域内,用给定的半径阈值和数量阈值,筛选出核心点及核心点的领域点,通过密度可达、密度相连的定义,实现数据点的聚类。在 2014 年,DBSCAN在数据挖掘会议 KDD 上获颁发了 Test of Time award,该奖项是颁发给一些于理论及实际层面均获得持续性的关注的算法。
回归问题
线性回归:线性回归是分析因变量和多个自变量之间线性关系的模型。
GBDT也叫梯度渐进回归树,是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。GBDT几乎可用于所有回归问题(线性/非线性),相对逻辑回归仅能用于线性回归,GBDT的适用面非常广。详细请参考论文 (a) A Regression Framework for Learning Ranking Functions Using Relative Relevance Judgments,(b) From RankNet to LambdaRank to LambdaMART: An Overview。
PS-SMART回归PS是参数服务器(Parameter server)的简称。PS致力于解决大规模模型的离线、在线训练任务。SMART是Scalable Multiple Additive Regression Tree的缩写,是Gradient boosting decesion tree (GBDT)在PS上的一个实现。基于PS的Smart实现可以支持百亿样本、几十万特征的训练任务,可以在上千个节点上运行,且有failover功能,稳定性好。同时,PS-Smart支持多种数据格式、训练目标和评估目标,以及输出特征重要性,并包含直方图近似等加速训练的优化。
PS线性回归线性回归(Linear regression)是经典的回归算法,分析因变量和多个自变量之间的线性关系。PS是参数服务器(Parameter server)的简称,致力于解决大规模模型的离线、在线训练任务,能够使用千亿行数样本训练,百亿特征模型并高效产出。PS线性回归支持千亿样本,十亿特征的训练任务,且支持L1,L2正则项。
协同过滤etrec
etrec是一个item base的协同过滤算法,输入为两列,输出为item之间相似度topKjaccard参考:Jaccard_index
实验中不是很懂的点:
散点图的含义
在选择方法时需要先对数据进行一定的统计分析,有助于对模型的选择做出判断
数据预处理
节点输入桩
- 归一化(目的)
采样与过滤:
- 随机采样(在随机采样过程中的随机种子的作用)
以随机方式生成采样数据,每次采样是各自独立的。
- 加权采样(加权采样的依据,列的选择?):以加权方式生成采样数据,权重列必须为:double和bigint类型,按照该列值的大小采样,比如所选权重列的值是1.2和1.0,则值为1.2所属样本的被采样的概率就大一些。
- 过滤与映射(对数据按照过滤表达式进行筛选,可以修改输出字段名称。)
- 分层采样数据集分层抽取一定比例或者一定数据的随机样本。
- 数据合并join两张表通过关联信息,合成一张表,并决定输出的字段,与SQL的join语句功能类似。
- 合并行(UNION)将两张表的数据按行合并,左表及右表选择输出的字段个数以及类型应保持一致。整合了union和union all的功能。
- 拆分该组件的主要用途,对数据进行随机拆分;将输入表或分区进行按比例拆分,分别写入两张输出表。主要用于生成训练、测试集。(交叉验证的问题)
- 缺失值填充界面(?值或者一个指定的值替换为最大值,最小值,均值或者一个自定义的值。可以通过给定一个缺失值的配置列表,来实现将输入表的缺失值用指定的值来填充。可以将数值型的空值替换为最大值,最小值,均值或者一个自定义的值。可以将字符型的空值,空字符串,空值和空字符串,指定值替换为一个自定义的值。待填充的缺失值可以选择空值或空字符,也可以自定义。缺失值若选择空字符,则填充的目标列应是string型。数值型替换可以自定义,也可以直接选择替换成数值最大值,最小值或者均值。
- 归一化(输入桩输出桩)如下:y=(x-MinValue)/(MaxValue-MinValue),MaxValue、MinValue分别为样本的最大值和最小值。可以选择是否保留原始列,勾选后原始列会被保留,处理过的列重命名。点击选择字段按钮可以选择想要归一化的列,目前支持double类型与bigint类型。组件配置
-标准化对一个表的某一列或多列,进行标准化处理,产生的数据存入新表中。标准化所使用的公式 :(X - Mean)/(standard deviation)。Mean:样本平均值。standard deviation:样本标准偏差,针对从总体抽样,利用样本来计算总体偏差,为了使算出的值与总体水平更接近,就必须将算出的标准偏差的值适度放大,即 。样本标准偏差公式: 代表所采用的样本X1,X2,…,Xn的均值。可以选择是否保留原始列,勾选后原始列会被保留,处理过的列重命名。点击选择字段按钮可以选择想要标准化的列,目前支持double类型与bigint类型。 - 类型转换将任意类型特征转成string|double|int特征,并支持转换异常时的缺失值填充。
- 算法规模转化后的列包含append列和kv所转化的列,先输出kv列再输出append列,当总列数超过odps最大列数限制,输出top1200选项为True,则输出最大列数,否则报错,目前odps的最大列数为1200列。数据量不超过1亿条记录。
特征工程
- 主成分分析
主成分分析主成分分析(PCA)是考察多个变量间相关性的一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关,作为新的综合指标。是使用主成分分析算法,实现降维和降噪的功能,算法原理请参见wiki。目前支持稠密数据格式。
特征尺度变换
- 特征离散
特征离散离散模块功能介绍支持稠密数值类特征离散。支持等频离散、等距离离散(默认)等无监督离散和基于Gini增益离散、基于熵增益离散等有监督离散(标签类必须是枚举类型string或者bigint类型)。
- 特征异常平滑
特征异常平滑组件功能介绍该组件可以将输入特征中含有异常的数据平滑到一定区间,支持稀疏和稠密数据格式。
说明:特征平滑组件只是将异常取值的特征值修正成正常值,本身不过滤或删除任何记录,输入数据维度和条数都不变。
- 随机森林特征重要性
随机森林特征重要性使用原始数据和随机森林模型,计算特征重要性。
GBDT特征重要性
计算梯度渐进决策树(GBDT)特征重要性。
线性模型特征重要性
计算线性模型的特征重要性,包括线性回归和二分类逻辑回归,支持稀疏和稠密数据格式。
偏好计算
给定用户明细行为特征数据,自动计算用户对特征值的偏好得分。
基于GBDT的过滤式特征选择
根据用户不同的特征选择方法,选择并过滤出TopN的特征数据,同时保存所有特征重要性表(右输出)。支持稀疏和稠密数据格式。
窗口变量统计
给定时间窗口,计算用户在相应时间窗内的行为次数和金额。例如时间窗口为“1,7,30,90,180”,计算用户相应天数内的行为次数和金额。
特征编码
特征编码概念由决策树和Ensemble算法挖掘新特征的一种策略。特征来自一个或多个特征组成的决策树叶子结点的one-hot结果。例如下图共有3棵树,构成的叶子结点共有34个叶子结点,按照树的顺序依次编码成0-11号特征,其中第0棵树的叶子结点占据0-3号特征,第二棵树占据4-7号特征,第三棵树占据8-11号特征。明显地,该编码策略可以有效的将GBDT非线性特征转换为*线性特征。
one-hot编码
one-hot编码组件训练功能:输入节点:该组件第一个输入节点(左)是训练数据的输入,训练时右输入节点无需设置。输出节点:该组件有两个输出结点,一个是编码后的结果数据表(左),另一个是模型表(右),该模型表用来对同类型的新数据进行one-hot编码。one-hot编码组件预测功能:one-hot组件第二个输入结点(右)是one-hot的模型输入,可以利用已有的one-hot模型来对新数据进行one-hot编码。
异常检测
特征重要性过滤
特征重要性过滤该组件为线性特征重要性、GBDT特征重要性、随机森林特征重要性等重要性评估组件提供过滤功能,支持过滤TopN的特征。
奇异值分解
奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,是矩阵分析中正规矩阵求对角化的推广。在信号处理、统计学等领域有重要应用。X = U S V’SVD 的详细介绍请见维基百科链接wiki
机器学习PAI支持两种数据
结构化和非结构化,在IDE上传数据量建议不要超过20M
非结构化数据:常用的图和语音—深度学习框架