machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Общие шаблоны для анализа данных

Дата публикации Mar 15, 2018

фотоСэмюэл ЗеллернаUnsplash

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

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

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

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

В этой статье я выбрал рядИсследовательский анализ данных(или EDA)которые были сделаны общедоступными наKaggle, сайт для науки о данных. Эти анализы смешивают интерактивные фрагменты кода вместе с прозой и могут помочь с высоты птичьего полета посмотреть на данные или выявить закономерности в данных.

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

Я хотел посмотреть на различные типы наборов данных, поэтому я выбрал:

  • Структурированные данные
  • НЛП (естественный язык)
  • Образ

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

критерии

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

Для каждого соревнования я искал теги EDA и выбирал три ядра, которые были высоко оценены или хорошо прокомментированы. Финальные баллы не учитывались (некоторые EDA даже не представляли баллы).

Структурированные данные

Набор данных структурированных данных характеризуется электронными таблицами, содержащими данные обучения и испытаний. Таблицы могут содержать категориальные переменные (цвета, например,green,red, а такжеblue), непрерывные переменные (возраст, как4,15, а также67) и порядковые переменные (уровень образования, какelementary,high school,college).

вменение в вину- Заполнение пропущенных значений в данных

Binning- Объединение непрерывных данных в сегменты, форма разработки функций

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

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

Где вы действительно можете дать волю своему воображению, так это с помощью разработки функций. У каждого из авторов, на которых я смотрел, были разные подходы к проектированию объектов, независимо от того, выбирал ли он, как объединить элемент или объединить категориальные элементы в новые.

Давайте глубже посмотрим на два конкурса,Титанический конкурсс последующимКонкурс цен на жилье,

титановый

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

EDA, которые я выбрал для анализа, былиEDA для прогнозирования диетическогопоЯ, кодер,Титаник Выживание для начинающих EDA to MLподежавю, а такжеГлубокая визуализация простых методовпоЕкатерина Кокатюхха,

Все три EDA начинаются с необработанных метрик, с просмотра нескольких строк выборки и распечатки описательной информации о файле CSV, такой как типы столбцов, средние значения и медианы.

Я, Кодер, описывает набор данных

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

Я, кодервыступает против присвоения случайного числа для заполнения пропущенных возрастов:

Как мы видели ранее, функция Age имеет 177 нулевых значений. Чтобы заменить эти значения NaN, мы можем назначить им средний возраст набора данных. Но проблема в том, что было много людей разных возрастов Мы просто не можем назначить 4-летнего ребенка со средним возрастом 29 лет. Есть ли способ узнать, в каком возрасте лежит пассажир? Бинго !!!!, мы можем проверить функцию имени. Рассматривая эту функцию, мы видим, что имена имеют приветствие, например, Mr или Mrs. Таким образом, мы можем назначить средние значения Mr и Mrs для соответствующих групп.

Я, кодервменяя возраст

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

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

дежа вю строит графики выживания по полу

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

Количество мужчин на корабле намного больше, чем количество женщин. Тем не менее, число спасенных женщин почти вдвое превышает число спасенных мужчин. Коэффициент выживаемости для женщин на корабле составляет около 75%, а для мужчин - около 18–19%. - Я, Кодер

И то и другоеJekaterinaа такжеЯ, кодерсделать выводы на основе визуального осмотра карт и данных, сJekaterinaписьмо:

  • Пол: шансы на выживание у женщин выше.
  • Pclass: наличие первоклассного билета полезно для выживания.
  • SibSp и Parch: средние семьи имели более высокую выживаемость, чем люди, которые путешествовали одни или большие семьи. Причина может заключаться в том, что одни люди захотят пожертвовать собой, чтобы помочь другим. Что касается больших семей, я бы объяснил, что трудно управлять всей семьей, и поэтому люди будут искать членов семьи, чтобы попасть в лодку.
  • «Вжившийся С» имеет более высокую выживаемость. Было бы интересно посмотреть, если, например, большинство Pclass 1 поднялись на борт в стартовом C.
Екатерина строит сложенную диаграмму, иллюстрирующую Pclass и Embarked

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

Характеристика

Екатерина вытаскивает из каюты письмо.

Когда дело доходит до разработки функций, у трех авторов ядра больше вариаций.

Каждый автор выбирает разное количество сегментов для непрерывных переменных, таких как возраст и стоимость проезда. Между тем, каждый подходит к семейным отношениям по-своему, сЯ, кодерЗданиеSibSip- будь то человек один или с семьей (супруг (а) или братья и сестры) - вместе сfamily_sizeа такжеalone, в то время какJekaterinaвытаскивает мусорное ведро и предлагает функцию дляchildилиadult,Я, кодерв частности агрессивен в отбраковке неуместных колонн

