Машинне навчання за допомогою категоричних та постійних даних


9

Це питання може йти сюди чи на ТАК, можливо ...

Припустимо, ваш навчальний набір даних містить як категоричні, так і постійні дані, такі як ця установка:

 Animal, breed,  sex, age, weight, blood_pressure, annual_cost
 cat,    calico, M,   10,  15    ,   100         , 100 
 cat,    tabby,  F,   5,   10    ,   80          , 200
 dog,    beagle, M,   3,   30    ,   90          , 200
 dog,    lab,    F,   8,   75    ,   80          , 100

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

Відповіді:


8

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

У вашому прикладі для гендеру ви додасте два нових компоненти до вашого функціонального вектора. Якщо тварина є самцем, ви встановите першого на 1, а другого на 0, і навпаки, якщо тварина є самкою. Для тварин, якби вашими можливостями були коти, собаки та риби, ви б зробили те саме з трьома компонентами.

Вони будуть співіснувати поряд із суцільними атрибутами. Можливо, ви захочете відрегулювати величину "значення показника" (значення, яке ви використовуєте, коли атрибут "увімкнено"), щоб воно було порівняно з величинами неперервних значень, які ви використовуєте.

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


1
Класно, чудові поради! Як щодо можливої ​​ситуації з тестовими даними, коли порода ніколи не опинилася в даних дресирування? Наприклад, якщо в тестових даних був пудель, але не дані тренувань? Найкращий спосіб досягти нулів для всіх компонентів породи вектора?
рептилій

2
Насправді, протилежний підхід (відомий як дискретизація даних) зазвичай є найкращим вибором для ієрархічних методів (таких як алгоритми дерева рішень). Дискретизація даних - це також техніка попередньої обробки даних (про що йдеться в іншій відповіді).
rvcoutinho

2

Слід поглянути на попередню обробку даних . Це перед будь-якою технікою машинного навчання. Ось хороший вступ (знайдено в Google).

Щодо техніки, існує безліч різних підходів . Можливо, ви можете використовувати більшість з них після попередньої обробки даних. Спробуйте спробувати їх і вибрати той, який найкраще відповідає вашим потребам.

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