Python For Kids · Lektion

Unsupervised learning

Forstå clustering-teknikker som K-Means og hierarkisk clustering

Lektion 3 af 611 trin

Unsupervised learning er en gratis Python For Kids-lektion på CoddyKit. Dette er lektion 3 af 6. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python For Kids, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python For Kids-kurset indeholder 6 lektioner i alt.

Ikke-overvåget læring

Ikke-overvåget læring er en type maskinlæring, hvor algoritmen lærer mønstre fra data uden mærkater. Den bruges ofte til klyngedannelse, dimensionsreduktion og registrering af anomalier.

I denne lektion undersøger du klyngedannelsesteknikker som K-Means og hierarkisk klyngedannelse.

Unsupervised learning — illustration 1

Hvad er ikke-overvåget læring?

Ikke-overvåget læring går ud på at analysere og gruppere data uden foruddefinerede mærkater. Målet er at identificere skjulte strukturer eller mønstre i dataene.

De vigtigste opgaver omfatter:

  • Klyngedannelse: Gruppering af datapunkter, der ligner hinanden.
  • Dimensionsreduktion: Reduktion af antallet af features, samtidig med at vigtig information bevares.

K-Means-klyngedannelse

K-Means er en populær klyngedannelsesalgoritme, der opdeler data i K-klynger baseret på ligheden mellem features. Lad os se, hvordan den fungerer:

# 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_)

Hierarkisk klyngedannelse

Hierarkisk klyngedannelse opbygger en trælignende struktur (dendrogram) for at gruppere datapunkter, der ligner hinanden. Den kræver ikke et foruddefineret antal klynger.

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

Dimensionsreduktion

Dimensionsreduktion forenkler data ved at reducere antallet af features, samtidig med at vigtig information bevares. Principal Component Analysis (PCA) er en almindelig teknik til denne opgave.

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

Anvendelser af ikke-overvåget læring

Ikke-overvåget læring bruges til:

  • Kundesegmentering: Gruppering af kunder baseret på adfærd.
  • Registrering af anomalier: Identifikation af usædvanlige mønstre i data.
  • Billedkomprimering: Reduktion af billedstørrelsen, samtidig med at kvaliteten bevares.

Visualisering af klynger

Visualisering af klynger hjælper dig med at forstå grupperingen af datapunkter. Matplotlib og Seaborn er nyttige til dette formål:

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

Udfordringer ved ikke-overvåget læring

Ikke-overvåget læring har flere udfordringer, herunder:

  • Fastlæggelse af antallet af klynger: K-Means kræver, at du angiver antallet af klynger på forhånd.
  • Fortolkelighed: Klynger har ikke altid en klar betydning.
  • Skalerbarhed: Håndtering af store datasæt kan være beregningsmæssigt krævende.

Almindelige fejl i ikke-overvåget læring

Her er nogle fejl, du bør undgå:

  • At vælge det forkerte antal klynger i K-Means.
  • Ikke at forbehandle data, for eksempel ved at skalere features.
  • At fortolke klynger for vidtgående uden validering.

Hvad har du lært?

I denne lektion har du lært:

  • Det grundlæggende i ikke-overvåget læring og de vigtigste opgaver.
  • Hvordan du implementerer K-Means og hierarkisk klyngedannelse.
  • Begrebet dimensionsreduktion ved hjælp af PCA.
  • Anvendelser, udfordringer og almindelige fejl i ikke-overvåget læring.

Godt gået! Lad os gå videre til det næste emne.

Unsupervised learning — illustration 11
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
22
Lektioner
94

Ofte stillede spørgsmål

Er lektionen “Unsupervised learning” gratis?

Ja — hele teksten til “Unsupervised learning” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python For Kids-kurset, skal du opgradere til CoddyKit PRO. Python For Kids-kurset indeholder 6 lektioner i alt.

Hvad lærer jeg i “Unsupervised learning”?

Forstå clustering-teknikker som K-Means og hierarkisk clustering Du øver dig i Python For Kids med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python For Kids?

Der kræves ingen tidligere erfaring. Python For Kids på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 6.

Hvor lang tid tager lektionen “Unsupervised learning”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python For Kids-lektion?

Ja. Alle Python For Kids-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til machine learning
  2. Supervised learning med Scikit-Learn
  3. Unsupervised learning
  4. Feature engineering og -udvælgelse
  5. Introduktion til neurale netværk
  6. Introduktion til TensorFlow og Keras
← Tilbage til Python For Kids