Имя → Нам не нужна функция имени, поскольку она не может быть преобразована в какое-либо категориальное значение.

Age → У нас есть функция Age_band, поэтому в этом нет необходимости.

Билет → Это любая случайная строка, которую нельзя классифицировать.

Fare → У нас есть функция Fare_cat, поэтому ненужная

Каюта → Многие значения NaN, а также много пассажиров имеют несколько кают. Так что это бесполезная особенность.

Fare_Range → У нас есть функция fare_cat.

PassengerId → Невозможно классифицировать.

Для шага вменения,Jekaterinaпишет:

  • Встал: заполнить встал с основным классом
  • Pclass: поскольку в Fare есть только одно пропущенное значение, мы заполним его медианой соответствующего Pclass
  • Возраст: Есть несколько методов вменения, мы будем использовать случайное число из среднего значения + - STD

Она завершает свое ядро ​​тем, что новые вмененные данные не нарушают среднее значение:

Екатерина проверяет, не нарушило ли вменение

Takeaways

Все три автора ядра изучают данные и описывают общую форму.

Я, кодерсмотрит на общие нулевые значения, тогда какJekaterinaделает это ближе к концу.

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

Авторы расходятся немного больше, когда дело доходит до разработки функций. Авторы расходятся во мнениях относительно того, когда следует разрабатывать новые функции, причем некоторые рассматривают его как отдельный шаг, а другие - при первоначальном анализе данных. Варианты выбора биннинга различаются, в зависимости от возраста, титула и тарифа, которые получают разное количество сегментов, и толькоJekaterinaразработка дискретногоchild/adultхарактерная черта.

Подходы к вменению также различаются Я, кодеррекомендует рассматривать существующие данные для прогнозирования значений вменения, тогда какJekaterinaгарантирует, что ее вмененные данные не влияют на среднее значение.

Есть некоторые явные сходства в том, как авторы думают и подходят к данным, с основными расхождениями, касающимися визуализации и разработки функций.

Цены на дома

поAmerican Advisors Group

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

EDA, которые я выбрал для анализа, былиКомплексное исследование данных с PythonпоПедро Марселино,Детальное исследование данных в PythonпоAngela, а такжеFun Python EDA Шаг за шагомпоСанг-эон Парк,

Хотя он похож на «Титаник», он значительно сложнее.

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

Педро выставляет цену продажи

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

* Отклоняться от нормального распределения.

* Имеют заметную положительную асимметрию.

* Показать пик.

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

Особенности черчения против цены продажи

В отличие отAngelaначинается с более объективного подхода, перечисляя числовые особенности по их соотношению сSalePrice, Она также строит черты относительно продажной цены, ища закономерности в данных.

Sang-эонзапускает ядро ​​на ура, агрессивно отбрасывая пропущенные значения и выбросы (за исключениемLotFrontageкоторый он вменяет, используя линейную регрессию). Только тогда он начинает строить различные функции против продажной цены.

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

  • Насколько распространены недостающие данные?
  • Пропущены ли данные случайным образом или есть шаблон?

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

Для решения этих проблем,Pedroвыводит итоги и проценты недостающих ячеек и выбирает удаление столбцов, в которых 15% или более ячеек содержат отсутствующие данные. Он снова полагается на субъективный выбор, чтобы определить, какие функции удалить:

... мы пропустим эти данные? Я так не думаю. Кажется, что ни одна из этих переменных не очень важна, поскольку большинство из них не являются аспектами, о которых мы думаем при покупке дома (может быть, в этом причина отсутствия данных?). Более того, если присмотреться к переменным, можно сказать, что такие переменные, как «PoolQC», «MiscFeature» и «FireplaceQu», являются сильными кандидатами на выбросы, поэтому мы будем рады их удалить.

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

Основной задачей здесь является установление порога, который определяет наблюдение как выброс. Для этого мы стандартизируем данные. В этом контексте стандартизация данных означает преобразование значений данных в среднее значение 0 и стандартное отклонение 1.

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

Характеристика

Sang-эонисследует асимметрию и эксцесс данных и выполняет тест суммы ранга Уилксока. Он завершает свое ядро ​​очень красивым сюжетом:

Санг-эон с 3D сюжетом

В то же время,Pedroобсуждает нормальность, гомоскедастичность, линейность и отсутствие коррелированных ошибок; он нормализует данные и обнаруживает, что остальные три также разрешены. Успех!

Takeaways

