Демонстрация примера (анализ данных об одном из кораблекрушений Титаника)

анализ данных Kaggle

Добро пожаловать в Руководство по анализу данных публичного аккаунта

Руководство по анализу данных — демонстрация случая (один из анализов данных о затонувшем Титанике)


Оглядываясь назад на историю:Основы (источники данных и профили) Foundation (один из базовых модулей KNIME) Приложение 3 Стоимость программного обеспечения, стоимость анализа данных

Фото ФГО Стюарта (1843–1923).

Официальный аккаунт WeChat: руководство по анализу данных

  • титанический

  • исследование данных

    • Необработанные данные

    • Беглый взгляд на необработанные данные

    • Посмотрите внимательно на данные

титанический

«Титаник» — британская королевская круизная компания, за время своей службы он был самым большим морским кораблем в мире, его называли «непотопляемым» и «кораблем мечты». Он разработан, чтобы быть роскошным и удобным в первом классе, с тренажерным залом, бассейном, приемной, изысканным рестораном и роскошными каютами, и даже мощным беспроводным телеграфом. Более ста лет назад такая конфигурация была высшим стандартом того времени.

10 апреля 1912 года «Титаник» отправился в свой первый и единственный пассажирский рейс из Саутгемптона в Нью-Йорк. Помимо примерно 908 членов экипажа (885 мужчин и 23 женщины), было также около 1316 пассажиров: 325 пассажиров первого класса, 285 пассажиров второго класса и 706 пассажиров третьего класса, из которых 805 мужчин и 402 человека. были женского пола, на борту было 109 детей, 79 из которых были в третьем классе (приведенные выше данные взяты из Британской торговой комиссии в Википедии). Пассажиры на борту самые разные, в том числе некоторые из самых богатых людей мира, знаменитости и некоторые бедные иммигранты из других стран, которые ищут шанс начать новую жизнь в Соединенных Штатах.

Примерно в ночь с 14 на 15 апреля «Титаник» затонул, столкнувшись на полпути с айсбергом. 1514 из 2224 человек на борту погибли, что сделало это кораблекрушение мирным временем самым страшным в современной истории. Во времена кризиса разные люди по-разному реагируют на угрозу смерти, принимая судьбу и борясь за выживание. Многим на борту пришлось сделать невозможный выбор в своих отношениях: остаться на борту с мужем и сыном или выжить в спасательной шлюпке в одиночку. Кажется, существует некий принцип «женщины и дети прежде всего», подтверждающий рыцарскую мужественность, и самопожертвование мультимиллионера Джона Джейкоба Астора IV и Бенджамина Гуггенхайма, доказывающее богатство и могущество. глубокое и продолжительное воздействие.

Кораблекрушение было объяснено с таким большим разнообразием способов и точек зрения, что катастрофа остается предметом публичных дебатов и восхищения в течение многих лет. Kaggle — крупнейшее в мире сообщество специалистов по данным и энтузиастов машинного обучения. Он часто проводит множество конкурсов данных, привлекая к участию многих практиков и энтузиастов. Его вводное практическое соревнование заключается в анализе данных этого кораблекрушения и использовании машинного обучения. Получите модель, которая предсказывает, какие люди выживут.

Потому что кто выжил, стало фактом, поэтому игра такая: вам даются данные по одной части корабля, вам дают построить модель, и пусть вы предсказываете выживание другой части корабля, и сравниваете ее с факты, для проверки точности построенной модели.

исследование данных

Необработанные данные

Необработанные данные предоставляются нам в виде файла CSV,train.csvВсего строк 891 и столбцов 12. Объяснение каждого столбца следующее:

Переменная объяснять
PassengerId Номер пассажира
survived Выжил или нет, 1 означает жив, 0 означает мертв
pclass Класс салона, 1 для первого класса, 2 для второго класса, 3 для третьего класса
name имя пассажира
sex Пол
Age возраст
sibsp Количество братьев, сестер и супругов на борту
parch Количество родителей или детей на борту
ticket Номер места в билете
fare Стоимость билета
cabin номер каюты
embarked Порт посадки, C = Шербур, Q = Квинстаун, S = Саутгемптон

Беглый взгляд на необработанные данные

Сначала мы проходимCSV Readerчтение модуляtrain.csv,Как показано ниже:

Модуль CSV для чтения необработанных данных

Прежде чем мы приступим к дальнейшему анализу данных, у нас должно быть общее представление о данных.Щелкнув правой кнопкой мыши узел CSV, взгляните на данные:

Взгляните на необработанные данные

Как видите, данные были прочитаны нашей правильно настроенной CSV-нодой.При нажатии на название столбца вы можете отсортировать данные в этом столбце по возрастанию или по убыванию. Есть маленькая деталь, требующая небольшого внимания.В шапке есть Survived.I, представляет тип данных в этом столбце, I представляет целочисленный тип, S представляет символьный тип String, D представляет тип double двойной точности с плавающей запятой и так далее. Тип данных — это часть, которую я лично считаю более важной, потому что для некоторых узлов могут обрабатываться только определенные типы данных. Например, если вы храните дату как целое число, такое как 20190301, или неправильно интерпретируете ее как целое число KNIME, когда вам нужно выполнить некоторые операции с датами, такие как определение даты как дня года, вам необходимо преобразовать это целое число в тип даты, а затем выполнить вычисление типа даты. Однако нет узла, который напрямую преобразует целые числа в типы дат, только символы, которые преобразуются в типы дат.Вы можете сделать что-то вроде следующего:

работать с целочисленными записями

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

Беглый взгляд на данные через вкладку спецификации

Вы можете видеть, что некоторые данные анализируются как неправильный тип, например 1 в столбце выживших для выживания, 0 для смерти, что не следует рассматривать как целочисленное значение (поскольку целые числа также могут иметь другие значения, такие как 2, 3, д.), о которых мы поговорим ниже.

Из-за необработанных данных и грубого наблюдения за вкладкой спецификации у нас более или менее есть некоторые вопросы о данных, эти вопросы могут стать отправной точкой для нашего исследования: - Возраст варьируется от 0,42 до 80 лет, а билеты на паром варьируются от от 0 фунтов до более 500 фунтов, есть целых 8 братьев, сестер и супругов и т.д., одинакова ли у них вероятность выживания - некоторые данные будут отсутствовать, недостающие данные есть в таблице?Знак вопроса представляет, как быть с этими данными, повлияет ли это на эффект конечной модели - влияют ли данные номера места в билете и порта посадки на выживание или смерть? - и т.д

В python, когда мы закончим чтение данных, мы выполним базовую статистику по данным, используяpandas.describeфункция, а в KNIME есть похожая функция, т.е.Statisticsмодуль, подключаем этот модуль и наблюдаем за результатом:

Настройте и откройте модуль статистики

Этот узел можно использовать без слишком сложной конфигурации.Обратите внимание на результаты следующим образом:

Используйте модуль статистики для наблюдения за числовыми значениями

Статистика делит данные на две категории: одна — это значение числового типа, которое помещается под одной меткой, а другая — значение номинального типа, которое помещается под другой меткой. Для числовых значений могут быть некоторые основные статистические методы для выполнения статистики по данным, такие как минимум, максимум, медиана, среднее значение, стандартное отклонение, эксцесс, асимметрия и т. д. Конечно, самое интересное это Распределение числовых значений, понимание этого даст вам общее представление об этом столбце данных. Например, столбец возраста относительно близок к нормальному распределению и содержит 177 пропущенных значений.Если вы хотите заполнить пропущенные значения, вы можете рассмотреть возможность использования среднего пика нормального распределения, то есть среднего дополнить данные.

Наблюдение за значениями номинальных типов с помощью модуля Статистика

Для значений номинального типа также существуют специальные метки для описания их в целом, например, столбец Survived отметки выживания показывает, что выжившие и погибшие похожи (но мы окончательно знаем, что общие данные равны не тот случай, мёртвые Есть много людей, о чём я говорил в "Источниках данных и схемах базовой части" ранее, чтобы понять разницу между реальным распределением данных и распределением данных в ваших руках и свести к минимуму эту часть разницы); такие как pclass, класс кабины. В этой колонке сразу видно, что есть три типа, и количество людей в третьем классе в два раза больше, чем в первом классе, а в второй класс и так далее.

Используйте модуль «Статистика», чтобы наблюдать за первой двадцаткой и худшей двадцаткой.

Кроме того, для нашей справки в каждом столбце есть первые двадцать и последние двадцать данных.

Посмотрите внимательно на данные

Далее мы можем наблюдать за распределением данных, сначала поnumber to stringnode, который преобразует Survived и Pclass, ошибочно классифицированные как числовые, в символы, в номинальные значения:

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

Затем используйте Color Manager, чтобы отметить столбец Survived разными цветами: зеленым для выживания 1 и красным для мертвых 0:

Данные с цветовой кодировкой

Мы можем взглянуть на данные после маркировки:

Данные с цветовой кодировкой

Цветовая маркировка — очень особенная функция в KNIME, эту часть функции мы описали в главе 04 визуализации (но еще не закончили ==;). Наконец, мы используем узел гистограммы для просмотра данных с цветовой кодировкой, выбираем вкладку «Параметры столбца/агрегации» в выходных данных узла и обращаем внимание на правый нижний угол диаграммы.binning columnОпции:

Конфигурация результата выходного изображения узла гистограммы

Производство гистограммы представляет собой такой процесс: компьютер разделит ее на несколько разных сегментов (бинов) в соответствии с вашими требованиями к определенным данным, подойдет к ряду данных, определит, какой ряд данных соответствует требованиям какого сегмента, и бросьте один в это ведро. Шар, после прохождения всех данных, количество шаров в ведре можно рассматривать как значение ординаты. В SQL этоgroup byпосле этогоcount(*)процесс.

То есть, если мы хотим разделить по признаку пола, нам нужно толькоbinning columnВы можете выбрать секс в нем!

Биннинг по полу

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

Если разделить по возрастам, а затем сравнить количество выживших и умерших для каждой возрастной группы, то нам нужно всего лишьbinning columnВыберите возраст, а затем настройте параметры графики:

Биннинг по возрасту

Если разделить ковши по классам салона, то получим следующие результаты:

Биннинг по классу салона

ССЫЛКА: - Титаник - Википедия: https://en.wikipedia.org/wiki/%E6%B3%B0%E5%9D%A6%E5%B0%BC%E5%85%8B%E5%8F %B7- Титаник: машинное обучение на основе катастроф | Kaggle: https://www.kaggle.com/c/titanic-https://www.byrnedata.com/blog/2017/3/6/using-knime-for-kaggle-titanic -выживание-модель

отвечать

Как поддержка, переадресация больше поддержки