іна, щоб система зробила висновок про наявність «сплеску» в ціні.
5. dateThreshold. На скільки днів вперед система перевірятиме ціни для перевірки гіпотези про зміну в тренді ціни.
6. filesForMl. Папка, в яку будуть збережені результати роботи програми.
Приклад використання програми продемонстрований нижче.
Програма скопійована в папку D: DiplomaProject PreProcessing
Рис. 4. Програма скопійована в папку
Подвійне клацання миші по FactEventAnalyzer.exe запускає предобработчік. Так як це консольний додаток то з'являється вікно консолі, яке залишатиметься відкритим на весь час роботи програми.
Рис. 5. Робота системи предобработки даних
Після завершення роботи програми в підпапці Log доступний журнал роботи програми:
Рис. 6. Журнал роботи системи предобработки даних
А у зазначеній раніше у файлі Config.xml папці зберігаються результати роботи програми предобработки:
Рис. 7. Результат роботи системи предобработки даних
.2 Система класифікації
Отримані в попередньому кроці файли використовуються системою FactGeneralyzer, код якої доступний в Додатку 4.
Дана система розроблена за допомогою мови Python і пакету Scikit-learn, які надають реалізацію згаданих у попередніх розділах методів і алгоритмів машинного навчання. Система дозволяє вибрати класифікатор, який буде використовуватися при роботі. Система здатна працювати в двох режимах - тестовому і робочому. Опис обох режимів представлено нижче.
.2.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 передаються метаклас...