Повестка дня

  1. Построение модели в scikit-learn (резюме данных Iris)
  2. Изучение данных текстовой аналитики
  3. Векторизация нашего набора данных
  4. изучить словарь тестовых данных
  5. Построить матрицу терминов документа (представление текста в виде числовых данных)
  6. Построить модель из словаря данных поезда
  7. Оценить тестовые данные
  8. Сводка по обучению и оценке модели на данных поезда и тестовых данных

Прежде чем мы приступим к машинному обучению с текстом в scikit-learn, просто повторим построение модели в scikit-learn для данных Iris и выполним аналогичные шаги для текстовых данных.

1. Построение модели в scikit-learn (резюме данных Iris)

Чтобы сделать прогноз, новое наблюдение должно иметь те же характеристики, что и обучающие наблюдения, как по количеству, так и по значению.

  • Что могло бы произойти, если бы мы прошли 5 признаков? он мог выдать ошибку, потому что он узнал взаимосвязь только с 4 функциями, поэтому он потерпит неудачу
  • Что делать, если функции расположены в неправильном порядке? Мы можем не получить ошибку, но при прогнозировании она должна быть в том же порядке, что и в процессе подбора модели, поскольку функции обучения Scikit (в формате массива numpy) не помечены, поэтому он ожидает, что входные данные прогнозирования будут в тот же порядок, иначе правильный вывод не гарантируется

2. Изучение данных текстовой аналитики

Чтобы лучше понять концепцию текстовой аналитики, давайте возьмем небольшой пример из трех SMS-сообщений:

1.call you tonight
2.Call me a cab
3.please call me... PLEASE!

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

Test message
1.please don't call me
We need to analyse whether the above test message
1.is_desperate=1 
2.is_not_desperate=0

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

Мы будем использовать CountVectorizer для преобразования текста в матрицу количества токенов:

3.Векторизация нашего набора данных

4. Изучите словарь обучающих данных.

5. Создайте матрицу терминов документа

В этой схеме функции и образцы определяются следующим образом:

  • Каждая отдельная частота появления токена (нормализованная или нет) рассматривается как функция.
  • Вектор частот всех токенов для данного документа считается многомерной выборкой.

Таким образом, корпус документов может быть представлен матрицей с одной строкой на документ и одним столбцом на токен (например, слово), встречающимся в корпусе. .

Мы называем векторизацией общий процесс преобразования набора текстовых документов в векторы числовых признаков. Эта конкретная стратегия (токенизация, подсчет и нормализация) называется представлением Bag of Words или «Bag of n-grams». Документы описываются вхождениями слов, полностью игнорируя информацию об относительном положении слов в документе.

Рассмотрим тип DTM и исследуем содержимое того же

6. Создайте модель из словаря данных поезда.

7. Оцените данные испытаний

Чтобы сделать прогноз, новое наблюдение должно иметь те же характеристики, что и обучающие наблюдения, как по количеству, так и по значению.

Так как модель не обучена слову don't , следовательно, оно игнорируется и учитываются только оставшиеся слова call, me, please

Результат-

Прогноз тестового сообщения 1 означает, что это отчаянное сообщение!!!

8.Обзор:

  • vect.fit(train) изучает словарный запас обучающих данных
  • vect.transform(train) использует подогнанный словарь для построения матрицы терминов документа на основе обучающих данных.
  • vect.transform(test) использует подогнанный словарь для построения матрицы терминов документа на основе данных тестирования (и игнорирует маркеры, которые он не видел раньше)