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

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

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 欺诈检测/故障诊断
相关推荐
hackchen10 小时前
LangChain 学习第 2 课 - 提示词模板(Prompt Template)
学习·langchain·prompt
努力变大白10 小时前
把“会说话的模型“变成“会干活的 Agent“
大数据·人工智能·机器学习
Awh-11 小时前
ARM 裸机开发 DAY10 学习笔记
arm开发·笔记·学习
我命由我1234511 小时前
动火作业极简理解
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
Swilderrr11 小时前
TANNS 完整端到端流程梳理
人工智能·机器学习
andrsted12 小时前
练题簿助学教学:在线刷题、随堂考试,让一门课拥有自己的题库
学习·微信小程序·小程序·学习方法·刷题
apple_6926588512 小时前
GitHub fqapp 番茄开源魔改版:小短剧+漫剧+听书聚合工具 安装指南使用
学习·开源
云和数据.ChenGuang12 小时前
Spring AI 入门实战:构建你的第一个 AI 应用
java·人工智能·深度学习·spring·机器学习·语言模型
云半S一13 小时前
Agent 学习总结一
经验分享·笔记·学习·agent
chde2Wang13 小时前
Matplotlib数据可视化学习1
学习·matplotlib