/Spark_MLlib_Algorithm_1.6.0

Spark Mllib 1.6.0版本算法封装

Primary LanguageScala

Spark 1.6.0 MLlib算法封装:

分类算法:
1. Logistic Regression :两分类或多分类逻辑回归,目标类别必须是{0,1,2,3,...},即必须从0开始;
2. SVM : 二分类支持向量机,目标类别必须是{0,1};
3. DicisionTree: 多分类、逻辑回归,目标列是{0,1,2,3,...}当是分类问题是,如果是回归,则目标列是数值类型即可;
        属性列可以是数值类型或离散型(TODO 离散型是否可以是字符串? )
4. GradientBoostedTree:二元分类或回归树,如果是分类问题,目标列必须是{0,1},如果是回归则数值类型即可;
5. IsotonicRegression: 保序回归,暂时只支持两列数据,一列属性列,一列目标列(数值类型);
6. NaiveBayes : 贝叶斯算法,主要用于文分类,目标列是{0,1,2,3,,,,};
7. Random Forest : 随机森林算法,可用于二元或多元分类,回归,目标列是{0,1,2,3,,,,};
8. LinearRegression: 多元线性回归,目标列数值型即可;
9. RidgeAndLassoRegression: 岭回归、套索回归,目标列数值型即可;


聚类算法:

1. KMeans: k均值聚类算法,多个属性列聚类,属性列数值类型;
2. GaussianMixture:高斯混合模型聚类,属性列数值类型;
3. PowerIterationClustering: 幂迭代聚类,属性列数值类型;

协同过滤算法:
1. ALS算法:交替最小二乘法,推荐建模,暂时没有预测;

降维算法:
1. PCA算法:主成分分析降维,需要提供数值类型数据;
2. svd算法:SVD分解降维,提供数值类型数据;

关联规则:
1. FP算法:FP Tree算法,提供事务数据即可,不要求一定需要数值或字符串;
2. AssociationRules: 暂时不清楚算法;


部署:
1. 下载工程,然后install -Dmaven.test.skip=true , 得到mllib.algorithm.1.6.0-1.0-SNAPSHOT.jar 包;
2. 拷贝mllib.algorithm.1.6.0-1.0-SNAPSHOT.jar 到HDFS上(该路径需要和业务工程配置文件中的参数对应);