Лапочки с характером: Как машинное обучение помогает определить тип личности ваших пёсиков

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Предлагаю Вам разбавить все серьезные, обсуждаемые здесь темы, небольшой отдушиной для многих из нас!

Собаки – настоящие маленькие спутники жизни каждого хозяина, поэтому многих обрадовала бы возможность подобрать питомца, который будет вписываться в привычный образ жизни, и, например, сможет смирно сидеть на коленях, пока Вы пишете код, или безостановочно носиться по дому, требуя все Ваше внимание и любовь.

Все это станет реальным, благодаря машинному обучению! :) Теперь Вы можете почти так же просто определить тип личности своего питомца, как и свой собственный (излюбленный MBTI тест – такая же разработка ML)

В данной статье описывается успешная попытка применить методы искусственного интеллекта и ML для классификации и прогнозирования личностных качеств собак с использованием поведенческих данных, полученных из базы данных C-BARQ. Я в подробностях расскажу об основных теоретических и практических аспектах проделанной работы!

Приятного прочтения! :)

Введение

В этом исследовании методы машинного обучения были применены к классификации типов личности собак с использованием поведенческих данных, полученных в рамках проекта C-BARQ.

C-BARQ (Canine Behavioral Assessment and Research Questionnaire) — это инструмент для стандартизированной оценки темперамента и поведения собак. Он был разработан исследователями из Центра взаимодействия животных и общества Университета Пенсильвании и является единственным в своем роде инструментом поведенческой оценки, который был тщательно проверен на надежность и валидность на больших выборках собак разных пород.

Опросник содержит 100 вопросов. Вопросы сгруппированы в 7 разделов: 1) дрессируемость; 2) агрессия; 3) страх и тревожность; 4) поведение собаки, когда она остаëтся одна; 5) возбудимость; 6) привязанность и поиск внимания; 7) разное. 

Поскольку набор данных не был размечен, в первом этапе был выбран метод обучения без учителя, и для кластеризации и маркировки данных был использован алгоритм K-Means. 

K-Means – это алгоритм машинного обучения, который помогает разделить набор данных на кластеры на основе их признаков и сходства.

Сущность алгоритма K-Means
Сущность алгоритма K-Means

Из анализа кластеризации K-Means по данным о поведении выявилось пять отдельных категорий собак, соответствующих пяти различным типам личности

  1. «Возбудимый/Гиперактивный»;

  2. «Тревожный/Боязливый»;

  3. «Недружелюбный/Хищный»;

  4. «Реактивный/Напористый»;

  5. «Спокойный/Покладистый».

Четыре модели машинного обучения, включая Метод Опорных Векторов (SVM), Метод k-ближайших соседей (KNN), Наивный Байесовский классификатор и Дерево Принятия Решений были применены для прогнозирования черт характера собак на основе имеющихся данных. 

Метод Опорных Векторов (SVM, support vector machine)  работает путем построения гиперплоскости в пространстве данных, наилучшим образом разделяющей различные классы данных. SVM стремится найти оптимальную разделяющую гиперплоскость, максимизируя расстояние от этой гиперплоскости до ближайших обучающих точек, которые называются опорными векторами.

Метод Опорных Векторов (SVM)
Метод Опорных Векторов (SVM)

Метод k-ближайших соседей (KNN, k-nearest neighbors algorithm) – это простой алгоритм классификации, который основан на том, что объекты одного класса склонны скапливаться в пространстве признаков ⇒ KNN определяет класс нового объекта на основе классов его ближайших соседей (k ближайших точек данных), если большинство из ближайших соседей принадлежит к определенному классу, то новый объект также относится к этому классу.

Метод k-ближайших соседей (KNN)
Метод k-ближайших соседей (KNN)

Наивный Байесовский классификатор использует статистические методы для прогнозирования вероятности принадлежности объекта к определенному классу на основе его признаков.

Дерево принятия решений – это графическое представление алгоритма машинного обучения, используемого для принятия решений в условиях неопределенности. Оно представляет собой древовидную структуру, где каждый узел представляет собой признак или атрибут, каждое ребро - возможное значение этого признака, а листовые узлы - ответы или прогнозы.

Дерево принятия решений
Дерево принятия решений

Производительность моделей была оценена с использованием метода пятикратной перекрестной проверки, и результаты показали, что модель Дерева принятия решений показала лучшую производительность с высокой точностью в 99%.

Теперь приступим к практической части!

Методология

Набор данных C-BARQ не является размеченным, поскольку в нем отсутствует целевая переменная. Следовательно, для выполнения кластерного анализа был использован алгоритм машинного обучения без учителя, применяющий только входные векторы без ссылки на известные или размеченные результаты. Каждый кластер будет относиться к группе данных (собак), объединенных вместе из-за определенных сходств.

Предварительная обработка и очистка данных:

Перед применением моделей машинного обучения была проведена очистка данных для предотвращения значительных ошибок и неправильной кластеризации. Все образцы с отсутствующими значениями для одного или нескольких атрибутов были удалены из набора данных. По завершении процесса очистки данных в наборе осталось 7807 полных образцов. 

Кодирование данных:

Из 157 атрибутов 133 были определены как числовые атрибуты, так как они содержали значения с целочисленным типом. Другие 24 атрибута были определены как нечисловые, поскольку они содержали значения со строковым типом. В результате процесс кодирования данных должен был быть проведен для преобразования этих значений в числовые, которые можно использовать для обучения моделей ML. Для выполнения процесса кодирования использовалась функция 'LabelEncoder' из библиотеки Scikit-Learn в Python.

Функция LabelEncoder
Функция LabelEncoder

Отбор признаков для кластеризации:

Главной целью текущего исследования являлось создание набора характеристик личности для собак на основе их поведенческих шаблонов, а также разработка инструмента прогнозирования личности с использованием искусственного интеллекта. Были выбраны только 100 оцененных поведенческих элементов из набора данных C-BARQ для кластеризации.

Кластерный подход:

Поскольку набор данных не был размеченным, в данном исследовании был использован подход кластеризации. В нем был применен алгоритм K-Means. Этот алгоритм группирует неразмеченный набор данных в разные кластеры. Он начинает с первой группы случайно выбранных центроидов, которые используются в качестве отправной точки для каждого кластера (некоторое среднее значение), и затем выполняет итеративные расчеты для оптимизации положений центроидов. 

Основная цель – определить k центроидов, по одному для каждого кластера. Расположение этих центроидов может быть сложным, потому что разные местоположения дадут разные результаты. Поэтому центроиды должны быть размещены как можно дальше друг от друга. 

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

После этого необходимо повторно вычислить k новых центроидов, полученных на предыдущем шаге. После принятия решения относительно этих k новых центроидов, нужно снова выполнить ассоциацию с данными между теми же точками и ближайшим новым центроидом. Этот процесс будет повторяться в цикле, пока изменения не прекратятся (центроиды перестанут двигаться). 

Наконец, алгоритм нацеливается на минимизацию целевой функции, в данном случае квадратичной функции ошибки. 

Допустим, есть набор наблюдений (x1,x2x3...xm ). В результате целевая функция будет:

На самом деле, алгоритм пытается математически решить задачу минимизации, состоящую из двух частей. Сначала алгоритм минимизирует C относительно ik с Ck фиксированным значением. Затем он минимизирует C относительно Ck с ik фиксированным значением. Это показано в следующих уравнениях:

Первый шаг:

Второй шаг:

Для того чтобы дойти до момента, когда центроиды перестают изменяться, алгоритм должен обратить внимание на выбор значения K. Однако определение начального значения K представляет определенные трудности. Для решения этой проблемы производительность алгоритма должна быть рассчитана для различных чисел центроидов. Расстояние между точкой данных и центроидом каждого кластера может быть рассчитано до тех пор, пока не произойдет сходимость. Затем все рассчитанные расстояния должны быть сложены как показатель производительности. 

Размер целевой функции будет уменьшаться при увеличении числа центроидов кластеров. Метод "Локтя" может быть использован для выбора наилучшего значения K в этом алгоритме.

Метод “Локтя”:

Метод "Локтя" - это визуальный подход к выбору оптимального количества кластеров путем подгонки модели с диапазоном значений для K. Создается линейная диаграмма, напоминающая руку, и "локоть", который является как точкой перегиба на кривой, так и хорошим признаком того, что базовая модель лучше всего подходит для этой точки. 

