Коли ми говоримо, що набір даних не підлягає класифікації?


11

Я багато разів аналізував набір даних, на якому я не міг зробити жодної класифікації. Щоб побачити, чи можу я отримати класифікатор, я зазвичай використовую такі кроки:

  1. Створіть графіки графіки мітки проти числових значень.
  2. Зменшіть розмірність до 2 або 3, щоб побачити, чи розділяються класи, також іноді пробуйте LDA.
  3. Намагайтеся налаштувати SVM та випадкові ліси та перегляньте важливість функції, щоб дізнатись, чи мають функції такі сенси чи ні.
  4. Спробуйте змінити баланс класів та методів, таких як недобір вибірки та перевибірки, щоб перевірити, чи може виникнути неврівноваженість класів.

Є багато інших підходів, які я можу придумати, але не спробував. Іноді я знаю, що ці функції непогані і зовсім не пов'язані з етикеткою, яку ми намагаємось передбачити. Потім я використовую цю ділову інтуїцію, щоб закінчити вправу, роблячи висновок, що нам потрібні кращі функції або зовсім інші ярлики.

Моє запитання - як повідомляє Data Scientist, що класифікацію неможливо зробити за цими ознаками. Чи є який-небудь статистичний спосіб повідомити про це або встановити дані в різні алгоритми спочатку, і перегляд метрики перевірки є найкращим варіантом?


Я відчуваю, що якщо на це питання є чітка і об'єктивна відповідь, то все наукове починання стає безглуздим. Наука - це мистецтво.
Мефі

Ха-ха, правда. Мені просто цікаво знати більше методів пошуку відокремленості. Більше схоже на те, як статистично показати клієнтам, що приділяти більше часу деяким вправам може бути марним.
vc_dim

1
Я пропоную скасувати останні два абзаци, оскільки вони роблять питання занадто відкритим / широким. Перша частина - як професійно поводитися та повідомляти про нерезультат - повинна відповідати, і особисто я думаю, що нам потрібно більше такого питання професійного етикету даних Data Science на сайті.
Ніл Слейтер

Має сенс Ніл. Редагування буде чітким.
vc_dim

Відповіді:


4

Це залежить від ваших даних. Існує щось, що називається помилкою на рівні людини. Припустимо, такі завдання, як читання друкованих книг, люди не намагаються читати, і, можливо, не трапиться помилка, якщо тільки через погану якість друку. У таких випадках, як читання рукописів, написаних власноруч, може статися багато, щоб не зрозуміти всіх слів, якщо шрифт письменника незвичний для читача. У першій ситуації помилка рівня людини занадто низька, і алгоритми навчання можуть мати однакові показники, але другий приклад ілюструє той факт, що в деяких ситуаціях помилка рівня людини настільки висока і звичайним чином (якщо ви використовуєте ту саму функції, як люди) ваш алгоритм навчання матиме стільки коефіцієнтів помилок.

У статистичному навчанні є щось, що називається Bayes Error, коли розподіл класів перекривається, коефіцієнт помилок великий. не змінюючи функцій, помилка Байєса поточних розподілів є найкращою продуктивністю і її взагалі не можна зменшити.

Я також пропоную вам прочитати тут . Проблеми з великою кількістю помилок Байєса з призначеними функціями вважаються не класифікованими в просторі цих функцій. В якості іншого прикладу можна припустити, що ви хочете класифікувати машини з увімкненими фарами. Якщо ви спробуєте це зробити вранці, у вас самих може виникнути багато помилок, і якщо ви використовуєте однакові зображення для тренування алгоритму навчання, це теж може бути.

Також рекомендую не змінювати розподіл своїх класів. У таких випадках результат класифікатора біля кордону був би абсолютно випадковим. Розподіл даних для навчання вашого алгоритму машинного навчання не слід змінювати і має бути таким, як він є в реальному стані.


Це корисно, я не знав про помилку Байєса. У мене виникли труднощі з підвищенням точності після зміни розподілу класів. Я згоден, це не чудова ідея. І все-таки я іноді намагаюся змінити ієрархії класів, сподіваючись, що ця функція може представляти більш детальні або абстрактні класи (EG. Зміна мавп, собак та інших на ссавців). Я думаю, якщо є помилка Байєса, зміна ієрархії класів теж не допоможе.
vc_dim

@SumitSinghChauhan Насправді в ситуаціях, коли помилка Байєса велика, спроба зробити інженерну програму - найкраще рішення. Оскільки глибоке навчання, яке знаходить самі функції, не може бути використане у випадках, коли набір даних не великий.
Медіа

5

Візьміть елемент вибірки з одного класу та елемент вибірки з іншого класу. Чи можливо для цих двох елементів такий самий векторний вектор? Якщо це коли-небудь може статися, то два класи не повністю відокремлені, використовуючи ваші поточні вектори функцій (оскільки рішення про класифікацію повністю базується на векторі ознак для даного елемента).

З іншого боку, якщо * кожен "елемент одного класу має відповідний елемент у другому класі, такий, що два елементи мають однакові вектори функцій, то два класи не відрізняються за допомогою ваших поточних векторів функцій.

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

Усі ці оцінки можна використовувати в різній мірі, щоб стверджувати, що потрібно отримати більше функцій.


1
Дякую Роберту. Це знайоме і здається правильно. Я робив такий же аналіз для деяких проектів. У мене був набір даних із тим самим вектором функцій, який позначався по-різному, і використовував це як основу для того, наскільки я точним я можу бути. Іноді допомагало також побудувати сюжет коробки. Поки що я знайшов підхід, який ви тільки що згадали, найкращий, щоб переконати клієнтів.
vc_dim
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.