机器学习

系统当前支持的机器学习算子类型包括:

数据准备

1.      数据过滤

用户可以配置单列特征的过滤方式和过滤规则,筛选掉冗余的样本数据行,或者仅保留有效的样本数据行。

过滤方式有两种:

过滤规则根据样本数据值进行配置,如下:

参数配置说明如下:

2.      数据修复

数据修复组件支持用户对单列和多列中的空值进行填充。

参数配置说明如下:

3.      数据联合

数据联合可将右集指定列的数据在左集指定列名下方进行拼接,要求数据类型、维度一致,列名可以不一样。

参数配置说明如下:

4.      数据连接

将右集指定列的数据在左集右方进行拼接,连接方法分为'inner'交集,‘outer’并集。左集列名和右集列名不能相同。

参数配置说明如下:

5.      数据去噪

通过数据去噪,筛选掉时间序列中的异常数据。

参数配置说明如下:

6.      数据采样

对输入数据按照一定的比例进行随机采样,采样比例输入0.0~1.0之间的小数。

参数配置说明如下:

7.      计算dataframe列特征参数

返回dataframe的列名、最大最小值、标准差、有效值个数、平均值、空值个数、25%分位数、50%分位数、75%分位数等。

参数配置说明如下:

8.      数据集分割

支持用户对数据集进行分割。

参数配置说明如下:

9.      设置header

对没有列名的dataframe用户可以利用此算子设置列名。

参数配置说明如下:

10.   列转行

data进行列转行操作,将多列转成多行,将生成三列。

参数配置说明如下:

11.   行转列

dataFrame进行行转列操作,将多行转成多列,需要用户指定行索引列,key列和values列。

参数配置说明如下:

12.   数据字符化

用户可以针对输入数据的类型不同(连续型或离散型),选择相应的映射方法进行数据的字符化映射,离散型映射时,需要用户手动输入字典类型的离散型映射表,其中包括了离散型数值或字符及其所对应的种类名称。在映射时会将待映射列中的值替换为对应的种类名称。连续型映射时,需要用户在hdfs中导入csv格式的连续型映射表,该csv映射表包括三个列:Min(数值类型),Max(数值类型),Index(数值或字符类型)。其中的MinMax组成了一个区间范围,Index中的值对应该范围对应的种类名称。用户可在csv映射表中输入多行多个区间范围及对应的种类名称。在映射时会将待映射列中的值替换为对应的种类名称。最后生成的结果为两列,第一列是要目标列,第二列是字符化后的结果,列名命名以 目标列名+_characterization’这样的形式,例如:第一列列名,col0 第二列列名,col0_characterization

参数配置说明如下:

特征工程

1.      重命名

对选中的表名进行修改。注意:

参数配置说明如下:

2.      归一化

对数据进行归一化操作,支持三种归一化算法:

参数配置说明如下:

3.      标准化

标准化支持L1_normL2_norm两种算法对特征列的样本数据进行处理,说明如下:

参数配置说明如下:

4.      数值化

非数值化数据无法直接计算,需要通过数值化将其转换为数值型。数值化的思路是根据特征列的样本数据的种类进行编码,数值化后样本数据为取值范围在[0,样本数据种类-1]区间内的整型数据。

参数配置说明如下:

5.      离散化

特征离散化是将特征列连续的样本数据离散化为[0,离散数量-1]区间内的整型数据。选中的特征列必须为数值型。

参数配置说明如下:

6.      One-hot编码

One-hot就是采用向量的形式表示一个特征。

参数配置说明如下:

7.      数据变换

数据变换是通过以自然常数e为底的自然对数(log)、以自然常数e为底的指数函数(exp)对特征列的样本数据进行变换,选中的特征列必须为数值型。其中:

参数配置说明如下:

8.      删除列

删除列即删除数据集中指定的特征列。

参数配置说明如下:

9.      保留列

特征操作支持选择并保留数据集中指定的特征列,删除其余特征列。

参数配置说明如下:

10.   新增特征

新增特征支持用户基于已有的特征列,按照样本数据行的维度,通过求和、求均值,构造出新的特征列。例如,两个特征列ID12,7,1)和特征列ID23,2,7),求和后构造出的特征列为ID_SUM5,9,8)。

