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

无监督学习:聚类/降维/异常检测
无监督学习聚类/降维/异常检测1. 聚类算法fromsklearn.clusterimportKMeans,DBSCAN,AgglomerativeClustering# K-MeanskmeansKMeans(n_clusters3,random_state42)labelskmeans.fit_predict(X)# 肘部法则选择 Kinertias[]forkinrange(2,11):kmKMeans(n_clustersk,random_state42)km.fit(X)inertias.append(km.inertia_)# DBSCAN密度聚类dbscanDBSCAN(eps0.5,min_samples5)labelsdbscan.fit_predict(X)# 层次聚类hcAgglomerativeClustering(n_clusters3)labelshc.fit_predict(X)2. 降维算法fromsklearn.decompositionimportPCAfromsklearn.manifoldimportTSNE# PCApcaPCA(n_components2)X_pcapca.fit_transform(X)print(f解释方差比:{pca.explained_variance_ratio_})# t-SNE可视化用tsneTSNE(n_components2,random_state42,perplexity30)X_tsnetsne.fit_transform(X)3. 异常检测fromsklearn.ensembleimportIsolationForestfromsklearn.svmimportOneClassSVM# 孤立森林isoIsolationForest(contamination0.1,random_state42)outliersiso.fit_predict(X)# -1 为异常# One-Class SVMocsvmOneClassSVM(kernelrbf,nu0.1)outliersocsvm.fit_predict(X)总结任务算法适用场景聚类K-Means/DBSCAN客户分群/图像分割降维PCA/t-SNE可视化/去噪异常检测Isolation Forest欺诈检测/故障诊断