返回 [Spark MLlib入门教程](http://mocom.xmu.edu.cn/article/show/5858ab782b2730e00d70fa08/0/1) --- ## 一、分类算法概述 分类是一种重要的机器学习和数据挖掘技术。分类的目的是根据数据集的特点构造一个分类函数或分类模型(也常常称作分类器),该模型能把未知类别的样本映射到给定类别中的一种技术。 分类的具体规则可描述如下:给定一组训练数据的集合T(Training set),T的每一条记录包含若干条属性(Features)组成一个特征向量,用矢量$x=({x_1,x_2,.., x_n})$表示。$x_i$可以有不同的值域,当一属性的值域为连续域时,该属性为连续属性(Numerical Attribute),否则为离散属性(Discrete Attribute)。用$C=c_1,c_2,.. c_k$表示类别属性,即数据集有k个不同的类别。那么,T就隐含了一个从矢量X到类别属性C的映射函数:$f(X)\mapsto C$。分类的目的就是分析输入数据,通过在训练集中的数据表现出来的特性,为每一个类找到一种准确的描述或者模型,采用该种方法(模型)将隐含函数表示出来。 构造分类模型的过程一般分为训练和测试两个阶段。在构造模型之前,将数据集随机地分为训练数据集和测试数据集。先使用训练数据集来构造分类模型,然后使用测试数据集来评估模型的分类准确率。如果认为模型的准确率可以接受,就可以用该模型对其它数据元组进分类。一般来说,测试阶段的代价远低于训练阶段。 ## 二、spark.mllib分类算法 分类算法基于不同的思想,算法也不尽相同,例如支持向量机SVM、决策树算法、贝叶斯算法、KNN算法等。`spark.mllib`包支持各种分类方法,主要包含 [二分类](http://en.wikipedia.org/wiki/Binary_classification), [多分类](http://en.wikipedia.org/wiki/Multiclass_classification)和 [回归分析](http://en.wikipedia.org/wiki/Regression_analysis)。下表列出了每种类型的问题支持的算法。 | 问题类型 | 支持的方法 | | ---- | ---------------------------------------- | | 二分类 | 线性支持向量机,Logistic回归,决策树,随机森林,梯度上升树,朴素贝叶斯 | | 多类分类 | Logistic回归,决策树,随机森林,朴素贝叶斯 | | 回归 | 线性最小二乘法,Lasso,岭回归,决策树,随机森林,梯度上升树, isotonic regression | 在以下的章节里,我们将介绍一些典型的分类和回归算法。
自动标签 : spark.mllib 分类 贝叶斯 数据集 算法 模型 属性 数据 训练 类别 构造分类模型 训练数据集 测试数据集
更多 [ 技术 ] 文章