機器學習框架:KeystoneML

w427 9年前發布 | 16K 次閱讀 機器學習 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

項目主頁:http://www.baiduhome.net/lib/view/home/1433057474548

 本文由用戶 w427 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!