本文来自 http://spark.apache.org/docs/latest/mllib-guide.html 官方文档翻译 个人翻译

MLlib包括的算法和工具主要有:分类,回归,聚类,协同过滤,降维,和底层优化原语:

  • 数据类型
  • 基本统计
    • 总和统计
    • 相关性
    • 分层抽样
    • 假设检验
    • 随机数生成
  • 分类和回归
    • 线性模型(SVM,逻辑回归,线性回归)
    • 朴素贝叶斯
    • 决策树
    • ensembles of trees (随机森林和Gradient-Boosted树)
  • 协同过滤
    • 最小二乘法(ALS)
  • 聚类
    • k-means
  • 降维
    • singular value decomposition (SVD)
    • principal component analysis (PCA)
  • 特征提取和转换
  • 优化(开发者)
    • 随机梯度下降
    • 限制内存的BFGS(L-BFGS)

依赖

MLlib使用线性代数包Breeze,他依赖netlib-java和jblas。netlib-java和jblas依赖原生的Fortran程序。如果你的节点中没有这些库,你也许会需要安装 gfortran runtime library。如果程序没有办法自动检测到这些库,MLlib 将会抛出链接错误的异常。由于许可原因,MLlib的默认依赖结合不包含netlib-java的原始库,运行时会出现一些警告信息。为了使用netlib-java的原始库,请在构建spark时使用-Pnetlib-lgpl或者包含com.github.fommil.netlib:all:1.1.2依赖。如果想使用想OpenBLAS这种BLAS/LAPACK优化库,需要连接/usr/lib/libblas.so.3 and /usr/lib/liblapack.so.3。worker节点上的BLAS/LAPACK libraries在build是不是用多线程。

如果想用 Python 调用 MLlib,你需要安装 NumPy 1.4 或者更新的版本。

04-18 01:02