Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Виявлення викидів є важливим завданням у сфері машинного навчання. Він використовується для виявлення незвичайних спостережень або точок даних, які відхиляються від загальної тенденції набору даних. Одним з ефективних алгоритмів для виявлення викидів є алгоритм ізольованого лісу .
У сьогоднішньому блозі ми розглянемо основи алгоритму Isolation Forest і продемонструємо, як використовувати його для виявлення викидів у наборі даних за допомогою . Ви можете переглянути повне відео цього підручника внизу цього блогу .
Зміст
Алгоритм ізольованого лісу проти методу Box Plot
Нижче показано два візуальні елементи для виявлення викидів. Зверніть увагу на значні відмінності у візуальному представленні під час використання порівняно з тим, коли використовується модель Isolation Forest ML Model for Outlier Detection.
У моделі Isolation Forest ML відсоток викидів, виявлених алгоритмом виявлення аномалій IS, становить 32,56%. Використовуючи той самий алгоритм, решта 67,44% даних потрапляє в нормальний діапазон, який є досить чутливим. Наша мета — налаштувати цю чутливість за допомогою .
Традиційний метод виявлення викидів
Традиційним способом визначення викиду є використання методу прямокутної діаграми . У цьому методі ми використовуємо IQR, щоб знайти те, що виходить за межі очікуваного діапазону даних.
У цьому прикладі ця єдина точка над вусом є нашим викидом.
Якщо ми переведемо цей візуальний графік у кругову діаграму, ми отримаємо цей конкретний викид, який еквівалентний 2,33% від загальної кількості даних.
У цьому блозі ми навчимося використовувати метод Isolation Forest ML Method, налаштувати його відповідно до традиційного методу та збільшити або зменшити його чутливість.
Набір даних для алгоритму ізольованого лісу
Відкрийте наш набір даних у LuckyTemplates. Потім натисніть Transform Data.
З’явиться наш набір даних для цього підручника. Він містить дату , кількість користувачів , індекс і викид ізольованого лісу з результатом 1 для нормального діапазону та -1 для викидів .
У нас також є стовпець для Традиційного викиду та умовний стовпець під назвою IS Anomaly Detection , що відображає викид ізольованого лісу.
Наш другий запит показує наш фрейм даних, який ми навчимося об’єднувати.
Коди Python
На панелі властивостей ми можемо побачити наші два запущені сценарії. Ми створюємо вивід Isolation Forest за допомогою одного з цих сценаріїв і генеруємо традиційний викид за допомогою іншого.
Код Python алгоритму ізоляції лісу
Натисніть Запустити сценарій Python , щоб переглянути код.
У цьому коді Python ми імпортуємо як pd і використовуйте щось під назвою Isolation Forest.
Ізоляційний ліс — це модель на основі дерева, яка приймає рішення на основі структури дерева, а потім вирішує, чи є він викидом чи ні. Ми називаємо це моделлю ансамблю , оскільки вона використовує два різні методи пошуку конкретного викиду.
Ми також замінюємо змінну набору даних , яка містить наш набір даних за умовчанням, на df .
Враховуючи наш набір даних, нам не знадобляться два рядки кодів, виділені нижче, тому ми можемо просто видалити ці рядки.
Те, що ми робимо, це створення екземпляра моделі.
Збережіть модель як IsolationForest і дозвольте моделі вивчати дані з користувачами. Потім створіть новий стовпець під назвою «Виявлення аномалій» , який переглядатиме всі отримані дані та передбачатиме, який із них має бути викидом, а чи ні.
Для цієї функції за замовчуванням для забруднення встановлено значення 0,5 . Таким чином, на даний момент він надзвичайно чутливий і шукатиме багато викидів. Ось чому на нашій раніше круговій діаграмі ми маємо дуже високий діапазон викидів у 32,56%.
Щоб зробити його менш чутливим, ми можемо додати contamination = .1 у функцію IsolationForest .
Нарешті скиньте індекс і натисніть OK.
Результат покаже зведену таблицю. Перейдіть до панелі Applied Steps і натисніть df.
У вихідних даних ми можемо знайти викиди в стовпці «Виявлення аномалії» .
Ми також хочемо побачити, як він працює поряд із традиційним викидом.
Традиційний вихідний код Python
Ми запустимо інший сценарій Python, який у цьому прикладі є сценарієм Run Python1.
Цей код додає функцію викиду за допомогою першого та третього квартилів. Коли ми віднімаємо q1 від q3 , ми отримуємо міжквартильний діапазон (IQR) .
Наступні два рядки встановлюють умови для викидів. Перший рядок говорить, що все, що менше ніж 1,5 * iqr , вважається негативним або нижчим викидом. Це також те, як ми знаходимо викиди традиційним способом.
Ми також знаємо, що в наших даних є один викид як найвища точка. Щоб врахувати це, у другому рядку зазначено, що точки даних, які вищі за q3 + 1,5 * iqr , також вважаються викидами.
Поверніть цей набір даних і скористайтеся функцією outliers(df, 'Users') . Потім натисніть OK.
З'явиться зведена таблиця, подібна до тієї, що була раніше.
Якщо ми перейдемо на панель Applied Steps і клацнемо Changed Type1 , ми побачимо поруч стовпці Traditional Outlier і Anomaly Detection , де в останньому буде використано 1 і -1 для позначення викидів, а ні.
Однак, коли ми використовуємо дати з Python, вони можуть виглядати переплутаними.
Що ми можемо зробити, так це створити додатковий стовпець за допомогою Index із Add Column .
Потім додайте Index до попереднього стовпця за допомогою Merge , щоб ми могли зберегти всю інформацію в цьому вихідному стовпці/наборі даних.
Коли ми все зібрали, ми можемо запустити наш код і оновити візуальні елементи. Пам’ятайте, що ми змінили забруднення викиду з 0,5 на 0,1, тому ми повинні побачити, як ця частина графіка трохи зменшиться.
Поверніться до візуальних елементів і натисніть «Застосувати зміни».
Зверніть увагу, як виявлення аномалій знизилося з 32,56% до 11,63% наших даних.
Як ми бачимо в наших результатах, це хороший спосіб оптимізувати наше виявлення викидів.
Також пам’ятайте, що коли люди використовують традиційний метод, вони можуть використовувати значення, нижчі за 1,5, але 1,5 x IQR є традиційним способом.
Висновок
Використовуючи алгоритм ізольованого лісу, ми можемо легко ідентифікувати та виключити будь-які незвичайні спостереження з нашого набору даних, таким чином підвищуючи точність нашого аналізу. Цей підручник містить покрокові інструкції щодо використання алгоритму Isolation Forest для виявлення викидів за допомогою Python, що має допомогти вам розпочати впровадження його у власні проекти.
Ми створили дуже простий код для пошуку аномалій. Ви можете додатково оптимізувати цей алгоритм, змінивши забруднення та безліч інших змінних, які можна дізнатися за допомогою кодової сторінки.
Все найкраще,
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.
Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.
Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.
У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.
У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.
Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.
Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.
У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.