Uczenie nienadzorowane
Poznaj techniki grupowania, takie jak K-Means i grupowanie hierarchiczne.
Uczenie nienadzorowane to bezpłatna lekcja Python For Kids na CoddyKit. To lekcja 3 z 6. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python For Kids, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python For Kids zawiera 6 lekcji w sumie.
Uczenie nienadzorowane
Uczenie nienadzorowane to rodzaj uczenia maszynowego, w którym algorytm uczy się wzorców na podstawie nieoznaczonych danych. Często wykorzystuje się je do grupowania, redukcji wymiarowości i wykrywania anomalii.
W tej lekcji poznają Państwo techniki grupowania, takie jak K-Means i grupowanie hierarchiczne.

Czym jest uczenie nienadzorowane?
Uczenie nienadzorowane polega na analizowaniu i grupowaniu danych bez wcześniej zdefiniowanych etykiet. Jego celem jest identyfikowanie ukrytych struktur lub wzorców w danych.
Najważniejsze zadania obejmują:
- Grupowanie: Łączenie podobnych punktów danych w grupy.
- Redukcja wymiarowości: Zmniejszanie liczby cech przy jednoczesnym zachowaniu ważnych informacji.
Grupowanie K-Means
K-Means to popularny algorytm grupowania, który dzieli dane na K grup na podstawie podobieństwa cech. Zobaczmy, jak działa:
# Example: K-Means Clustering
from sklearn.cluster import KMeans
import numpy as np
# Sample data
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)Grupowanie hierarchiczne
Grupowanie hierarchiczne tworzy strukturę przypominającą drzewo (dendrogram) w celu grupowania podobnych punktów danych. Nie wymaga wcześniejszego określenia liczby grup.
# Example: Hierarchical Clustering
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
# Sample data
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
linked = linkage(X, 'single')
dendrogram(linked)
plt.show()Redukcja wymiarowości
Redukcja wymiarowości upraszcza dane przez zmniejszenie liczby cech przy jednoczesnym zachowaniu ważnych informacji. Analiza głównych składowych (PCA) to często stosowana technika tego rodzaju.
# Example: PCA
from sklearn.decomposition import PCA
import numpy as np
# Sample data
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)
print("Reduced Data:", X_reduced)Zastosowania uczenia nienadzorowanego
Uczenie nienadzorowane stosuje się do:
- Segmentacji klientów: Grupowania klientów na podstawie ich zachowania.
- Wykrywania anomalii: Identyfikowania nietypowych wzorców w danych.
- Kompresji obrazów: Zmniejszania rozmiaru obrazu przy zachowaniu jego jakości.
Wizualizacja grup
Wizualizacja grup pomaga zrozumieć sposób pogrupowania punktów danych. Przydatne są do tego Matplotlib i Seaborn:
# Example: Visualizing clusters
import matplotlib.pyplot as plt
# Sample data and labels
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
labels = [0, 0, 0, 1, 1, 1]
for i in range(len(X)):
plt.scatter(X[i][0], X[i][1], c='r' if labels[i] == 0 else 'b')
plt.show()Wyzwania w uczeniu nienadzorowanym
Uczenie nienadzorowane wiąże się z kilkoma wyzwaniami, w tym:
- Określenie liczby grup: K-Means wymaga wcześniejszego podania liczby grup.
- Interpretowalność: Grupy nie zawsze mają jasne znaczenie.
- Skalowalność: Przetwarzanie dużych zbiorów danych może wymagać znacznych zasobów obliczeniowych.
Częste błędy w uczeniu nienadzorowanym
Oto błędy, których należy unikać:
- Wybór niewłaściwej liczby grup w K-Means.
- Brak wstępnego przetworzenia danych, na przykład skalowania cech.
- Nadinterpretowanie grup bez przeprowadzenia walidacji.
Czego się nauczyliśmy?
W tej lekcji nauczyli się Państwo:
- Podstaw uczenia nienadzorowanego i jego najważniejszych zadań.
- Jak implementować algorytmy K-Means i grupowanie hierarchiczne.
- Na czym polega redukcja wymiarowości z użyciem PCA.
- Zastosowań, wyzwań i częstych błędów w uczeniu nienadzorowanym.
Świetna praca! Przejdźmy do następnego tematu.

Często zadawane pytania
Czy lekcja „Uczenie nienadzorowane” jest bezpłatna?
Tak — pełny tekst „Uczenie nienadzorowane” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python For Kids, przejdź na CoddyKit PRO. Kurs Python For Kids zawiera 6 lekcji w sumie.
Co nauczysz się w „Uczenie nienadzorowane”?
Poznaj techniki grupowania, takie jak K-Means i grupowanie hierarchiczne. Ćwiczysz Python For Kids z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python For Kids?
Nie wymagamy żadnego doświadczenia. Python For Kids w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 6.
Ile czasu zajmuje lekcja „Uczenie nienadzorowane”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python For Kids?
Tak. Każda lekcja Python For Kids zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wprowadzenie do uczenia maszynowego
- Uczenie nadzorowane z Scikit-Learn
- Uczenie nienadzorowane
- Inżynieria i wybór cech
- Wprowadzenie do sieci neuronowych
- Wprowadzenie do TensorFlow i Keras