Menu
CoddyTech

Wizualizacja klas

Część sekcji Dane i wykresy ścieżki Machine Learning w Coddy. Lekcja 55 z 60.

Czy klasy tworzą oddzielne skupiska? Narysuj osobny wykres punktowy dla każdej klasy, nadając każdemu nazwę z target_names:

Kwiaty irysów według długości i szerokości działki kielicha, jeden kolor dla każdego gatunku: setosa tworzy własne skupisko w lewym górnym rogu, a versicolor i virginica nakładają się na siebie pośrodku i po prawej

Kod, który za tym stoi:

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()

Każde wywołanie otrzymuje własny kolor, a label=iris.target_names[i] zamienia 0, 1 i 2 na nazwy w legendzie.

Setosa wyróżnia się; versicolor i virginica nakładają się na siebie. Tam, gdzie chmury się nakładają, model będzie popełniać błędy.

challenge icon

Wyzwanie

Średni

Czy próbki złośliwe i łagodne tworzą osobne skupiska? Wykres współpracownika nie daje odpowiedzi: przedstawia wszystkie dane z load_breast_cancer na jednym wykresie punktowym w jednym kolorze.

  1. Zastąp ten wykres punktowy osobnym dla każdej klasy: mean radius na osi poziomej, mean concave points na osi pionowej.
  2. Oznacz każdy wykres nazwą klasy z target_names.

Pozostaw gotowe linie bez zmian. Twój wykres powinien wyglądać tak jak ten, utworzony na podstawie dwóch innych pomiarów:

Wykres punktowy próbek tkanki piersi według średniej tekstury i średniej gładkości; próbki złośliwe są niebieskie, a łagodne pomarańczowe; legenda podaje nazwy obu klas

Twój program niczego nie wypisuje: Coddy sprawdza wykres i opisuje go.

Spróbuj swoich sił

import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer

cancer = load_breast_cancer(as_frame=True)
df = cancer.frame

# Nie zmieniaj poniższej linii
fig, ax = plt.subplots()

# Popraw kod w tym miejscu
ax.scatter(df["mean radius"], df["mean concave points"])

# Nie zmieniaj poniższych linii
ax.set_title("Cells by Diagnosis")
ax.set_xlabel("mean radius")
ax.set_ylabel("mean concave points")
ax.legend()
plt.show()
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Dane i wykresy

Poćwicz samodzielnie: Kompilator Python online