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

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

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 欺诈检测/故障诊断
相关推荐
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本4 天前
离散数学第六课
学习·离散数学
猎头南楼4 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
高洁014 天前
未来三年,AI 落地的五个确定性判断一
人工智能·深度学习·机器学习·transformer·知识图谱
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光4 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊4 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
霍霍的袁4 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio