我正嘗試使用本機貝葉斯分類器來檢測欺詐事務。我在excel表格中有一個大約5000的樣本數據,這是我用來訓練分類器的數據,我有大約1000的測試數據,我將應用測試分類器。使用Mahout原生貝葉斯分類器算法需要哪些步驟?
這裏我的問題是,我不知道如何訓練分類器。在將其傳遞給訓練分類器之前,是否需要將我的訓練數據轉換爲某種特定的格式?訓練分類器將如何知道哪些是我的目標值以及哪些是其特徵。
有人可以幫我嗎?
我正嘗試使用本機貝葉斯分類器來檢測欺詐事務。我在excel表格中有一個大約5000的樣本數據,這是我用來訓練分類器的數據,我有大約1000的測試數據,我將應用測試分類器。使用Mahout原生貝葉斯分類器算法需要哪些步驟?
這裏我的問題是,我不知道如何訓練分類器。在將其傳遞給訓練分類器之前,是否需要將我的訓練數據轉換爲某種特定的格式?訓練分類器將如何知道哪些是我的目標值以及哪些是其特徵。
有人可以幫我嗎?
爲了測試您的數據,您需要確保您的培訓集有一些標籤,或者根據您在數據收集集中使用的某些功能將其劃分爲塊。我不確定你是如何組織數據的,但是你需要將你的數據集分成幾塊相似的特徵。
根據您的條件創建拆分後,請檢查輸入數據的創建。您可以使用驗證文件:
$MAHOUT_HOME/bin/mahout trainclassifier -i input_file -o output_model
測試使用的分類:
$MAHOUT_HOME/bin/mahout testclassifier -m output_model -d input_file
注:
hadoop fs -ls filename
使用訓練分類請注意,數據收集過程中,你需要確保您爲某些數據值(如果它們存在)分配權重。在實驗設置或數據收集期間,還必須完成數據清理以正常化錯誤。您可以使用任何乘法散點校正技術來修正數據集。
首先,有一個名爲training-categories.txt
的文件,其中包含您的分類器的類別。您可以使用簡單的文本編輯器來執行此操作。
現在我們有一個我們感興趣的類別列表,使用類別列表運行ExtractTrainingData
類。
$TT_HOME/bin/tt extractTrainingData \
--dir ./index \
--categories ./training-categories.txt \
--output ./category-bayes-data \
--category-fields categoryFacet,source \
--text-fields title,description \
--tv
該命令將讀取文檔並搜索類別和源字段中的匹配類別。在其中一個文檔中找到training-categories.txt
中列出的其中一個類別時,將從存儲在標題和說明字段中的術語向量中提取術語。這些條款將被寫入category-bayes-data
目錄中的文件。每個類別都會有一個文件。每個都是純文本文件,可以使用任何文本編輯器或顯示實用程序進行查看。
類別名稱出現在第一列中,而出現在文檔中的每個術語都包含在第二列中。 Mahout Bayes分類器期望輸入字段被阻止,所以您會看到這反映在測試數據中。數據命令extractTraining
的--tv
參數會導致使用每個文檔的術語 向量中的詞幹術語。
當ExtractTrainingData
類已完成運行時,它將輸出在每個類別中找到的文檔的計數。
我知道這是相當古老的帖子,但仍然,你是否能夠解決這個問題。如果是,你可以分享你是如何管理它的?謝謝 – user667022 2013-11-20 10:39:30