кэггл - титаник

машинное обучение

Это 15-й день моего участия в ноябрьском испытании обновлений. Узнайте подробности события:Вызов последнего обновления 2021 г.

Алгоритм дерева решений -

DecisionTreeClassifier(criterion='entropy')
критерий - критерий энтропия: на основе информационной энтропии - алгоритма ID3 фактический результат мало чем отличается от C4.5
Джини: коэффициент Джини - алгоритм CART

Ключевые процессы для прогнозирования выживания

image.png

  1. этап подготовки

    1. Исследование данных — анализ качества данных
      1. info - основная информация о таблице данных: количество строк, количество столбцов, тип данных каждого столбца, целостность данных
      2. описать - Статистика таблицы данных: общее, среднее, стандартное отклонение, мин., макс.
      3. описать (включить = [ 'O' ] Общая ситуация строкового типа (нечисловой)
      4. head - первые несколько строк данных
      5. хвост - последние несколько строк данных
    2. Чистые данные
      1. Заполните пропущенные значения — средняя/самая высокая частота
        df.fillna(df['XX'].mean(), inplace = True)
        df.fillna(df['XX'].value_counts(), inplace = True)
    3. Выбор признаков — уменьшение размерности данных для облегчения последующих операций классификации
      1. Отфильтруйте бессмысленные столбцы
      2. Отфильтровать столбцы с большим количеством пропущенных значений
      3. Поместите оставшиеся функции в вектор признаков
      4. Преобразование данных - символьный столбец преобразуется в числовой столбец, что удобно для последующих операций - класс DictVectorizer для преобразования
        DictVectorizer: символьное преобразование чисел 0/1 для представления
        1. создать конвертер
          devc = DictVectorizer(sparse = False) - sparse=False означает не использовать разреженную матрицу, разреженная матрица означает представление ненулевых значений по положению
          Один из вариантов — сделать категории более справедливыми и не иметь приоритета друг над другом.
        2. Вызовите метод fit_transform()
          to_dict(orient='record') - преобразовать в форму списка
  2. стадия классификации

    1. модель дерева решений
      1. Импортируйте модель дерева решений
      1. Сгенерировать дерево решений
      2. Подгонка генеративного дерева решений
    2. Оценка модели и прогноз
      1. Predict — дерево решений выводит результаты прогнозирования
      2. оценивать Известное прогнозируемое значение и истинный результат — clf.score (функция, метка результата) Неизвестен истинный результат прогноза – K-кратная перекрестная проверка – cross_val_score
    3. Визуализация дерева решений
  3. Фаза рисования — GraphViz

    1. Сначала установите графвиз
    2. Импорт пакета graphviz - импорт графвиза
    3. Импортировать export_graphviz в sklearn
    4. Сначала используйте export_graphviz, чтобы обойти данные, которые будут отображаться в модели дерева решений.
    5. Затем используйте graphviz, чтобы получить источник данных
    6. Отображение данных

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

  • Разделите набор данных поровну на K равных частей

  • Используйте 1 данные в качестве тестовых данных, а остальные — в качестве обучающих данных.

  • Рассчитать точность теста

  • Повторите шаги 2 и 3, используя разные наборы тестов.