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

Введение

По мере того, как многие люди начинают свое путешествие в науку о данных, способность понимать и выполнять код на языке программирования стала необходимым условием для проведения анализа набора данных. Я лично был ошеломлен разнообразием языков, которые можно использовать для реализации кода. Что выбрать Python или R? Должен ли я изучать оба? Подходит ли мне Matlab? Может быть, я просто буду использовать Excel? После того, как я выберу язык, как я узнаю, что делаю правильно?

Начать новый язык кодирования может быть очень пугающе. К счастью, любой может поискать в Интернете и пройти курсы на таких сайтах, как Coursera и Youtube, чтобы улучшить свое образование в области науки о данных. Как только эти основы будут поняты, человек может пойти в Kaggle и попытаться изучить их бесплатные наборы данных, чтобы понять, как применять различные методы машинного обучения. Несмотря на то, что все это отличные инструменты, что, если бы существовал простой способ проверить правильность проводимого мной анализа или, по крайней мере, правильность полученных ответов?

Ну… есть!

СПМ

Когда я заканчиваю степень магистра в области исследования операций с сертификацией в области науки о данных, одним приложением, которое значительно поддержало мое обучение программированию на Python, было Статистическое программное обеспечение JMP. JMP — это (бесплатная 30-дневная пробная версия) онлайн-программное обеспечение, предлагаемое SAS, которое может выполнять различные типы анализа для обычного пользователя. Без JMP мне пришлось на горьком опыте понять, что мой анализ был неправильным (никогда не провалил задание, но, вероятно, сделал бы это, если бы не начал с JMP в заднем кармане!).

Функции

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

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

Еще одним интересным предложением от JMP являются варианты Consumer Research. Включены следующие методы: Категорический анализ, Выбор, MaxDiff, Uplift и Множественный факторный анализ.

Одним из разделов, который я чаще всего использовал, изучая программирование на Python, был раздел Многовариантные методы. Сегодня я покажу пример основных компонентов (Анализ основных компонентов (АПК)), который представляет собой метод уменьшения размерности, направленный на сохранение дисперсии в наборе данных.

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

Дополнительным разделом, предлагаемым JMP, является раздел Качество и процесс. Методы, предлагаемые в этом разделе, включают построитель контрольных диаграмм, анализ измерительных систем, измерительную диаграмму изменчивости/атрибутов, возможности процесса, контрольную диаграмму, многомерную контрольную диаграмму управления моделью, устаревшие контрольные диаграммы, график Парето, диаграмму и Управление ограничениями спецификаций.

Раздел Надежность и выживание, предоставленный JMP, отлично подходит для прогнозирования событий и будущих отказов.

В разделе Скрининг представлены отличные методы для понимания выбросов в наборе данных, а также для прогнозного и процессного скрининга.

Наконец, последний раздел, который будет рассмотрен сегодня, — это раздел Специализированное моделирование. Этот раздел отлично подходит для специалистов по данным, которые хотят создать прогноз для своего набора данных!

Пример

В этом примере мы проведем анализ основных компонентов для набора данных диагностики рака молочной железы штата Висконсин (найдите его здесь!). Первым шагом будет загрузка набора данных в JMP, что вы можете просто сделать, скопировав и вставив файл Excel или .CSV.

Вам нужно перейти в Файл ›› Создать ›› Таблицу данных.

На этом этапе скопируйте данные из excel. Т

Затем в JMP выберите Правка ›› Вставить с именами столбцов.

В этом наборе данных нашей целевой меткой является столбец «метка», где «0» означает «доброкачественный», а «1» означает «злокачественный». Метка не используется в фактическом PCA, но мы хотим, чтобы наш график PCA показывал группировку двух разных классификаций. Для этого в JMP перейдите в столбец индекса и выберите красную стрелку вниз. Среди вариантов выберите Выбор строки, а затем «Выбрать все строки».

Как только все строки выбраны, мы хотим пометить их по их целевой метке. В том же окне выбора выберите Цвет или Отметить по столбцам.

Затем вам нужно будет перейти к столбцу «метка» и выбрать этот столбец, чтобы пометить все столбцы данных.

Теперь мы можем провести наш PCA!

Пример анализа основных компонентов

Первый шаг — перейти к

Анализ››Многомерные методы››Основные компоненты

Затем вам нужно ввести все столбцы функций в Y,Columns. Не добавляйте столбец метки в список Y, Columns!. После добавления столбцов нажмите ОК.

Анализ показателей

Вышеупомянутое окно является окном вывода, предоставленным JMP после проведения анализа.

JMP первоначально даст собственные значения каждого из основных компонентов. Используя критерий Кайзера (любое собственное значение выше 1), мы бы сохранили компоненты 1-6. Используя критерий Джоллиффа (любое собственное значение выше 0,7), мы по-прежнему сохраняем только компоненты 1–6.

Нажав стрелку вниз на Основных компонентах: на Корреляциях, можно получить другие показатели модели. Еще один важный график — график осыпи, который можно получить, выбрав График осыпи.

График осыпи подтверждает критерии Кайзера и Джоллиффа, согласно которым эти данные могут быть объяснены 6 основными компонентами.

При построении первых двух компонентов видно четкое различие между двумя типами опухолей (красный = «доброкачественный», синий = «злокачественный»). Первые компоненты объясняют 63,40% дисперсии данных.

Попробуйте этот код, используя python, и вы получите те же результаты (будущие сообщения, если я получу достаточно запросов!)

Заключение

JMP — отличный инструмент для проверки анализа, который вы применяете при обучении программированию на Python (или на другом языке программирования по вашему выбору). Несмотря на то, что сегодня обсуждались многие приложения JMP, JMP предлагает гораздо больше аналитических возможностей, которые вам следует изучить. Вам может быть интересно, зачем писать код, если у меня есть JMP? С любой программой черного ящика пользователь всегда должен быть осторожен, принимая ответы за их номинальную стоимость. При использовании любой из различных функций алгоритма обязательно изучите, какие операции функция фактически выполняет для этого программного обеспечения. Кроме того, помимо JMP существует множество функций, которые могут понадобиться исследователю данных, а также потребность в большей вычислительной мощности. Использование языков программирования позволяет лучше контролировать разработку уравнений и настройку гиперпараметров при построении моделей. При этом я настоятельно рекомендую использовать JMP, чтобы ускорить процесс обучения и сделать больше попыток самостоятельного изучения языка при кодировании, чтобы увидеть, правильный ли ответ вы получаете!

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