参数配置说明如下:

11.   PCA

PCA的实质就是在尽可能代表原特征的情况下,将原特征进行线性变换,寻找数据分布的最优子空间,从而达到降维、去相关的目的。支持两种主成分分析算法:

参数配置说明如下:

12.   卡方检验

卡方检验用于衡量实际值与理论值的差异程度,通过计算数据集的特征列和标签列之间的偏离程度(即卡方值)筛选出有价值的特征列。将卡方值由小到大排序,筛选出TopK的特征列。说明如下:

参数配置说明如下:

13.   数据类型转换

data的某列数据类型进行转换。其中:

注意:int64float64只适合原数据是数值型字符串,complex128只适合原数据是数值型数据,bool转换后非0数据全是true

参数配置说明如下:

分类

1.      SVM分类

SVM支持向量机(support vector machine)是一个分类算法, 通过找到一个分类平面,将数据分隔在平面两侧,从而达到分类的目的。

参数配置说明如下:

2.      随机森林分类

随机森林(Random Forest,简称RF),是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树。针对分类问题,每棵决策树都是一个分类器,那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出。

参数配置说明如下:

3.      逻辑回归分类

逻辑回归又称logistic回归分析,从本质来说属于二分类问题,就是把我们的输入值在线性回归中转化为预测值,然后映射到Sigmoid 函数中,预测值对应的Y值越接近于1说明完全符合预测结果。针对多分类问题,需要多个分类器,每个分类器均为一个二分类模型,最终多分类器中输出最大的为最终结果输出。

参数配置说明如下:

4.      朴素贝叶斯分类

朴素贝叶斯是生成方法,也就是直接找出特征输出Y和特征X的联合分布P(X,Y),然后用P(Y|X)=P(X,Y)/P(X)得出结果;高斯朴素贝叶斯是假设特征x符合高斯正态分布,以此来估计每个特征下每个类别上的条件概率。

参数配置说明如下:

5.      GBDT分类

GBDT(Gradient Boosting Decision Tree)boosting系列算法中的一个代表算法,它是一种迭代的决策树算法,由多棵决策树组成,所有树的结论累加起来作为输出结果。

参数配置说明如下:

回归

1.      决策树回归

回归决策树主要指CART(classification and regression tree)算法,内部结点特征的取值为“是”和“否”, 为二叉树结构。回归树就是将特征空间划分成若干单元,每一个划分单元有一个特定的输出。对于测试数据,我们只要按照特征将其归到某个单元,便得到对应的输出值。

参数配置说明如下:

2.      SGD回归

随机梯度下降法即指:每次计算梯度时,只随机的选取一个样本来计算梯度,这样就大大的减小了计算的复杂度。SGD回归是指通过SGD的方法进行回归预测。

参数配置说明如下:

3.      保序回归

保序回归是寻找一组非递减的片段连续线性函数,即保序函数,使其与样本尽可能的接近。

参数配置说明如下:

4.      GBDT回归

GBDT(Gradient Boosting Decision Tree)boosting系列算法中的一个代表算法,它是一种迭代的决策树算法,由多棵决策树组成,所有树的结论累加起来作为输出结果。

参数配置说明如下:

5.      随机森林回归

随机森林回归树与分类树的唯一不同的是不纯度的指标,即参数Criterion不一致。回归树的Criterionmsemae两种。其他的参数与分类树完全一致。

参数配置说明如下:

聚类

1.      Kmeans聚类

kmeans算法又名k均值算法。其算法思想大致为:先从样本集中随机选取 k 个样本作为簇中心,并计算所有样本与这 k 个“簇中心”的距离,对于每一个样本,将其划分到与其距离最近的“簇中心”所在的簇中,对于新的簇计算各个簇的新的“簇中心”。

参数配置说明如下:

2.      GMM聚类

GMM是高斯混合模型(或者是混合高斯模型)通过样本找到K个高斯分布的期望和方差,那么K个高斯模型就确定了。在聚类的过程中,不会明确的指定一个样本属于哪一类,而是计算这个样本在某个分布中的可能性。

参数配置说明如下:

异常检测

当前暂不支持异常检测。

预测

1.      预测

调用算法生成的模型进行预测,生成prediction预测值列。

参数配置说明如下: