无监督学习:聚类/降维/异常检测

无监督学习:聚类/降维/异常检测

1. 聚类算法

python 复制代码
from sklearn.cluster import KMeans, DBSCAN, AgglomerativeClustering

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

# 肘部法则选择 K
inertias = []
for k in range(2, 11):
    km = KMeans(n_clusters=k, random_state=42)
    km.fit(X)
    inertias.append(km.inertia_)

# DBSCAN(密度聚类)
dbscan = DBSCAN(eps=0.5, min_samples=5)
labels = dbscan.fit_predict(X)

# 层次聚类
hc = AgglomerativeClustering(n_clusters=3)
labels = hc.fit_predict(X)

2. 降维算法

python 复制代码
from sklearn.decomposition import PCA
from sklearn.manifold import TSNE

# PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
print(f"解释方差比: {pca.explained_variance_ratio_}")

# t-SNE(可视化用)
tsne = TSNE(n_components=2, random_state=42, perplexity=30)
X_tsne = tsne.fit_transform(X)

3. 异常检测

python 复制代码
from sklearn.ensemble import IsolationForest
from sklearn.svm import OneClassSVM

# 孤立森林
iso = IsolationForest(contamination=0.1, random_state=42)
outliers = iso.fit_predict(X)  # -1 为异常

# One-Class SVM
ocsvm = OneClassSVM(kernel='rbf', nu=0.1)
outliers = ocsvm.fit_predict(X)

总结

任务 算法 适用场景
聚类 K-Means/DBSCAN 客户分群/图像分割
降维 PCA/t-SNE 可视化/去噪
异常检测 Isolation Forest 欺诈检测/故障诊断
相关推荐
optiz5 分钟前
单细胞数据分析--多数据整合harmony聚类
数据挖掘·数据分析·聚类
是隼人10 分钟前
buuctf-pwn PWN4(双引号的转义缺陷)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
蒸蒸yyyyzwd12 分钟前
CPP选手秋招准备学习笔记day25
笔记·学习
小白说大模型20 分钟前
Hermes 全配置指南:从裸版到 AI Agent 天花板
大数据·人工智能·学习·算法·机器学习·数据挖掘
在所不辞兄24 分钟前
【神经网络干货】可穿戴电子皮肤正在从“单点传感”走向“多通道、多模态、连续监测”
人工智能·神经网络·机器学习·数据挖掘
m4Rk_44 分钟前
【论文阅读】Agent 记忆机制(60):MemInsight——让 LLM 自动为历史记忆生成语义索引
论文阅读·人工智能·学习·开源·github
小弥儿6 小时前
开源 VoiceStudio,声音克隆|配音|有声书一站式本地完成
学习·开源·github
点心的游戏开发世界8 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
香芋芋圆10 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
点心的游戏开发世界10 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#