Ни один из трех авторов ядра не занимается разработкой функций, возможно потому, что в наборе данных уже присутствует так много функций

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

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

Естественный язык

Наборы данных Natural Language или NLP содержат слова или предложения. Хотя основной тип данных такой же, как и в соревнованиях по структурированным данным - текстовым, - инструменты, доступные для анализа естественного языка, являются специализированными, что приводит к различным стратегиям анализа.

В своем первоначальном виде язык не легко расшифровать с помощью моделей машинного обучения. Чтобы получить его в соответствующем формате для нейронной сети, требуется преобразование. Одним из популярных методов являетсяМешок словпосредством чего предложение эффективно преобразуется в набор из 0 или 1, указывающий, присутствует ли конкретное слово или нет.

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

Классификация токсичных комментариев

Предупреждение: некоторые из этих комментариев могут обжечь ваши глазные яблоки.

поnavaneethkn

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

EDA, которые я выбрал для анализа, былиОстанови S @ # $ - Токсичные комментарии EDAпоДжагана,Классификация комментариев с несколькими меткамипоРодий бенг, а такжеНе связывайтесь с моей мамочкойпоФрансиско Мендес,

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

Jagan показывает распределение изображений по категориям токсичных веществ.

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

Францисконемедленно выбрасывает слова «не имеющие значения» (например, «и» или «the»). Используя биплот, он показывает, к какой категории лучше всего подходит определенное слово.

Из биплота большинство слов организованы так, как и ожидалось, за некоторыми исключениями жир связан с ненавистью к личности, что удивительно, потому что это единственное слово, не относящееся к расе, в нижней части таблицы, в середине есть несколько оскорбительных слов общего характера. диаграммы, означая, что они могут быть использованы для любых ужасных целей, другие, как умирают, исключительно связаны с угрозой, которая имеет смысл для некоторых других как $$ (извините, я чувствую себя некомфортно, когда пишу это, как это появляется в данных) с угрозой, в левом среднем углу диаграммы есть неузнаваемые слова, которые показаны с помощью кода - Франциско Мендес

Францискозатем спрашивает, есть ли связь между опечатками и токсичностью.

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

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

Здесь есть несколько новых слов, которые можно выделить, когда геи используются в основном в комментариях к угрозам и ненависти. Некоторые общие мягкие слова, такие как «мать», «ад», «кусок», «глупый», «идиот» и «закрытый», используются для любого токсического общего назначения, в то время как любая производная от слова «f» используется в токсичных и непристойных комментариях. Также из биплота можно понять, что ядовитые и оскорбительные похожи и наименее агрессивны, а ненависть и угроза - самые серьезные.

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

Родийстроит гистограмму длины символов, а также тепловую карту между категориями, обнаруживая, что некоторые метки сильно коррелированы; Например, оскорбление с вероятностью 74% также может быть непристойным.

Джаганапоказывает облака слов, тепловую карту и кросс-таблицу, наблюдая:

Тяжелый токсичный комментарий всегда токсичен
Другие классы, кажется, являются подмножеством токсичных веществ, за исключением нескольких исключений.

Характеристика

Родийстрочные буквы текста, вручную превращает сокращения в вещи, и вручную убирает пунктуацию.

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

Jagan обсуждает особенности проектирования

Для отдельных слов и пар словДжаганаа такжеРодийоба строят верхние слова, используя TF-IDF, описанный как:

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

Takeaways

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

Жуткая идентификация автора

поGael Varoquaux

Жуткая идентификация авторапредоставил отрывки текста от трех авторов на тему ужасов - Эдгара Аллана По, Л.П. Лавкрафта или Мэри Уолстонкрафт Шелли - и попросил участников создать модель, способную предсказать, кто из авторов создал определенный фрагмент текста.

EDA, которые я выбрал для анализа, былиSpooky NLP и учебник по моделированию темпоанизотропный,Учебник Подробный Spooky Fun EDA и моделированиепоБукун, а такжеДревовидная карта Дом ужасов Spooky EDA LDA ОсобенностипоОрел или решка,

Что интересно в этом наборе данных, так это его простота; очень мало неструктурированных данных, сопровождающих текст, кроме автора. В результате все EDA были сосредоточены исключительно на разных подходах к синтаксическому анализу и анализу языка.

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

Заметили что-нибудь странное в словах, которые появляются на этом графике? Эти слова действительно говорят нам много о темах и понятиях, которые Мэри Шелли хочет изобразить читателю в своих рассказах? Все эти слова встречаются так часто, что их можно найти где угодно. Не только в жутких историях и романах наших трех авторов, но и в газетах, детской книге, религиозных текстах - практически в любом другом английском тексте. Поэтому мы должны найти какой-то способ предварительной обработки нашего набора данных, чтобы убрать все эти часто встречающиеся слова, которые не приносят много на стол. - анизотропный