В этом исследовании использовался KElbowVisualizer из библиотеки Python yellowbrick для подгонки модели K-Means для диапазона значений K от 2 до 30 на наборе данных. 

Процесс начинается с K = 2 и увеличивается на 1 на каждом шаге. Параметр метрики оценки был установлен на искажение, которое вычисляет сумму квадратов расстояний от каждой точки до ее назначенного центра. Среднее расстояние резко падает, а затем достигает плато при дальнейшем увеличении значения K. 

На рисунке показано, что при подгонке модели с 5 кластерами на графике можно увидеть линию, обозначающую "локоть", который представляет собой оптимальное количество кластеров. Другими словами, имеется крутое снижение среднего расстояния, когда K находится в диапазоне от 1 до 5. После K = 5 наклон относительно плавный. В результате было выбрано значение K равное 5.

Метод "Локтя"
Метод "Локтя"

Классификаторы машинного обучения для предсказания типа личности собаки:

Для прогнозирования типов личности собак были реализованы четыре различных типа машинного обучения, описанные во введении.

Функция train_test_split() из библиотеки sklearn использовалась для разделения нового размеченного набора данных на наборы для обучения (70%) и тестирования (30%). 

Была выполнена настройка гиперпараметров для оптимизации производительности реализованных классификаторов машинного обучения. В таблице ниже показаны параметры для каждого классификатора и установленные для них значения.

Classifier

Parameters

Value

SVM

C

1

kernel

rbf

degree

3

gamma

scale

shrinking

TRUE

tol

0.001

cache_size

200

max_iter

1

decision_function_shape

ovr

random_state

42

KNN

n_neighbors

5

weights

uniform

algorithm

auto

leaf_size

30

p

2

metric

minkowski

Decision Tree

criterion

‘gini’

splitter

‘best’

min_samples_split

2

min_samples_leaf

1

Naïve Bayes

var_smoothing

1.00E−09

priors

None

Модели были оценены с использованием метода пятикратной перекрестной проверки, и их производительность была сравнена для определения наиболее эффективного классификатора.

Анализ важности признаков:

Этот анализ позволил определить значимость каждой поведенческой переменной C-BARQ в различных кластерах. Были выделены 20 ключевых поведенческих атрибутов, определяющих каждый кластер, и использованы для создания описательной метки для каждого типа личности (можете ознакомиться с ними в таблицах ниже). 

Порог был установлен на уровне 20, так как диаграммы "важности" обычно имеют более плавный наклон после первых 20 наиболее значимых признаков, в то время как оставшиеся признаки не вносят существенный вклад в модель (см. диаграммы ниже). 

Для выявления направления поведенческих эффектов в каждом кластере были проанализированы средние значения 20 наиболее важных переменных C-BARQ и сравнены с средними значениями этих переменных в других 4 кластерах. Эти сравнения позволили определить соответствующие поведенческие характеристики для каждого типа личности в группировке. 

Кластер 0: “Возбудимый/Гиперактивный”:

Пункт C-BARQ

Описание пункта

Важность признака

Среднее для кластера 0

Среднее для других кластеров

mis90

Гиперактивность, беспокойство, трудности с успокоением

0.042943

1.30 +

0.58

sep61

Потеря аппетита при одиночестве

0.034686

0.42 +

0.32

att72

Ревность, когда владелец уделяет внимание другим людям

0.031540

1.41 +

0.68

exc66

Возбужденность при поездках на машине

0.030422

2.47 +

1.6

mis91

Игривость, щенячье поведение, буйство

0.027968

2.68 +

1.69

exc64

Возбужденность при звонке в дверь

0.026235

2.68 +

2.01

mis89

Дефекация при одиночестве

0.025326

0.28 +

0.21

att71

Толкание, лапание владельца в поисках внимания

0.024457

2.66 +

1.88

exc62

Возбужденность при возвращении владельца домой 

0.024042

2.93 +

2.1

mis84

Нервозность или страх на лестнице

0.023624

0.26−

0.3

sep56

Беспокойство, волнение при одиночестве

0.022145

1.12 +

0.63

exc65

Возбужденность перед прогулками

0.022010

2.72 +

1.84

agg35

Агрессия при попытке другой (знакомой) собаки подойти, когда играет/жует любимую игрушку, кость, предмет и т. д.

