Классифицировать имена файлов (экспортированные в Excel) на основе имен/типа

В рамках моей работы мы составляем полный список на основе всех файлов, которые пользователь имеет на своем диске. Эти пользователи должны решить для каждого файла, архивировать их или нет (обозначается Y или N). В качестве услуги для этих пользователей мы вручную заполняем это для них.

Мы экспортируем эти файлы в длинный список в Excel, где каждый файл отображается как X:\4. Экономика\10. ххххххх\04. хххххххх\04. xxxxxxxxxx\filexyz.pdf

Я бы сказал, что мы можем легко автоматизировать это, поскольку стандартные соглашения об именах позволяют легко решить, какие файлы оставить, а какие удалить. Например, следует сохранить файл со строкой «CAB» в имени файла. Однако я понятия не имею, как и с чего начать. Может ли кто-нибудь указать мне в правильном направлении?


person user2000008    schedule 05.10.2017    source источник


Ответы (1)


Я бы предложил следующие общие шаги

  1. Получить необработанные данные

Вы можете прочитать файл Excel в кадре данных pandas на питоне. В идеале у вас будет необработанный кадр данных, который выглядит примерно так

     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
                   ....
  1. Предварительно обработать/очистить

Эта часть больше зависит от вас, например, вы можете удалить все специальные символы и цифры. Это оставило бы буквы следующим образом

     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
                ....
  1. Векторизация строк

Чтобы алгоритм понимал ваши текстовые данные, вы обычно векторизуете их. Это означает, что вы превращаете их в числа, которые алгоритм может обработать. Самый простой способ сделать это — использовать tf-idf и 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
                       ....
  1. Обучение классификатора

Теперь, когда у вас есть хорошие числа для работы алгоритмов, вы можете обучить классификатор с помощью scikit-learn. Просто введите в поиск «пример классификации scikit Learn», и вы найдете много.

Когда у вас есть обученный классификатор, вы можете сравнивать его прогнозы с тестовыми данными, которых он раньше не видел. Так вы почувствуете точность.

Надеюсь, этого достаточно, чтобы вы начали!

person Hakim Khan    schedule 05.10.2017