Каждый автор создает облака слов, показывающие наиболее часто встречающиеся слова:

Heads or Tails создает облако слов из 50 самых распространенных слов

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

анизотропныйа такжеБукунобсудить токенизацию и удаление стоп-слов:

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

После токенизации прекратить удаление слов и лемматизацию,анизотропныйперестраивает график из 50 лучших слов:

Букунстроит свои 10 лучших слов в целом и по автору, находя другой набор:

Орел или решкаделает это также, дополнительно просматривая главные слова автора, после токенизации и stemming.

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

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

Букунсмотрит на верхние биграммы и триграммы (сборники из двух и трех слов соответственно).

Головы или Хвосты изображают слово отношения для биграмм

И то и другоеБукуна такжеОрел или решкавыполнить анализ настроений и посмотреть на общий негатив на автора

Букуниспользует что-то под названием «NRC Sentiment lexicon», чтобы исследовать количество «Fear», «Surprise» и «Joy» в каждом фрагменте текста, и визуализирует чувства различных авторов, используя облака слов, таблицы, гистограммы.

Букун строит облако слов для слов, соответствующих Джой

Характеристика техники

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

Орел или решкаотмечает, что:

Мы уже заметили, что наших трех авторов можно идентифицировать по именам их самых выдающихся персонажей; с Мэри Шелли, пишущей о «Раймонде» или Лавкрафте о «Герберте Весте». Но как насчет имен в целом? Некоторые авторы более склонны использовать имена при определенных обстоятельствах? После предложения или длины символа это одна из наших первых идей по разработке функций в нашем стремлении к знаниям.

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

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

головы или хвосты графики различных измерений автора

Орел или решказаканчивает свое ядро ​​аллювиальным сюжетом, демонстрирующим особенности взаимодействия:

Взаимодействие функции аллювиального сюжета Heads or Tails

Takeaways

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

Ядра имели тенденцию использовать лучшие практики НЛП, такие как строчные слова, основы и токенизация. Ядра также имели тенденцию использовать более продвинутые методы, чем те, которые были замечены в ядрах Токсина, такие как анализ настроений и анализ би- и триграмм.

В обоих соревнованиях авторы ядра использовалиTF-IDF,

Для разработки функций авторы разработали множество новых функций, включая среднее количество слов в предложении, выбор знаков пунктуации и дублирование слов.

Картинки

До сих пор все наборы данных были основаны исключительно на тексте (язык, строки или числа). Последние два набора данных, которые я выбрал для просмотра, были основаны на изображениях.

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

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

Классификация листьев

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

EDA, которые я выбрал для анализа, былиИзвлечение функций из изображенийпоLorinc,Визуализация PCA с помощью Leaf Datasetпоselfishgene, а такжеБыстрое исследование изображенийпоХосе Альберто,

Хороший первый шаг - посмотреть на изображения листьев, как начинаются два из EDA.

эгоист изучает образцы листьев

Хосенаносит на карту различные разновидности, и отмечает, что есть 10 изображений за разновидность. Он также смотрит на сходство листьев внутри категории:

Хосе сравнивает листья в категории

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

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

selfishgeneвыбирает посмотреть направление отклонения изображений, написав:

Каждое изображение может быть как «направление» в пространстве больших размеров изображения

selfishgene смотрит на дисперсию изображения листа

selfishgeneтакже проводит некоторое время, изучая реконструкцию изображения, изменения модели вокруг среднего изображения и собственные векторы; он объясняет:

«Самая верхняя строка содержит распределения данных каждого собственного вектора (то есть гистограммы вдоль этого« направления »). Вторая строка содержит то, что мы уже видели на предыдущем графике, то, что мы называли направлениями дисперсии. Четвертый ряд содержит срединное изображение листьев. обратите внимание, что этот ряд идентичен для всех собственных векторов. В третьем ряду содержатся изображения 2-го процентиля каждого собственного вектора. легче представить это как медианное изображение минус изображение собственного вектора, умноженное на некоторую константу.

Эгоист смотрит на вариации модели

Обнаружение функций

Lorincпредлагает разделить каждый образец пополам и рассматривать их как два (хотя он не придерживается этого подхода).Lorincнаходит локальные максимумы и минимумы из временного ряда (например, лист, изображенный в полярных координатах) и отмечает:

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

Это не поиск подсказок, а точек с наибольшим расстоянием от центра. (посмотрите на лист № 19)