0.019635

0.68−

0.7

fear39

Страх при визите незнакомых людей в ваш дом

0.019525

0.25−

0.65

att70

Сидит близко к владельцу или в постоянном контакте с ним

0.019257

3.17 +

2.54

fear38

Страх в ответ на внезапные или громкие звуки (например, пылесос, хлопок машины, дорожные дрели, падение предметов и т. д.)

0.016524

1.14−

1.18

fear36

Страх при прямом приближении незнакомого взрослого вдали от дома

0.016307

0.32−

0.79

mis81

"Взбирается" на предметы, людей и т. д.

0.015368

0.49 +

0.27

exc63

Возбужденность при игре с членами семьи

0.014788

2.65 +

1.88

sep57

Скуление при одиночестве

0.014559

1.54 +

0.84

Кластер 1: “Тревожный/Боязливый”:

Пункт C-BARQ

Описание пункта

Важность признака

Среднее для кластера 1

Среднее для других кластеров

agg35

Агрессия при приближении другой (знакомой) собаки во время игры/жевания любимой игрушки, кости, предмета и т. д.

0.086189

0.60−

0.71

fear39

Страх при визите незнакомых людей в ваш дом

0.072337

1.82 +

0.39

fear38

Страх в ответ на внезапные или громкие звуки (например, пылесос, дорожные дрели, падение предметов и т. д.)

0.059492

2.30 +

1.02

fear36

Страх при прямом приближении незнакомого взрослого вдали от дома

0.049489

2.17 +

0.48

fear46

Страх при прямом приближении незнакомой собаки меньшего размера

0.033463

0.85 +

0.44

fear37

Страх при прямом приближении незнакомого ребенка вдали от дома

0.030953

1.98 +

0.46

fear42

Страх в ответ на странные или незнакомые объекты на тротуаре или рядом с ним (например, пластиковые мусорные пакеты, листья, мусор, развевающиеся флаги и т. д.)

0.029978

1.23 +

0.43

fear40

Страх, когда незнакомый человек пытается погладить или коснуться собаки

0.017972

2.23 +

0.48

fear47

Страх при первом столкновении с незнакомыми ситуациями (например, первая поездка на машине, первый раз в лифте, первый визит к ветеринару и т. д.)

0.017718

2.01 +

0.76

agg28

Агрессия к незнакомым людям, приходящим в ваш дом

0.017328

0.82 +

0.47

fear41

Страх в плотном трафике

0.017177

1.25 +

0.41

agg22

Агрессия, когда мимо вашего дома пробегают, проезжают на велосипеде, роликах или скейте, в то время как ваша собака находится снаружи или во дворе

0.015789

0.85 +

0.75

agg26

Агрессия к незнакомым собакам, приходящим в ваш дом

0.013937

0.72−

0.83

fear43

Страх при осмотре/лечении ветеринаром

0.013842

2.07 +

0.86

att73

"Ревность", когда владелец уделяет внимание другой собаке или другому животному

0.013215

1.43 +

1.41

agg23

Агрессия при прямом приближении незнакомого кобеля во время прогулки/упражнений на поводке

0.013151

0.75−

0.89

mis75

Преследует или преследовал бы птиц, если бы была такая возможность

0.012632

1.73−

1.98

agg25

Агрессия при прямом взгляде члена семьи

0.010707

0.06−

0.05

mis90

Гиперактивность, беспокойство, трудности с успокоением

0.010570

0.70−

0.74

exc66

Возбужденность непосредственно перед поездкой на машине

0.010514

1.81 +

1.79

Кластер 2: “Недружелюбный/хищный”:

Пункт C-BARQ

Описание пункта

Важность признака

Среднее для кластера 2

Среднее для других кластеров

agg28

Агрессия к незнакомым людям, приходящим в ваш дом

0.046446

0.44−

0.53

agg26

Агрессия к незнакомым собакам, приходящим в ваш дом

0.040469

1.33 +

0.69

att73

Возбуждение (скуление, прыжки, попытки вмешаться), когда вы (или другие) проявляете нежность к другой собаке или животному

0.037789

1.07−

1.5

agg22

Агрессия, когда мимо вашего дома пробегают, проезжают на велосипеде, роликах или скейте, в то время как ваша собака находится снаружи или во дворе

