Вибір функції проти вилучення функцій. Який використовувати коли?


16

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

Якій техніці віддати перевагу над іншою та коли?

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

Відповіді:


18

Додавши до відповіді, яку дав Торос,

Ці (див. Нижче кулі) три досить схожі, але з тонкими відмінностями - :( лаконічний і легкий для запам'ятовування)

  • вилучення та конструювання функцій : перетворення необроблених даних у особливості, придатні для моделювання;

  • функція перетворення : перетворення даних для підвищення точності алгоритму;

  • вибір функції : видалення непотрібних функцій.

Просто додати приклад того ж,

Видобуток та інженерія функцій (ми можемо щось витягти з них)

  • Тексти (ngrams, word2vec, tf-idf тощо)
  • Зображення (CNN'S, тексти, питання та відповіді)
  • Геопросторові дані (лат., Довгі тощо)
  • Дата та час (день, місяць, тиждень, рік, поступово)
  • Часові ряди, Інтернет тощо
  • Методи зменшення розмірів (PCA, SVD, Eigen-Faces тощо)
  • Можливо, ми можемо використовувати і кластеризацію (DBSCAN тощо)
  • ..... (та багато інших)

Перетворення ознак (перетворення їх на сенс)

  • Нормалізація та зміна розподілу (масштабування)
  • Взаємодії
  • Заповнення пропущених значень (медіана заповнення тощо)
  • ..... (та багато інших)

Вибір функцій (побудова моделі на цих вибраних функціях)

  • Статистичні підходи
  • Вибір за моделюванням
  • Пошук сітки
  • Перехресне підтвердження
  • ..... (та багато інших)

Сподіваюся, це допомагає ...

Подивіться на посилання, якими поділяються інші. Вони досить приємні ...


приємний спосіб відповісти +1 за це.
Toros91

Кудос до цієї спільноти .. Навчившись багато чого з неї ..
Адітя

1
Щоправда, чоловік, я був членом з жовтня 2017 року. Я багато чого навчився. Сподіваємось, це буде те ж саме і для вас. Я читав ваші відповіді, вони хороші. До речі, вибачте за те, що ви пережили на SO. Я не міг бачити все, але, як добре сказав Ніл Слейтер, що ти до кінця тримався в курсі. Так тримати! У нас ще довгий шлях. :)
Toros91

Який порядок, в якому вони повинні бути оброблені? Окрім очищення та розбиття даних. Який із 5 - це перший крок?
technazi

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

5

Як сказала Адітя, є 3 терміни, пов’язані з ознаками, які іноді плутають один з одним. Я спробую дати коротке пояснення кожному з них:

  • Вилучення особливостей: Створення функцій з даних, які перебувають у форматі, який важко проаналізувати безпосередньо / не є безпосередньо порівнянними (наприклад, зображення, часові ряди тощо). На прикладі часового ряду деякі прості функції можуть бути приклад: довжина часових рядів, період, середнє значення, std тощо.
  • Перетворення особливостей: Перетворення існуючих функцій з метою створення нових на основі старих. Дуже популярною методикою зменшення розмірності є аналіз основних компонентів (pca), який використовує деяке ортогональне перетворення для отримання набору лінійно некорельованих змінних на основі початкового набору змінних.
  • Вибір функцій: Вибір особливостей, які мають найбільшу "важливість" / вплив на цільову змінну, із набору існуючих функцій. Це можна зробити за допомогою різних методик: наприклад, лінійна регресія, дерева рішень, розрахунок ваги "важливості" (наприклад, оцінка Фішера, допомога)

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

Більш детальну інформацію про вибір функції та зменшення розмірності можна знайти за наступними посиланнями:


4

Я думаю, що це 2 різні речі,

Почнемо з вибору функцій :

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

Щоб пояснити це краще, давайте приведемо приклад: є 10 ознак та 1 змінна ціль, 9 ознак пояснюють 90% цільової змінної та 10 функцій разом пояснює 91% цільової змінної. Таким чином, змінна 1 не має великої різниці, тому ви схильні її видаляти перед моделюванням (Це також є суб'єктивним для бізнесу). Мене також можна назвати важливістю передбачувача.

Тепер давайте поговоримо про видобуток функцій ,

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

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

ви можете пройти ці Link-1 , Link-2 для кращого розуміння.

ми можемо реалізувати їх у R, Python, SPSS.

дайте мені знати, якщо потрібно більше роз'яснень.


3

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

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

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


0

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

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

Цитуючи: "Руки щодо машинного навчання з SciKit-Learn, Keras & Tensorflow - Aurelien Geron"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.