Он с треском провалится на более сложном или, к сожалению, повернутом листе. (посмотрите на лист № 78)

Лоринк измеряет минимумы и максимумы листа, построенного в полярных координатах

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

лоринк измеряет расстояние от центра листа

Рак легких

EDA, которые я выбрал для анализа, былиПолное руководство по предварительной обработкепоГвидо Зуидхоф,Исследовательский анализ данныхпоМикель Бобер-Иризар, а такжеИсследовательский анализ ВизуализацияпоАлександру Папиу,

Anokas проверяет метаданные для одного изображения. Вы можете видеть, что дата пациента была анонимна (01.01.1900)

Финальный конкурс изображений, на который я посмотрел, был2017 Data Science Bowl, который попросил участников изучить список изображений и предсказать, был ли у пациентов рак или нет. Хотя в этом конкурсе были представлены структурированные данные (метаинформация, встроенная в сами изображения), некоторые из этих данных были анонимными, что означало, что функции, которые в противном случае могли бы иметь прогностическое значение (например, возраст пациента), были удалены. Это означало, что все ядра ориентированы исключительно на анализ изображений.

Из трех авторов ядраGuidoтолько он рассказал о своем опыте работы с медицинскими изображениями, и это показано в его предметно-ориентированном анализе набора данных:

Dicom является стандартом де-факто в области медицинской визуализации. ... Эти файлы содержат много метаданных (например, размер пикселя, то есть какова длина одного пикселя в каждом измерении в реальном мире). Этот размер пикселя / грубость сканирования отличается от сканирования к сканированию (например, расстояние между срезами может отличаться), что может ухудшить производительность подходов CNN. Мы можем справиться с этим путем изоморфной повторной выборки

Два других автора начинают свои EDA с более общих исследований набора данных и самих изображений.

apapieначинается с изучения формы изображений, в то время какanokasначинается с просмотра количества сканирований на пациента, общего количества сканирований и гистограммы файлов DICOM на пациента, а также быстрой проверки работоспособности, чтобы выяснить, существует ли какая-либо связь между идентификатором строки и наличием у пациента рака (ничего не найдено , подразумевая, что набор данных хорошо отсортирован).

Александрберет распределение пикселей и строит их:

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

Guidoпроливает немного света в его EDA о том, почему это происходит, а именно из-за того, что представляют собой единицы HU (воздух, ткань и кости):

Картинки

Каждый автор продолжает изучение самих изображений:

Anokas смотрит на набор изображений пациентов бок о бок

Александрсмотрит на изображения под углом X

Александру смотрит на изображения под углом X
Anokas создает GIF, который перемещается через набор изображений пациентов

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

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

Александрприходит к выводу, что:

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

В то же время,Guidoобсуждает передискретизацию, сосредотачиваясь на фундаментальной природе изображения DICOM:

Сканирование может иметь пиксельный интервал [2,5, 0,5, 0,5], что означает, что расстояние между слайсами составляет 2,5 миллиметра. Для другого сканирования это может быть [1,5, 0,725, 0,725], это может быть проблематичным для автоматического анализа (например, с использованием ConvNets)! Распространенным методом борьбы с этим является повторная выборка полного набора данных до определенного изотропного разрешения. Если мы решим заново сэмплировать все до 1mm1mm1mm пикселей, мы можем использовать трехмерные конвееты, не беспокоясь об обучении инвариантности увеличения / толщины среза.

Позже в его EDA,Guidoможет сделать трехмерный график внутренней полости, комбинируя несколько изображений DICOM:

И еще один вариант, после удаления окружающего воздуха для уменьшения памяти:

Takeaways

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

Выводы

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

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

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

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

Имеет смысл, что по мере того, как наборы данных становятся более специализированными или эзотерическими, объем вводного анализа и объяснения уменьшается, а объем углубленного или специализированного анализа увеличивается, и это действительно то, что я видел. Несмотря на наличие четких тенденций в разных типах данных, знание предметной области играет важную роль. В соревнованиях по раку легкого и листу привлечение знаний о предметной области привело к более глубокому анализу. (Кстати, я видел это в своих собственных исследованиях; Джереми Ховард, в егоfast.aiКонечно, обсуждается набор данных Россмана и как наиболее успешные модели интегрировали сторонние наборы данных, такие как температура, местоположение магазинов и т. д., чтобы сделать более точные прогнозы продаж.)

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

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


Особая благодарностьМишель Лью,Ари Зильник,Шон Мэтьюз, а такжеБетани Базильза рецензирование черновиков этой статьи.

Первоначально опубликовано наthekevinscott.com


Оригинальная статья

Footer decor

© machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map