0.029619

0.89 +

0.73

att68

Проявление сильной привязанности к одному конкретному члену семьи

0.029430

2.31−

2.77

agg25

Агрессия при прямом взгляде члена семьи

0.028940

0.03−

0.06

mis75

Преследует или преследовал бы птиц, если бы была такая возможность

0.027460

2.46 +

1.82

agg23

Агрессия при прямом подходе незнакомого кобеля во время прогулки/упражнений на поводке

0.026174

1.42 +

0.73

sep61

Потеря аппетита при одиночестве

0.019876

0.22−

0.38

att69

Склонность следовать за вами (или другими членами семьи) по дому, из комнаты в комнату

0.019444

2.13−

2.84

mis89

Мочеиспускание при одиночестве ночью или днем

0.019294

0.18−

0.23

sep56

Проявление беспокойства/возбуждения/ходьбы туда-сюда при одиночестве

0.018138

0.38−

0.83

mis74

Преследует или преследовал бы кошек, если бы была такая возможность

0.017561

2.95 +

1.97

att72

Возбуждение (скуление, прыжки, попытки вмешаться), когда вы (или другие) проявляете нежность к другому человеку

0.016981

0.47−

0.93

att70

Склонность сидеть рядом или в контакте с вами (или другими), когда вы сидите

0.016138

2.22−

2.79

mis90

Гиперактивность, беспокойство, трудности с успокоением

0.015776

0.41−

0.82

fear39

Страх при визите незнакомых людей в ваш дом

0.015195

0.28−

0.64

agg35

Агрессия при подходе другой (знакомой) собаки во время игры/жевания любимой игрушки, кости, предмета и т. д.

0.014958

0.95 +

0.63

att71

Склонность толкать, обнюхивать или лапать вас (или других) в поисках внимания, когда вы сидите

0.014278

1.67−

2.15

exc62

Возбудимость, когда вы или другие члены семьи возвращаются домой после кратковременного отсутствия

0.013771

1.95−

2.36

Кластер 3: “Реактивный/напористый”:

Пункт C-BARQ

Описание пункта

Важность признака

Среднее для кластера 3

Среднее для других кластеров

agg9

Агрессия при устном замечании или порицании (наказании, крике и т. д.) вами или членом семьи

0.053578

0.54 +

0.09

agg20

Агрессия, когда незнакомцы проходят мимо вашего дома, в то время как ваша собака находится снаружи или во дворе

0.050147

2.11 +

0.75

agg15

Агрессия, когда незнакомый человек подходит к вам или другому члену вашей семьи дома

0.036353

1.81 +

0.39

agg27

Агрессия к кошкам, белкам или другим мелким животным, находящимся в вашем дворе

0.035104

2.29 +

1.03

agg25

Агрессия при прямом взгляде члена семьи

0.030881

0.24 +

0.03

agg11

Агрессия при прямом приближении незнакомого ребенка во время прогулки/упражнений на поводке

0.029025

1.42 +

0.20

agg22

Агрессия, когда мимо вашего дома пробегают, проезжают на велосипеде, роликах или скейте, в то время как ваша собака находится снаружи или во дворе

0.028445

2.04 +

0.60

agg19

Агрессия, когда его/ее еду забирает член семьи

0.027754

0.46 +

0.08

agg17

Агрессия при прямом приближении члена семьи, когда собака (он/она) ест

0.027611

0.38 +

0.07

agg10

Агрессия при прямом приближении незнакомого взрослого во время прогулки/упражнений на поводке

0.026578

1.64 +

0.26

agg28

Агрессия к незнакомым людям, приходящим в ваш дом

0.026567

1.74 +

0.36

agg14

Агрессия при купании или уходе за собой членом семьи

0.026246

0.44 +

0.08

agg21

Агрессия, когда незнакомый человек пытается погладить или коснуться собаки

0.025054

1.64 +

0.21

exc63

Возбудимость при игре с вами или другими членами семьи

0.022577

2.60 +

1.97

agg23

Агрессия при прямом приближении незнакомого кобеля во время прогулки/упражнений на поводке

0.020306

2.39 +

0.69

att71

Склонность толкать, обнюхивать или лапать вас (или других) в поисках внимания, когда вы сидите

