Построение графиков классов
Часть раздела Данные и графики путешествия по Machine Learning на Coddy. Урок 55 из 60.
Образуют ли классы отдельные облака? Постройте диаграмму рассеяния для каждого класса, назвав каждую в соответствии с target_names:
Код, лежащий в основе:
df = iris.frame
fig, ax = plt.subplots()
for i in range(3):
group = df[df["target"] == i]
ax.scatter(group["sepal length (cm)"], group["sepal width (cm)"], label=iris.target_names[i])
ax.set_title("Iris flowers by sepal size")
ax.set_xlabel("sepal length (cm)")
ax.set_ylabel("sepal width (cm)")
ax.legend()
plt.show()Каждый вызов получает свой цвет, а label=iris.target_names[i] преобразует 0, 1 и 2 в названия для легенды.
Setosa выделяется; versicolor и virginica перекрываются. Там, где облака перекрываются, модель будет ошибаться.
Задание
СреднеОбразуют ли злокачественные и доброкачественные образцы отдельные облака точек? По графику напарника этого не понять: на нём все данные из load_breast_cancer нанесены одним графиком рассеяния, одним цветом.
- Замени этот график рассеяния на отдельный для каждого класса:
mean radiusпо горизонтали,mean concave pointsпо вертикали. - Подпиши каждый график названием его класса из
target_names.
Не меняй готовые строки. Твой график должен выглядеть как этот, построенный по двум другим измерениям:
Твоя программа ничего не выводит: Coddy проверит график и опишет его.
Попробуйте сами
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
# Не изменяйте строку ниже
fig, ax = plt.subplots()
# Исправьте код здесь
ax.scatter(df["mean radius"], df["mean concave points"])
# Не изменяйте строки ниже
ax.set_title("Cells by Diagnosis")
ax.set_xlabel("mean radius")
ax.set_ylabel("mean concave points")
ax.legend()
plt.show()
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Данные и графики
4Преобразование данных
Изменение формы массивовОбъединение массивовСлучайные числаПовторение: симуляция броска кубика2Массивы NumPy
Создание массивовФорма и размерДиапазоны чиселИндексация и срезыПовторение: температурная сетка5Линейные графики и диаграммы рассеяния
Подписи и заголовкиДиаграммы рассеянияНесколько линий и легендыЦвета и маркерыФигуры и осиПовторение: шаги за неделю8Фильтрация и сортировка
Выбор строкФильтрация строкСортировка значенийНовые столбцыПовторение: лучшие товары11Наборы данных для ML
Встроенные наборы данныхПризнаки и меткиИзучение по классамПостроение графиков классовПовторение: набор данных Wine3Математика массивов
Математика над целыми массивамиСводная статистикаСтатистика по осямТранслированиеБулевы маскиПовторение: результаты экзамена6Графики для данных
Столбчатые диаграммыГистограммыНесколько графиков в одномИзображения как массивыПовторение: отчёт об осадках9Группировка и очистка данных
Подсчёт значенийГруппировка данныхНесколько сводокПропущенные значенияПовторение: результаты опроса12Заключительные задания
Отчёт о продажахПоказания датчиковЦифры с первого взглядаИсследователь-пингвинПотренируйтесь самостоятельно: Онлайн-компилятор Python