Автор оригинала: Robin Andrews.
Способность иметь смысл данных важнее, чем когда-либо в современном сложном мире. Данные везде, и возможность интерпретировать, что он дает нам возможность принимать эффективные решения, а также избежать введом в заблуждение, когда он представлен в заблуждении способов, намеренно или нет.
Некоторые из областей, в которых понимание методов анализа данных имеет важное значение:
- Медицина
- Бизнес
- Правительство
- Гуманитарная помощь
- Много ветвей науки
- Искусственный интеллект/машина обучения
Язык программирования Python – это идеальный инструмент для анализа и работы с данными. Есть много мощных библиотек открытых исходных библиотек, которые позволяют нам сосредоточиться на задаче под рукой, а не увязнуть в деталях реализации. Два из самых мощных и популярных библиотек для работы с данными в Python являются Пандас и Матплотлиб Отказ
Модуль Python Pandas
Пандас Является мощным и простым в использовании анализа данных и манипуляции с открытым исходным кодом, построенный на верхней части языка программирования Python. Имя получено из термина «анализ данных панели», статистический метод, используемый в таких областях, как социальная наука, эпидемиология и эконометрика.
Pandas использует Серия и Dataframe Структуры данных для представления данных таким образом подходят для анализа. Есть также методы удобной фильтрации данных. Одна мощная особенность – это возможность чтения данных из различных форматов, в том числе непосредственно из онлайн-источника.
Matplotlib.
Matplotlib – это потрясающая библиотека Python для получения подробных и привлекательных визуализаций в Python. Скоро вы узнаете, как легко создавать графики ваших данных со многими параметрами настройки.
Давайте начнем!
Если у вас их еще нет, вам нужно сначала установить пакеты. То, как вы это делаете, будет зависеть от вашей ситуации. Один из распространенных способов – использовать Пип от терминала.
PIP Установите пандыПип Установите MATPLOTLIB
Установка пакетов является важным навыком для тех, кто желает использовать больше, чем просто основные функциональные возможности Python. Есть тысячи удивительных пакетов. Вы можете прочитать больше о том, как установить пакеты Python здесь.
Для целей этого урока мы собираемся использовать крошечный набор данных о некоторых испытаниях для антидепрессантов. DataSet поставляется с сайта DASL Отказ Я выбрал этот набор данных, потому что это «реальный мир», означающий, что данные были собраны из реальных экспериментов. Пожалуйста, имейте в виду, что данные настроили его небольшие, и недостаточно информации, предоставляемая им, чтобы нарисовать любые далеко идущие выводы.
Набор данных показан ниже для справки.
Study Treated Placebo Blashki.et.al. 1.75 1.02 Byerly.et.al. 2.3 1.37 Claghorn.et.al. 1.91 1.49 Davidson&Turnbull 4.77 2.28 Elkin.et.al. 2.35 2.01 Goldberg.et.al. 0.44 0.44 Joffe.et.al. 1.43 0.61 Kahn.et.al. 2.25 1.48 Kiev&Okerson 0.44 0.42 Lydiard 2.59 1.93 Ravaris.et.al. 1.42 0.91 Rickels.et.al. 1.86 1.45 Rickels&Case 1.71 1.17 Robinson.et.al. 1.13 0.76 Schweizer.et.al. 3.13 2.13 Stark&Hardison 1.4 1.03 van.der.Velde 0.66 0.1 White.et.al. 1.5 1.14 Zung 0.88 0.95
Если вы посмотрите на веб-сайт, откуда приходит эти данные, вы увидите следующую историю (как в сторону, стоит учитывать, что одна из главных целей анализа данных – найти историю за данными.)
История: исследование по сравнению с эффективностью нескольких антидепрессантов, изучав эксперименты, в которых они прошли требования FDA. Каждый из этих экспериментов сравнил активный препарат с плацебо, инертной таблетки, данной некоторым предметам. В каждом эксперименте некоторые пациенты, получавшие плацебо, улучшили явление, называемое эффектом плацебо. Уровни депрессии пациентов были оценены на шкале рейтинга депрессии Гамильтона, где более крупные цифры указывают большее улучшение. (Шкала Hamilton – это широко принятый стандарт, который использовался в каждом из независимых исследований запуска.) Хорошо понятно, что PlaceBos может оказать сильное терапевтическое влияние на депрессию, но разделяя эффект плацебо из медицинского эффекта может быть сложно.
Одна вещь, чтобы всегда иметь в виду, когда работа с данными именно то, что представляет данные!
В этом примере не так много информации о том, что представляет каждую точку данных. Я собираюсь предположить, что каждое значение, приведенное для оценки рейтинга депрессии Гамильтона для каждого исследования, представляет собой среднее значение (не забывайте этот термин неоднозначен – давайте предположим среднее) значение для каждого образца в исследовании.
Вот какой-то код Python, который мы можем использовать для получения некоторой описательной статистики для набора данных. Обратите внимание, насколько легко читать в данных, используя Пандас даже от удаленного URL. Если вы хотите загрузить данные и загрузить его в локальный файл, вместо этого используйте комментарию строку.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("https://dasl.datadescription.com/download/data/3054", sep="\t")
# df = pd.read_csv("antidepressants.txt", sep="\t")
print(df.describe())
Выход из вышеуказанного кода
Treated Placebo count 19.000000 19.000000 mean 1.785263 1.194211 std 1.022428 0.606615 min 0.440000 0.100000 25% 1.265000 0.835000 50% 1.710000 1.140000 75% 2.275000 1.485000 max 4.770000 2.280000
В зависимости от вашего уровня опыта с анализом данных эти значения будут иметь для вас более или меньше смысла. То, что они представляют, является основным описанием набора данных с точки зрения его размера, среднего значения и распределения данных. % Цифры для квартили которые разбивают данные на четыре раздела, чтобы помочь нам понять, как «распространяется» данные.
Глядя на числовые данные, мы можем начать делать некоторые предварительные выводы. Например, обработанные пациенты имеют среднее значение 0,6 выше, чем для группы плацебо. Это говорит о том, что лечение может быть более эффективным, чем плацебо, но для того, чтобы быть уверенным в том, что это действительно верно, и в какой степени.
Python Pandas DataFrame Объекты
С точки зрения кода Python выше, им главное следует отметить, что мы импортируем библиотеки, которые нам нужны, а затем создание Dataframe Объект ( df в нашем коде), который содержит наши данные и имеет много полезных свойств и методов, которые мы можем использовать для его изучения.
Например, если вы добавите Распечатать (df.head ) к существующему коду, вы получите следующий вывод:
Study Treated Placebo 0 Blashki.et.al. 1.75 1.02 1 Byerly.et.al. 2.30 1.37 2 Claghorn.et.al. 1.91 1.49 3 Davidson&Turnbull 4.77 2.28 4 Elkin.et.al. 2.35 2.01
Вы можете увидеть, как данные были структурированы с помощью численного индекса и трех столбцов, которые мы можем обратиться к имени, чтобы ссылаться на конкретные точки данных.
Исследуя набор данных с помощью Python и Matplotlib – ScatterPlot
Чтобы получить более четкую картинку (буквально) данных, мы можем использовать Python’s Матплотлиб Библиотека для создания многих различных визуальных представлений. Добавьте код ниже в существующий код сверху, чтобы создать простой график данных, используя + и х Чтобы пометить значения на оси Y.
treated = df.Treated
placebo = df.Placebo
study = df.Study
plt.suptitle("Antidepressant Trials - Hamilton Depression Rating Scale")
plt.title("Source: DASL. 19 Samples")
plt.plot(study, treated, "+", color="blue")
plt.plot(placebo, "x", color="red" )
plt.xticks(rotation=60, ha="right")
plt.show()
Синтаксис очень интуитивно понятен. Основным следует отметить, что мы извлекли отдельные столбцы из DataFrame и использовали их в качестве аргументов в PLT.PLOT () Отказ Существует также несколько деталей, относящихся к параметрам отображения, но они в основном являются самоочередными.
Исследуя набор данных с помощью Python и Matplotlib – коробки и усы
Scatterplot – это отличный способ получить визуальный обзор набора данных, но он затрудняет чтение точных ценностей. Еще один общий инструмент для представления данных визуально является Коробка и усы с участием Отказ Это содержит более или менее такую же информацию, как мы почерпнули выше, используя df.describe () , но в легко усваиваемый визуальный формат.
Добавьте следующий код на то, что вы уже имеете:
labels = ["Treated", "Placebo"]
data = [treated, placebo]
plt.boxplot(data, vert=False, patch_artist=True, labels=labels, showfliers=False)
plt.suptitle("Antidepressant Trials - Hamilton Depression Rating Scale")
plt.title("Source: DASL. 19 Samples")
plt.show()
И вы получите эту цифру.
Это делает сравнение значений от обработанных групп с группами плацебо легче выполнять. Вы можете сразу увидеть относительные позиции средних значений, но вы также можете увидеть, что распространение для обработанных групп шире, чем для групп плацебо. В будущей статье мы будем более подробно посмотрим на то, как эти виды деталей влияют на виды выводов, которые могут быть сделаны при сравнении наборов данных. Например, мы увидим, как добавить бары ошибок на наши участки.
Теперь, хотя есть много зубов в то, что мы исследуем до сих пор. Как только вы попробовали все, что мы охватывали сами, не останавливайтесь там – это только начало. Попробуйте использовать методы, которые мы обсудили на разных наборах наборах и видя, какие выводы вы можете рисовать из различных представлений, которые Python предоставляет вам всего несколько строк кода. Посмотрите, что история Вы можете сказать из данных. Существует большой выбор наборов данных, доступных из того же места, в котором я получил антидепрессантские испытания, используемые в этой статье – DASL – библиотека данных и история Отказ
Этот урок охватил некоторые важные фундаментальные концепции в области грамотности данных и представляют некоторые мощные инструменты Python, которые вы можете использовать для исследования и представлять данные – Пандас и Матплотлиб Библиотеки. Я надеюсь, что вы нашли урока полезным.
Счастливые вычисления!