0.017842

2.68 +

1.97

fear51

Страх при вытирании его/ее лап членом семьи

0.017742

0.78 +

0.26

mis96

Преследование/следование за тенями, световыми пятнами и т. п.

0.017425

0.72 +

0.33

fear44

Страх во время гроз, фейерверков или подобных событий

0.017130

1.56 +

1.00

fear38

Страх в ответ на внезапные или громкие звуки (например, пылесос, выстрел из машины, дорожные дрели, падение предметов и т. д.)

0.015425

2.02 +

1.06

Кластер 4: “Спокойный/Покладистый”:

Пункт C−BARQ

Описание пункта

Важность признака

Среднее для кластера 4

Среднее для других кластеров

att73

Возбуждение (скуление, прыжки, попытки вмешаться), когда вы проявляете нежность к другой собаке или животному

0.046477

0.26−

1.72

agg28

Агрессия к незнакомым людям, приходящим в ваш дом

0.045940

0.17−

0.69

agg26

Агрессия к незнакомым собакам, приходящим в ваш дом

0.045085

0.27−

1.11

exc63

Возбудимость при игре с вами или другими членами семьи

0.044342

1.68−

2.23

mis75

Преследование или потенциальное преследование птиц, если была бы такая возможность

0.036373

1.15−

2.38

tra6

Быстрое обучение новым трюкам или заданиям

0.033636

3.10 +

2.74

mis84

Нервозность или страх на лестнице

0.033216

0.16−

0.35

agg22

Агрессия, когда мимо вашего дома пробегают, проезжают на велосипеде, роликах или скейте, в то время как ваша собака находится снаружи или во дворе

0.028883

0.30−

1.01

mis74

Преследование или потенциальное преследование кошек, если была бы такая возможность

0.028717

1.34−

2.62

mis76

Преследование или потенциальное преследование белок, кроликов и других мелких животных, если была бы такая возможность

0.027501

1.83−

3.06

exc66

Возбудимость непосредственно перед поездкой на автомобиле

0.024193

1.20−

2.11

agg25

Агрессия при прямом взгляде члена семьи

0.023929

0.01−

0.08

exc64

Возбудимость при звонке в дверь

0.023186

1.39−

2.56

agg23

Агрессия при прямом приближении незнакомого кобеля во время прогулки/упражнений на поводке

0.021218

0.27−

1.2

mis96

Преследование/следование за тенями, световыми пятнами и т. п.

0.019714

0.22−

0.46

fear46

Страх при прямом приближении незнакомой собаки меньшего размера

0.018595

0.16−

0.66

agg19

Агрессия, когда его/ее еду забирает член семьи

0.018146

0.04−

0.17

agg35

Агрессия при приближении другой (знакомой) собаки во время игры/жевания любимой игрушки, кости, предмета и т. д.

0.017738

0.33−

0.89

exc65

Возбудимость непосредственно перед прогулкой

0.017680

1.42−

2.36

fear37

Страх при прямом приближении незнакомого ребенка вдали от дома

0.017085

0.26−

0.84

Диаграммы важности поведенческих атрибутов:

Диаграмма важности поведенческих атрибутов для кластера 0
Диаграмма важности поведенческих атрибутов для кластера 0
Диаграмма важности поведенческих атрибутов для кластера 1
Диаграмма важности поведенческих атрибутов для кластера 1
Диаграмма важности поведенческих атрибутов для кластера 2
Диаграмма важности поведенческих атрибутов для кластера 2
Диаграмма важности поведенческих атрибутов для кластера 3
Диаграмма важности поведенческих атрибутов для кластера 3
Диаграмма важности поведенческих атрибутов для кластера 4
Диаграмма важности поведенческих атрибутов для кластера 4

Результаты

Модель кластеризации для идентификации типа личности собаки:

На рисунке показан график TSNE, созданный после выполнения кластеризации методом K-Means. График TSNE – это статистический метод визуализации многомерных данных, присваивающий каждой точке данных местоположение на двумерной карте. 

Этот рисунок демонстрирует распределение выборок (собак) и как они разделены друг от друга на разные кластеры. В набор данных был добавлен новый столбец в качестве целевой переменной, содержащий соответствующий номер кластера (метку) для каждой выборки. В Таблице ниже показано количество выборок в каждом кластере.

