Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Рабочий режим

Постановка задачи | Задача классификации | Стратегия One-vs.-rest | Multi-label классификация | Методы и алгоритмы, реализованные в программной системе | Наивный Байесовский Классификатор | Стохастический Градиентный Спуск | Предобработка информации | Рабочий режим | Машинный эксперимент |


Читайте также:
  1. Assert срабатывает только в режиме Debug
  2. FQP в режиме маски
  3. My working day - Мой рабочий день
  4. NB! Питьевой режим: 2 литра жидкости в сутки (см. список разрешенных напитков).
  5. Rights of foreign citizens and persons without citizenship in the Russian Federation. [Электронный ресурс]. – Режим доступа: http://www. PetersburgCity.com/safety guide.
  6. Sanno F1, Батарея 2680mAh 20-30 дней в режиме ожидания
  7. Авторежим пневматический 100.050-1М

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

После запуска программы вызывается функция main(), которая записывает дату и время запуска программы, после чего определяет в каком режиме должна работать система – тестовом или рабочем. Для рабочего режима вызывается функция workMode, которой передается информация о файлах с данными для обучения и для выполнения предсказаний, информация о выбранном классификаторе, а также информация о папке в которую надо записать результаты предсказаний.

Функция workMode загружает данные для обучения и данные ля выполнения предсказаний из файлов и трансформирует их в формат Pandas.DataFrame, который удобен для обработки данных, которые можно представить в виде таблицы. Затем система формирует 3 набора данных:

1. X_train – информация о событиях из тренировочных данных

2. y_train – информация о изменениях в трендах в тренировочных данных

3. X_test – информация о изменениях в трендах, объяснение которым должна найти система

После формирования данных наборов, набор y_train (информация о произошедших изменениях в тренировочных данных) проходит через трансформацию с помощью функции preprocessing.MultiLabelBinarizer(). Данная трансформация преобразовывает матрицу текстовых меток (информацию о изменениях в трендах – страну выпуска ценной бумаги, тип изменения в тренде, биржу на которой торгуется бумага) в формат бинарной матрицы, содержащей метки о присутствии или отсутствии определенного класса в примере. Данное преобразование необходимо, так как использованные в дальнейшем алгоритмы ожидают именно такой формат на вход для выполнения предсказаний.

После этого система тренирует классификатор на базе выбранного алгоритма классификации.

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

Полученные матрицы передается функции TfidfTransformer(). Данная функция выполняет TF-IDF преобразование над переданными матрицами, которое было разобрано ранее. Преобразование выполняется для того, чтобы повысить вес редких параметров событий и понизить вес часто встречающихся характеристик. Например, если подавляющее большинство событий в наборе данных связано с российскими ценными бумагами то событие связанное с ценными бумагами другой страны будет иметь больший вес при обучении классификатора.

Полученные матрицы, содержащие информацию о изменениях и о произошедших одновременно с ними событиях, после преобразования TF-IDF передаются метаклассификатору OneVsRestClassifier(). Данный метаклассификатор использует переданные ему матрицы для выполнения задачи многоклассовой\многотемной классификации с помощью выбранного нами классификатора и стратегии One-vs-all.

Для облегчения задачи последовательного вызова функций CountVectorizer(), TfidfTransformer() и передачи результатов метаклассификатору OneVsRestClassifier() мы воспользуемся так называемым конвейером – Pipeline(). Конвейер просто последовательно применяет переданные ему функции и передает их результат выбранному классификатору.

После обучения классификатора на тестовых данных (команда fit()) мы выполняем предсказание для данных в X_test, то есть пытаемся объяснить изменения в трендах, хранимые в данной переменной. Полученные предсказания проходят обратное преобразование из формата бинарной матрицы, содержащей метки о присутствии или отсутствии определенного класса в примере в формат обычной текстовой информации с помощью функции inverse_transform(). Полученные предсказания сохраняются в текстовый файл. Пример результата:

0,"NegSpike,AAB,Apple Inc,EQTY,REIT,USD,Asian,JPN,XTKS,Internet Software & Services","(American, Bought Back, EQTY, FOX, Movies & Entertainment, Standard, Twenty-First Century Fox Inc, USA, USD, XNGS)"

1. 0 – порядковый номер результата

2. Следом идем набор меток изменения, которое мы пытаемся объяснить, разделенные запятыми.

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

По результатам системы производится файл с предсказаниями выполненными с помощью выбранного алгоритма классификации.


Дата добавления: 2015-11-16; просмотров: 74 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Инструкция пользователя| Тестовый режим

mybiblioteka.su - 2015-2024 год. (0.007 сек.)