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