Cluster ID

Number of samples

0

1676

1

934

2

1626

3

864

4

2707

Описание типов личности собак:

Из анализа кластеризации K-средних поведенческих данных выделились пять различных групп или категорий собак, соответствующих пяти различным типам личности. 

Все описания и характеристики полностью основываются на данных подробных таблиц по кластерам, представленных выше.

Собаки в кластере 0 характеризовались относительно высоким уровнем возбудимости, привязанности/потребности внимания и тревожностью при отдалении, а также сниженным уровнем страха по сравнению с теми, кто был в других кластерах. Этот тип личности был назван "Возбудимый/Гиперактивный"

Собаки в кластере 1, напротив, проявляли относительно высокие уровни страха как перед социальными (незнакомыми людьми, другими собаками и т. д.), так и перед нон-социальными (новыми или неожиданными ситуациями или событиями) стимулами, и были названы "Тревожные/Боязливые"

Собаки в кластере 2 были обозначены как "Недружелюбные/Хищные" в связи с их низкими уровнями привязанности/потребности внимания и более высокими уровнями хищного поведения и агрессии по отношению к другим собакам, в то время как собаки в кластере 3 были обозначены как "Реактивные/Напористые" из-за их повышенного агрессивного поведения в различных областях, включая агрессию по отношению к членам “семьи”. 

Наконец, собаки в кластере 4 проявляли последовательно низкие уровни агрессии, страха, возбудимости и хищного поведения, и были обозначены как "Спокойные/Покладистые". Способность быстро учиться новым трюкам или заданиям также была характерной для собак в этом кластере. 

Оценка производительности классификаторов машинного обучения:

Четыре матрицы ошибок, представленные на следующем рисунке, визуализируют производительность обученных моделей при разделении набора данных на 70% для обучения и 30% для тестирования. Матрица ошибок для этих моделей подчеркивает многоклассовую классификацию данной работы, где целевая переменная имеет пять значений в диапазоне от 0 до 4, представляющих разные типы личностей. Столбцы представляют предсказанные значения целевой переменной, а строки представляют фактические значения целевой переменной.

В матрице ошибок для задачи многоклассовой классификации термины "True Positive" (TP), "True Negative" (TN), "False Positive" (FP) и "False Negative" (FN) определяются следующим образом:

  • True Positive (TP): Количество экземпляров класса i, которые были правильно предсказаны как класс i.

  • True Negative (TN): Количество экземпляров, не принадлежащих классу i, которые были правильно предсказаны как не принадлежащие классу i.

  • False Positive (FP): Количество экземпляров, не принадлежащих классу i, которые были ошибочно предсказаны как принадлежащие классу i.

  • False Negative (FN): Количество экземпляров класса i, которые были ошибочно предсказаны как не принадлежащие классу i.

Согласно рисунку, модель дерева принятия решений имеет наивысшее значение TP для классов «0», «1» и «4». И модель дерева принятия решений, и модель опорных векторов имеют наивысшее количество правильных предсказаний для класса «2». Модель опорных векторов имеет наивысшее значение TP для класса «3».

Были вычислены значения точности (precision), полноты (recall) и F1-меры для каждого класса для каждой использованной модели. После этого был рассчитан процент точности для каждой модели, и результаты представлены в следующей таблице:

Classifier

Accuracy percentage (%)

SVM

98

KNN

98

Decision tree

99

Naïve bayes

79

В области машинного обучения точность (precision) – это отношение истинно положительных случаев к сумме истинно положительных и ложных положительных случаев. Она измеряет точность положительных предсказаний:

Кроме того, полнота (Recall) – это отношение истинно положительных случаев к сумме истинно положительных случаев и ложных отрицательных случаев. Она количественно оценивает способность классификатора захватить все положительные примеры:

Оценка F1 – это метрика, которая объединяет точность и полноту в одно значение, обеспечивая сбалансированную оценку производительности модели классификации:

Наконец, точность модели служит важным показателем, определяющим ее общую производительность. Она рассчитывается путем выявления отношения правильных прогнозов, представленных суммой истинных положительных (TP) и истинных отрицательных (TN), к общему количеству прогнозов. Математически точность выражается как: 

