Code Monkey home page Code Monkey logo

decision_tree_classification's Introduction

Классификация с помощью дерева решений

Теория

Аккуратность (accuracy) показывает долю верных/неверных ответов.

Точность (precision) показывает долю объектов, распознанных как объекты класса C, действительно являющихся объектами класса C.

Полнота (recall) показывает долю объектов класса C, которые действительно распознаны как объекты класса C.

Мера 𝐹 (𝐹1 или 𝐹-score) показывает гармоническое среднее точности (precision) и полноты (recall).

Эксперименты

Для каждого набора данных были проведены эксперименты, где критерий выбора атрибута разбиения был зафиксирован, а соотношение мощностей обучающей и тестовой выборок варьировалось от 60%:40% до 90%:10% с шагом 10%.

Grades Dataset

Набор Grades содержит сведения об оценках школьников за письменную контрольную работу. Каждая строка содержит перечисленные через запятую следующие данные:

  • пол ученика (PUPIL_SEX);
  • класс ученика (PUPIL_CLASS);
  • процент заданий контрольной работы, оцененных учителем как правильно выполненные (TEACHER_RIGHT);
  • количество символов "птичка", проставленных учителем (TEACHER_CHK);
  • количество символов вопроса, проставленных учителем (TEACHER_QUEST);
  • количество исправлений, сделанных учителем (TEACHER_CORR);
  • количество исправлений, сделанных учеником (PUPIL_CORR);
  • количество фактов использования учеником штриха-замазки (PUPIL_STRIP);
  • итоговая оценка, выставленная учителем (GRADE).

Набор данных содержит 72 строки.

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

Metrics for Grades Dataset using Decision Tree Classifier with Gini Index

Метрика Вывод
Аккуратность (accuracy) Заметно уменьшается с увеличением тестовой выборки до 30%.
Точность (precision) Модель относила от 60% до 30% объектов, действительно являющихся положительными, к положительным с увеличением тестовой выборки до 30%. При доле тестовой выборке, равной 20%, классификатор относил 70% объектов к положительным. Показатель ухудшался.
Полнота (recall) Модель находила от 37% до 20% объектов положительного класса из всех объектов положительного класса с увеличением тестовой выборки до 30%. Показатель ухудшался.
F-мера Гармоническое среднее между точностью и полнотой. Она стремится к нулю, если точность или полнота стремится к нулю. Заметно уменьшается с увеличением тестовой выборки до 30%.

Metrics for Grades Dataset using Decision Tree Classifier with Information Gain

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

Метрика Вывод
Аккуратность (accuracy) Заметно уменьшается с увеличением тестовой выборки до 30%.
Точность (precision) Модель относила от 85% до 40% объектов, действительно являющихся положительными, к положительным с увеличением тестовой выборки до 30%. Показатель ухудшался.
Полнота (recall) Модель находила от 50% до 20% объектов положительного класса из всех объектов положительного класса с увеличением тестовой выборки до 30%. Показатель ухудшался.
F-мера Гармоническое среднее между точностью и полнотой. Она стремится к нулю, если точность или полнота стремится к нулю. Заметно уменьшается с увеличением тестовой выборки до 30%.

Далее представлена матрица ошибок (Confusion Matrix). Индекс Gini. Confusion Matrix Information Gain. Confusion Matrix

Ниже представлено дерево решений, в качестве обучающей выборки для построения которого использовалось 100% исходных данных, индекс Gini. Decision Tree

Дерево решений, Information Gain. Decision Tree

Замечание

Во многих случаях метрика "accuracy" является не таким уж хорошим индикатором работоспособности вашей модели. Например, когда не соблюдается баланс классов (в наборе данных больше информации об одном классе, чем о других). В этом случае, модель практически ничего не изучает, а просто предсказывает все как "высший" класс.

В наборе об учениках и их оценках есть дисбаланс классов: оценка "4" встречается 20 раз, в то время как оценка "3-" встречается всего 2 раза. Поэтому нам необходимо обратить внимание на показатели производительности для конкретных классов. Точность (precision) - одна из таких метрик.

Census Income

Набор Census Income содержит данные о результатах переписи населения, в т.ч. о годовом доходе - ниже или выше $50000.

Metrics for Census Income Dataset using Decision Tree Classifier with Gini Index

Метрика Вывод
Аккуратность (accuracy) С увеличением тестовой выборки практически не изменяется. Значение чуть больше 81%.
Точность (precision) С увеличением тестовой выборки практически не изменяется. Значение чуть больше 80%.
Полнота (recall) С увеличением тестовой выборки практически не изменяется. Значение чуть больше 81%.
F-мера Гармоническое среднее между точностью и полнотой. Она стремится к нулю, если точность или полнота стремится к нулю. Заметно увеличивается (от 78% до 80,5%) с увеличением тестовой выборки до 30%. Затем резко падает.

Metrics for Census Income Dataset using Decision Tree Classifier with Information Gain

Метрика Вывод
Аккуратность (accuracy) С увеличением тестовой выборки практически не изменяется. Значение чуть больше 80%. При тестовой выборке больше 30% постепенно уменьшается.
Точность (precision) С увеличением тестовой выборки практически не изменяется. Значение чуть больше 79%. При тестовой выборке больше 30% резко растет.
Полнота (recall) С увеличением тестовой выборки практически не изменяется. Значение чуть больше 80%. При тестовой выборке больше 30% постепенно уменьшается.
F-мера Гармоническое среднее между точностью и полнотой. Она стремится к нулю, если точность или полнота стремится к нулю. Заметно увеличивается (от 78% до 80,5%) с увеличением тестовой выборки до 30%. Затем резко падает.

Далее представлена матрица ошибок (Confusion Matrix). Индекс Gini. Confusion Matrix Information Gain. Confusion Matrix

Ниже представлено дерево решений, в качестве обучающей выборки для построения которого использовалось 100% исходных данных, индекс Gini. Decision Tree

Дерево решений, Information Gain. Параметр максимальной высоты дерева - 5. Decision Tree

decision_tree_classification's People

Contributors

ellkrauze avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.