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

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

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 欺诈检测/故障诊断
相关推荐
hsjiasb9 小时前
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5
stm32·单片机·学习·学习笔记·freertos
崇子嵘9 小时前
基于zynqMP15eg的linux驱动学习
学习
ltl10 小时前
LLM 训练全景:Pre-train、SFT、RLHF、DPO 与蒸馏
机器学习
知识分享小能手11 小时前
线性代数学习教程,从入门到精通,向量组的线性相关性 — 完整知识点梳理(7)
学习·线性代数·机器学习
Shell运维手记11 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
动词ing12 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
小O的算法实验室14 小时前
IEEE TII,学习为多目标深度学习生成偏好
人工智能·深度学习·学习
江畔柳前堤15 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php
吃好睡好便好15 小时前
说说高温对情绪的影响
学习·生活·情绪·高温
pjj1985415 小时前
机器学习-词向量转换2
人工智能·机器学习