2017-10-05 96 views
0

對於我工作的一部分,我們根據用戶在其驅動器中的所有文件製作完整列表。這些用戶必須決定是否歸檔這些文件(用Y或N表示)。作爲對這些用戶的服務,我們手動爲他們填寫。根據名稱/類型對文件名(導出到Excel)進行分類

我們將這些文件導出到excel中的長列表中,該列表將每個文件顯示爲X:\ 4。經濟學\ 10。 XXXXXXXX \ 04。 XXXXXXXXX \ 04。 xxxxxxxxxx \ filexyz.pdf

我認爲我們可以很容易地自動執行此操作,因爲標準命名約定可以輕鬆決定保留哪些文件以及要刪除哪些文件。例如,應該保留文件名中帶有字符串「CAB」的文件。但是,我不知道如何以及從哪裏開始。有人能指引我朝着正確的方向嗎?

回答

0

我建議以下一般步驟

  1. 獲取原始數據

您可以閱讀蟒excel file into a pandas dataframe。理想情況下,你將有一個原始數據框,看起來像這樣

 Filename       Keep 
0 X:\4. Economics ...\filexyz.pdf 0 
1 X:\4. Economics ...\fileabc.pdf 1 
2 X:\3. Finance ...\filetef.pdf 1 
3 X:\3. Finance ...\file123.pdf 0 
4 G:\2. Philosophy ..\file285.pdf 0 
        .... 
  • 預處理/清潔
  • 這部分是比較你的,比如你可以刪除所有特殊字符和數字。這將使字母如下

     Filename      Keep 
    0 "X Economics filexyz pdf" 0 
    1 "X Economics fileabc pdf" 1 
    2 "X Finance filetef pdf"  1 
    3 "X Finance file123 pdf"  0 
    4 "G Philosophy file285 pdf" 0 
           .... 
    
  • 矢量化你的字符串
  • 對於一個算法來理解你的文本數據時,通常向量化它們。這意味着您將它們轉換爲算法可以處理的數字。一個簡單的方法是使用tf-idf and scikit-learn。在這之後你的數據幀可能是這個樣子

     Filename        Keep 
    0 [0.6461, 0.3816 ... 0.01, 0.38]  0 
    1 [0.,  0.4816 ... 0.25, 0.31]  1 
    2 [0.61, 0.1663 ... 0.11, 0.35]  1 
             .... 
    
  • 訓練分類
  • 現在,您對算法與你合作很好號碼可以用scikit-learn來訓練分類器。只需搜索「scikit學習分類示例」,您就會發現很多。

    一旦你有一個訓練有素的分類器,你可以比較它對以前沒有見過的測試數據的預測。這樣你就有了準確的感覺。

    希望這足以讓你開始!

    相關問題