AGENT SKILL

unsupervised-learning

Unsupervised learning techniques

License 许可
MIT
最近更新
2026-03-01
Stars
★ 3
Forks
2

01 前言 Front Matter

name
unsupervised-learning
license
MIT
metadata
{ "audience": "machine-learning-engineers", "category": "artificial-intelligence" }
description
Unsupervised learning techniques
compatibility
opencode

03 SKILL.md 正文

What I do

  • Find patterns in unlabeled data
  • Cluster similar data points
  • Reduce data dimensionality
  • Detect anomalies
  • Learn representations
  • Segment data populations

When to use me

Use me when:

  • Data has no labels
  • Exploratory analysis needed
  • Dimensionality reduction required
  • Anomaly detection needed
  • Customer segmentation
  • Data compression

Key Concepts

Clustering Methods

import numpy as np
from sklearn.cluster import KMeans, DBSCAN, AgglomerativeClustering
from sklearn.mixture import GaussianMixture
from sklearn.metrics import silhouette_score

# K-Means
kmeans = KMeans(n_clusters=3, random_state=42)
labels = kmeans.fit_predict(X)
centers = kmeans.cluster_centers_

# Find optimal k
silhouette_scores = []
for k in range(2, 10):
    kmeans = KMeans(n_clusters=k)
    score = silhouette_score(X, kmeans.fit_predict(X))
    silhouette_scores.append(score)

# DBSCAN (density-based)
dbscan = DBSCAN(eps=0.5, min_samples=5)
labels = dbscan.fit_predict(X)

# Hierarchical
hierarchical = AgglomerativeClustering(n_clusters=3)
labels = hierarchical.fit_predict(X)

# Gaussian Mixture (probabilistic)
gmm = GaussianMixture(n_components=3)
gmm.fit(X)
labels = gmm.predict(X)
probs = gmm.predict_proba(X)

Dimensionality Reduction

from sklearn.decomposition import PCA, TruncatedSVD
from sklearn.manifold import TSNE

# PCA
pca = PCA(n_components=0.95)  # 95% variance
X_pca = pca.fit_transform(X)

# t-SNE (visualization)
tsne = TSNE(n_components=2, perplexity=30)
X_tsne = tsne.fit_transform(X)

# SVD (sparse data)
svd = TruncatedSVD(n_components=100)
X_svd = svd.fit_transform(X)

Anomaly Detection

from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor

# Isolation Forest
iso = IsolationForest(contamination=0.1)
outliers = iso.fit_predict(X)

# LOF
lof = LocalOutlierFactor(n_neighbors=20, contamination=0.1)
outliers = lof.fit_predict(X)

04 同仓库更多 Skills