Menu
CoddyTech

Диаграммы размаха по группам

Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 41 из 64.

Две группы различаются: это реальное различие или случайность? Эта глава завершается рисунком, который даёт ответ:

Гистограмма 1000 различий, полученных случайным перемешиванием: они сгруппированы вокруг 0, а красная линия обозначает реальное различие далеко слева, у края

Всё начинается со взгляда. В гончарной мастерской замерили время работы двух печей. Передай ax.boxplot список групп и их названия:

gas = np.array([6.5, 7, 7.5, 8, 7, 6.5, 8.5, 7.5])
electric = np.array([9, 10.5, 11, 9.5, 12, 10, 10.5, 15])
fig, ax = plt.subplots()
ax.boxplot([gas, electric], tick_labels=["Gas", "Electric"])
ax.set_ylabel("Hours")
plt.show()

Две диаграммы размаха на одной оси: значения для газа ниже, медиана — около 7.25 часа; для электричества выше, около 10.5 часа, с одной точкой-выбросом на отметке 15. Прямоугольники не перекрываются

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

challenge icon

Задание

Средне

На горнолыжном курорте замерили время 36 поездок на трёх подъёмниках. В lifts.csv указаны lift (Red, Green или Blue) и minutes; стартовый код загружает данные и настраивает график.

  1. Пройдись циклом по names и собери время поездок на каждом подъёмнике в список.
  2. Построй по одному ящику для каждого подъёмника, задав названия с помощью tick_labels=.
  3. Покажи график.

Ничего не выводится; Coddy описывает каждый ящик. Два других подъёмника выглядят так:

График с заголовком Lift Times и двумя диаграммами размаха с названиями Orange и Purple: Orange — нижняя граница около 18 минут, Purple — выше, около 27.5 минут, с одним выбросом на отметке 44

Попробуйте сами

import pandas as pd
import matplotlib.pyplot as plt

lifts = pd.read_csv("lifts.csv")
names = ["Red", "Green", "Blue"]
# Не изменяйте строки ниже
fig, ax = plt.subplots()
ax.set_title("Lift Times")
ax.set_xlabel("Lift")
ax.set_ylabel("Minutes")

# Напишите свой код ниже
quiz iconПроверьте себя

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

Все уроки раздела Статистика для машинного обучения

Потренируйтесь самостоятельно: Онлайн-компилятор Python