2017-10-05 92 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学习分类示例”,您就会发现很多。

    一旦你有一个训练有素的分类器,你可以比较它对以前没有见过的测试数据的预测。这样你就有了准确的感觉。

    希望这足以让你开始!

    相关问题