Для получения общей точности для задачи с множеством классов можно усреднить точности по всем классам.

По итогу, модель дерева принятия решений продемонстрировала лучшую производительность из четырех исследованных моделей. SVM и KNN показали одинаковые результаты, в то время как модель Наивного Байеса показала наименьшую производительность. Для более детальной оценки модели была проведена  пятикратная перекрестная проверка, в которой модели запускались 5 раз на различных случайных выборках данных для оценки их производительности. 

Следующая таблица показывает рассчитанные оценки точности для каждого разбиения и среднюю точность классификации как окончательную оценку точности для каждой модели по результатам проверки:

Classifier

Fold number

Accuracy scores calculated for each fold

Mean accuracy score

SVM

1

2

3

4

5

0.98507463

0.98290598

0.98504274

0.98290598

0.99145299

0.98

KNN

1

2

3

4

5

0.97654584

0.97649573

0.98076923

0.98290598

0.97435897

0.97

Decision tree

1

2

3

4

5

0.98933902

0.9957265

0.98076923

0.99786325

0.99786325

0.99

Naïve bayes

1

2

3

4

5

0.76332623

0.76282051

0.78205128

0.77350427

0.79487179

0.77

Согласно таблице, общая производительность моделей SVM и дерева принятия решений осталась неизменной. Производительность модели KNN снизилась на 1%, а производительность модели наивного Байеса снизилась на 2%.

При этом, наибольшая производительность все равно остается за деревом принятия решений.

Вывод

Как я и описывала в начале статьи, способ определения типов личности собак, имеет ряд сходств со способами определения типов личности людей. 

Важное различие между этими методами ML и методами, используемыми для разработки более традиционных оценок личности, таких как опросник "Большой пятерки" или “MBTI”, заключается в том, что, в то время как первые объединяют или группируют отдельных собак в соответствии со сходством в их поведении, о котором сообщается по результатам сбора данных из анкетирования (баллы C-BARQ), последний обычно включает группировку пунктов анкеты с соответствующими баллами для создания личностных ‘черт’, которые могут быть использованы для описания или профилирования индивидов.

Если проводить сравнение результатов этих тестов, то можно заметить, что кластеры 1 и 4, например, в настоящем анализе сопоставимы с человеческими личностными факторами ”Большой пятерки“ – ”нейротизмом“ и "покладистостью" соответственно, но существует меньше очевидных параллелей между нашими “возбудимыми/гиперактивными“, ”недружелюбными/хищными" и “реактивными/напористыми” собачьими личностями и любым из типов личности "Большой пятерки", что позволяет предположить, что эти кластеры могут быть специфичны для собак. 

Для меня это исследование действительно нашло отклик в душе, потому что я сама связана с волонтерством и работой с брошенными домашними животными. К массовому бродяжничеству собак приводит неоправдание человеческих ожиданий (многие по-своему представляют “идеального” любимца), эта проблема действительно могла бы быть сведена к минимуму в результате такой оценки личности собак.  Я рада, что методы искусственного интеллекта и машинного обучения применяются в таких сферах :)

На этом все! 

Будем ждать Вас в комментариях! Спасибо за прочтение :)

Источник: https://habr.com/ru/companies/bothub/articles/793270/


Интересные статьи

Интересные статьи

В материалах часто пишу о том, что дофамин – это нейрогормон предвкушения и мотивации. Однако, это также элемент глубокой и сложной структуры самообучения. Которая стала известна буквально в новом исс...
Для весенней конференции GTC стал доброй традицией рассказ об исследованиях и разработках Nvidia главного научного сотрудника и старшего вице-президента по исследованиям Билла Дэлли. Он поделился те...
Всем привет! Меня зовут Сергей и я практикующий психолог.В силу подхода к работе так сложилось, что обычно я консультирую людей интеллектуального труда. В последний год это преимущественно управленцы ...
Термин «Гуглоперевод» постепенно престаёт быть синонимом кривого дословного перевода текстов. Порой сложно догадаться, кто выполнил работу: машина или человек – качество стало действительно высоким. Э...
В последние годы мы наблюдаем взрывной рост популярности многопользовательских онлайн-игр, которые покоряют сердца миллионов игроков во всем мире. В результате этого многократно растут тр...