KeystoneML 机器学习框架

程序名称:KeystoneML

授权协议: Apache

操作系统: 跨平台

开发语言: Scala

KeystoneML 介绍

KeystoneML 是一个用 Scala 编写的软件框架,来自伯克利大学 AMPLab 实验室。该项目主要目的是简化构造大规模、端到端的机器学习管道,基于
Apache Spark 构建。

示例代码:

val trainData = NewsGroupsDataLoader(sc, trainingDir)

val predictor = Trim.then(LowerCase())
  .then(Tokenizer())
  .then(new NGramsFeaturizer(1 to conf.nGrams))
  .then(TermFrequency(x => 1))
  .thenEstimator(CommonSparseFeatures(conf.commonFeatures))
  .fit(trainData.data)
  .thenLabelEstimator(NaiveBayesEstimator(numClasses))
  .fit(trainData.data, trainData.labels)
  .then(MaxClassifier)

测试:

val test = NewsGroupsDataLoader(sc, testingDir)
val predictions = predictor(test.data)
val eval = MulticlassClassifierEvaluator(predictions, test.labels, numClasses)

println(eval.summary(newsgroupsData.classes))

输出:

Avg Accuracy:    0.980
Macro Precision:0.816
Macro Recall:    0.797
Macro F1:    0.797
Total Accuracy:    0.804
Micro Precision:0.804
Micro Recall:    0.804
Micro F1:    0.804

KeystoneML 官网

http://keystone-ml.org/

相关编程语言

欧盟第7框架计划(FP7)的LarKC项目的目标是开发大规模...
Salad 是一种有效且灵活的实现著名的异常检测方法回...
multilanguage 是一个多语开发工具包,用于缓存多语...
go-cortex 是一个服务,通过倾听你的句子,并视图理...
DKPro Core 是基于 Apache UIMA 框架之上的自然语言...
NLTK 会被自然地看作是具有栈结构的一系列层,这些层...