Search
Write a publication
Pull to refresh
9
0
Send message

Группируем текстовые записи с помощью Python и CountVectorizer

Reading time9 min
Views6.4K

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

В очередной раз столкнувшись с этой проблемой при анализе данных в pandas, я решил подключить к решению CountVectorizer из scikit-learn. Результат показался интересным. Сразу оговорюсь, что в данном случае я не использую методы и алгоритмы машинного обучения, а только CountVectorizer как инструмент.

Читать далее

План-факт, динамика и прибыль на одной диаграмме c помощью R

Reading time2 min
Views9.5K
Каждый раз, когда подводятся финансовые итоги прошедшего года и готовится соответствующая презентация, люди ломают голову, как бы уместить основные цифры на одной диаграмме. Какова бы ни была сфера деятельности организации, подведение итогов, как правило, начинается с анализа основных финансовых показателей, отдельно по каждому из бизнес-направлений:
  • оборот в завершившемся году (фактические цифры);
  • установленные ранее планы на завершившийся год (для анализа выполнения);
  • оборот годом ранее (для понимания динамики);
  • прибыльность.
Стандартная столбчатая диаграмма, которую можно на скорую руку построить в Excel, даёт, мягко говоря, не совсем наглядный результат. К примеру, если у бизнеса четыре направления, то на диаграмме появятся 16 рядом стоящих столбцов, и кто-то может с непривычки спутать передовиков и отстающих.
Специалисты, знакомые с R, могут использовать ggplot2 для программного построения нужной диаграммы, например, такой как здесь. Для примера взяты цифры за 2012 год из годового отчета компании Unilever. Плановые показатели не относятся к публичным данным, поэтому пришлось их выдумать из головы, установив, для определенности, на уровне «прошлый год + 5%».
Исходные цифры находятся в Excel и выглядят так (данные в миллионах евро):
image
Построенная в RStudio диаграмма выглядит следующим образом:
image
Проверьте диаграмму на интуитивность, и не глядя на цифры, предположите, какому показателю какой элемент диаграммы соответствует, а объяснения будут далее.
Читать дальше →

Анализ и визуализация реальных табличных данных в R

Reading time13 min
Views27K
Материал будет полезен тем, кто осваивает язык R в качестве инструмента анализа табличных данных и хочет увидеть сквозной пример реализации основных шагов обработки.
Ниже демонстрируется загрузка данных из csv-файлов, разбор текстовых строк с элементами очистки данных, агрегация данных по аналитическим измерениям и построение диаграмм.
В примере активно используется функциональность пакетов data.table, reshape2, stringdist и ggplot2.

В качестве «реальных данных» взята информация о выданных разрешениях на осуществление деятельности по перевозке пассажиров и багажа легковым такси в Москве. Данные предоставлены в общее пользование Департаментом транспорта и развития дорожно-транспортной инфраструктуры города Москвы. Страница набора данных data.mos.ru/datasets/655
Исходные данные имеют следующий формат:
ROWNUM;VEHICLE_NUM;FULL_NAME;BLANK_NUM;VEHICLE_BRAND_MODEL;INN;OGRN
1;"А248УЕ197";"ООО «ТАКСИ-АВТОЛАЙН»";"017263";"FORD FOCUS";"7734653292";"1117746207578"
2;"А249УЕ197";"ООО «ТАКСИ-АВТОЛАЙН»";"017264";"FORD FOCUS";"7734653292";"1117746207578"
3;"А245УЕ197";"ООО «ТАКСИ-АВТОЛАЙН»";"017265";"FORD FOCUS";"7734653292";"1117746207578"
```

1. Загрузка первичных данных
Данные можно загружать непосредственно с сайта. В процессе загрузки сразу переименуем колонки удобным образом.
url <- "http://data.mos.ru/datasets/download/655"
colnames = c("RowNumber", "RegPlate", "LegalName", "DocNum", "Car", "INN", "OGRN", "Void")
rawdata <- read.table(url, header = TRUE, sep = ";",
             colClasses = c("numeric", rep("character",6), NA),
             col.names = colnames,
             strip.white = TRUE,
             blank.lines.skip = TRUE,
             stringsAsFactors = FALSE,
             encoding = "UTF-8")
Теперь можно приступать к анализу и визуализации…
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity