Я делаю проект, сравнивающий эффективность различных алгоритмов классификации, но застрял на одном неприятном моменте. Данные можно найти здесь: http://archive.ics.uci.edu/ml/datasets/Adult Проблема классификации заключается в том, зарабатывает ли человек более 50 тысяч в год на основе данных переписи населения.
Вот два примера записей:
45, рядовой, 98092, выпускник HS, 9, женат, гражданский супруг, продавец, муж, белый, мужской, 0, 0, 60, США, ‹= 50K
50, Self-emp-not-inc, 386397, холостяк, 13 лет, женат, гражданский супруг, продавец, муж, белый, мужской, 0, 0, 60, США, ‹= 50K
Я знаком с использованием евклидова расстояния для вычисления разницы между векторами, но не знаю, как работать с сочетанием непрерывных и дискретных атрибутов. Существуют ли какие-либо эффективные методы значимого представления разницы между двумя векторами? Мне трудно понять, насколько большие значения, такие как третий атрибут (вес, рассчитанный людьми, которые извлекли набор данных на основе факторов, так что одинаковые веса должны иметь похожие атрибуты), и различия между ним могут сохранять значение от дискретных черт, таких как мужчина или женщина, что составляет только евклидово расстояние, равное 1, если я правильно понимаю метод. Я уверен, что некоторые категории можно удалить, но я не хочу удалять то, что существенно влияет на классификацию. Сначала я обращаюсь к k-NN, как только я это выясню, затем к байесовскому классификатору и, наконец, к модели дерева решений, такой как C4.5 или ID3, если у меня есть время.