За винятком дерев рішень та логістичної регресії, які інші класифікаційні моделі забезпечують хорошу інтерпретацію? Мене не цікавлять точність чи інші параметри, важлива лише інтерпретація результатів.
За винятком дерев рішень та логістичної регресії, які інші класифікаційні моделі забезпечують хорошу інтерпретацію? Мене не цікавлять точність чи інші параметри, важлива лише інтерпретація результатів.
Відповіді:
1) Я заперечую, що дерева рішень не є такими інтерпретаційними, як люди, які їх вирішують. Вони виглядають інтерпретаційно, оскільки кожен вузол - це просте, двійкове рішення. Проблема полягає в тому, що, коли ви спускаєтесь по дереву, кожен вузол є умовним для кожного вузла над ним. Якщо ваше дерево має глибину лише чотири або п’ять рівнів, все ще не надто складно перетворити шлях одного термінального вузла (чотири або п’ять розщеплень) у щось інтерпретаційне (наприклад, "цей вузол відображає клієнтів, які мають багато доходів, з кількома обліковими записами "), але намагатися відслідковувати кілька термінальних вузлів важко.
Якщо все, що вам потрібно зробити, - це переконати клієнта, що ваша модель є інтерпретаційною ("дивіться, кожне коло тут має просте так / ні рішення, легко зрозуміти, ні?"), То я б зберігав дерева рішень у вашому списку . Якщо ви хочете зрозумілої інтерпретації, я б припустив, що вони можуть не вирізати.
2) Ще одне питання - це з'ясування того, що ви маєте на увазі під "інтерпретацією результатів". Я зіткнувся з інтерпретацією в чотирьох контекстах:
Клієнт, здатний зрозуміти методологію. (Не те, про що ви просите.) Випадковий ліс досить просто пояснюється за аналогією, і більшість клієнтів почуваються комфортно з ним, як тільки це пояснюється просто.
Пояснення, як методика відповідає моделі. (У мене був клієнт, який наполягав на тому, щоб я пояснив, як підходить дерево рішень, тому що вони вважають, що це допоможе їм зрозуміти, як використовувати результати більш розумно. Після того, як я зробив дуже гарне написання, з великою кількістю приємних діаграм, вони відкинули тему. Це зовсім не корисно для тлумачення / розуміння.) Знову ж таки, я вважаю, що це не те, про що ви питаєте.
Після того, як модель підходить, інтерпретуючи те, що модель "вірить" чи "говорить" про прогнозистів. Ось де дерево рішень виглядає інтерпретаційним, але набагато складніше, ніж перші враження. Логістичний регрес тут досить простий.
Коли класифікується певна точка даних, пояснюючи, чому таке рішення було прийнято. Чому ваша логістична регресія говорить про те, що це шанс шахрайства на 80%? Чому у вашому дереві рішень йдеться про низький ризик? Якщо клієнт задоволений роздрукуванням вузлів рішення, що ведуть до термінального вузла, це легко для дерева рішень. Якщо "чому" потрібно узагальнити до людського розмови ("ця людина оцінюється низьким рівнем ризику, оскільки це клієнт-довгостроковий чоловік, який має високий дохід і кілька рахунків у нашій фірмі"), це набагато складніше.
Отже, на одному рівні інтерпретації чи поясненості (№1 з маленьким №4 вище), K-Найближчий сусід легко: "Цей клієнт був оцінений як високий ризик, оскільки 8 з 10 клієнтів, які раніше оцінювались і були більшістю подібні до них з точки зору X, Y та Z, було виявлено, що вони мають високий ризик ". На дійсному повному рівні №4 це не так інтерпретаційно. (Я думав фактично представити їм 8 інших клієнтів, але це вимагатиме від них детальних завдань, щоб вручну розібратися, що спільно з цими клієнтами, і, отже, що спільного з ними рейтингового клієнта.)
Нещодавно я прочитав пару статей про використання методів, подібних до аналізу чутливості, щоб спробувати придумати автоматизовані пояснення типу №4. У мене немає жодної під рукою. Можливо, хтось може кинути якісь посилання на коментарі?
Це залежить від даних, які ви використовуєте. Якщо ви не зацікавлені в точності, я вважаю, що візуалізація даних і класифікацій є одним з найкращих способів інтерпретації даних та продуктивності алгоритму.
Ось приклад порівняння різних класифікаторів. Кожен рядок - це різний набір даних із даними, що мають різну відокремленість. Кожен стовпець - це візуалізація кожного класифікатора.
http://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comppare.html
Дискримінантний аналіз - це оригінальна модель класифікації, що датується старістю Р. А. Фішером ( https://en.wikipedia.org/wiki/Linear_discriminant_analysis ). Це занадто часто ігнорується в сучасному світі машинних і статистичних моделей навчання, витісняючись підходами, більш узгодженими з останнім жаргоном.
Ця стаття міститься в Журналі машинного навчання і містить список інших методів: чи потрібні нам сотні класифікаторів, щоб вирішити проблеми класифікації реального світу? http://jmlr.org/papers/volume15/delgado14a/delgado14a.pdf
Щоб знайти зв’язок між функціями та класами, ви можете використовувати методи взаємозв'язку. Ви також можете застосувати чи-квадратний метод, щоб дізнатись, чи ознака пов'язана з класом. Для цього слід використовувати рівність міток класу. Наприклад, якщо ви тестуєте функції 1 та 1 клас, вам слід виконати бінінг для функції 1 та обчислити chi ^ 2 між бінізованими ймовірностями та змінною членства, яка має значення 1, коли клас 1, 0 в іншому випадку. Таким чином, якщо клас 1 залежить від функції 1, у деяких бункерах буде більша швидкість класу 1, тоді як у деяких бункерах буде нижча.
Додатковим методом, який я спробував із помірним успіхом, був пристосування функції класу до звичайного розподілу. Потім для кожного зразка в класі покращуйте оцінку ознаки залежно від відповідності вибірки до розподілу. За кожен зразок, який не є в класі, штрафуйте функцію для фітнесу. Очевидно, що вам потрібно нормалізувати кількість проб, які є в класі, а не їх. Це працює лише на функціях, які розповсюджуються близько до звичайного розподілу. Я використовував цей метод, щоб призначити бал за особливості для кожного класу.
Ніхто не згадав класифікацію найближчих сусідів. Це дуже просто пояснити; спостереження класифікується за найпоширенішим класом серед тих спостережень, які йому найближчі. Зазвичай ми обираємо непарне число найближчих сусідів, на яке слід звернути увагу, щоб не було зв'язку.