做wow宏的网站,住房和城乡建设部的网站,杭州建设工程信息网站,济宁网站建设制作设计导语#xff1a;上一节我们详细探索监督学习的进阶应用#xff0c;详情可见#xff1a;
机器学习基础#xff08;三#xff09;监督学习的进阶探索-CSDN博客文章浏览阅读296次#xff0c;点赞13次#xff0c;收藏11次。监督学习作为机器学习的一个主要分支#xff0c;… 导语上一节我们详细探索监督学习的进阶应用详情可见
机器学习基础三监督学习的进阶探索-CSDN博客文章浏览阅读296次点赞13次收藏11次。监督学习作为机器学习的一个主要分支专注于从带有标签的数据中学习和建立预测模型。这些模型可以预测新数据的标签广泛应用于各种行业和领域从简单的邮件分类到复杂的医疗诊断。https://blog.csdn.net/qq_52213943/article/details/136173870?spm1001.2014.3001.5501 这一节我们将详细探索非监督学习的进阶应用。
目录
非监督学习
聚类算法
K-均值聚类(K-Means Clustering)
层次聚类(Hierarchical Clustering)
DBSCANDensity-Based Spatial Clustering of Applications with Noise
聚类算法的比较
降维概述
主成分分析PCA
线性判别分析LDA
t-分布随机邻域嵌入t-SNE
降维技术的比较
关联规则学习
关键概念
常用算法
应用实例 非监督学习 非监督学习像一位探险家挖掘未标记数据的未知领域。它不依赖预先定义的类别或标签而是试图揭示数据自身的结构和关系。这种学习方式在处理复杂数据集时尤其有价值因为它能发现人类可能未曾预见的模式和联系。 聚类算法 聚类算法是一种重要的非监督学习技术它旨在将数据集中的样本分组成若干个簇使得同一簇内的样本相似度高而不同簇内的样本相似度低。聚类在许多领域中都有广泛应用如市场细分、社交网络分析、计算生物学以及图像分割等。
K-均值聚类(K-Means Clustering) K-均值是最流行的聚类算法之一因其简单高效而广泛应用。算法通过迭代过程将数据分为K个簇每个簇由其质心(簇内点的平均值)定义。K-均值的主要挑战在于K值的选择这通常需要领域知识或使用如肘部法则(Elbow Method)等技术来确定。
层次聚类(Hierarchical Clustering) 层次聚类通过创建一个簇的层次结构来进行聚类可以是自底向上的聚合方法(也称为凝聚聚类)或是自顶向下的分裂方法。凝聚聚类开始时将每个数据点视为一个独立的簇然后逐渐合并为更大的簇直到达到所需的簇数量或满足某个终止条件。层次聚类不需要预先指定簇的数量且可以通过树状图(Dendrogram)直观地展示簇是如何合并或分裂的。
DBSCANDensity-Based Spatial Clustering of Applications with Noise DBSCAN是一种基于密度的聚类算法能够识别出任意形状的簇并且能够处理噪声和孤立点。它的核心概念是核心点、边界点和噪声点。算法通过查找被低密度区域分隔的高密度区域来形成簇。DBSCAN的优点是不需要预先指定簇的数量且对于簇的形状和大小具有较好的适应性。
聚类算法的比较
K-均值 优点计算效率高实现简单。缺点需要预先指定簇的数量对噪声和异常值敏感假设簇是凸形和相似大小。层次聚类 优点不需要预先指定簇的数量可以通过树状图直观展示聚类过程。缺点计算复杂度较高不适合大规模数据集结果可能受初始数据点顺序的影响。DBSCAN 优点不需要预先指定簇的数量可以识别任意形状的簇对噪声有较好的鲁棒性。缺点对参数选择敏感在密度差异较大的数据集中表现不佳。 聚类算法是探索数据内在结构的强大工具每种算法都有其独特的优势和适用场景。选择合适的聚类算法需要考虑数据的特性、应用场景的需求以及算法的限制。通过实践应用和结果可视化我们可以更深入地理解聚类算法在解决实际问题中的作用和价值。下面是一个使用K-均值聚类的Python示例
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
import pandas as pd# 假设data是包含特征的DataFrame
data pd.DataFrame({Feature1: [1.0, 1.5, 3.0, 5.0, 3.5, 4.5, 3.5],Feature2: [1.0, 2.0, 4.0, 7.0, 5.0, 5.0, 4.5]
})# 应用K-均值聚类
kmeans KMeans(n_clusters2) # 假设我们将数据分为2个簇
kmeans.fit(data)# 可视化聚类结果
plt.scatter(data[Feature1], data[Feature2], ckmeans.labels_, cmaprainbow)
plt.xlabel(Feature 1)
plt.ylabel(Feature 2)
plt.title(K-Means Clustering)
plt.show()降维概述 降维是非监督学习中的一种重要技术用于减少数据集的特征数量同时尽可能保留原始数据的重要信息。这一过程对于处理高维数据集尤其重要因为高维数据不仅增加了计算的复杂性还可能引入噪声导致模型性能下降这一现象被称为“维度的诅咒”。通过降维我们可以提高数据处理的效率改善模型的性能并且使数据的可视化变得更加直观。
主成分分析PCA 主成分分析PCA是最常用的降维技术之一。它通过线性变换将数据转换到新的坐标系统中使得任何投影数据的第一大方差位于第一个坐标称为第一主成分第二大方差位于第二个坐标依此类推。PCA能够揭示数据中的内在结构减少冗余信息而且通常用于数据预处理、数据可视化或准备数据以供后续的机器学习任务使用。
线性判别分析LDA 线性判别分析LDA不仅是一种降维技术也是一种分类方法。与PCA不同LDA在降维时考虑了类别标签目标是最大化不同类别之间的距离同时最小化同一类别内的距离。这使得LDA成为一种监督学习技术适用于分类问题中的特征降维。
t-分布随机邻域嵌入t-SNE t-SNE是一种非常有效的高维数据降维技术尤其适用于数据可视化。它通过将高维数据中的相似对象转换为在低维空间中紧密聚集的点而将不相似的对象转换为在低维空间中相距较远的点从而保留了数据的局部结构。t-SNE非常适合于将高维数据降至2维或3维以便进行可视化。
降维技术的比较
PCA 优点去除数据冗余降低数据复杂度便于数据可视化和解释。缺点基于线性假设可能无法识别复杂的非线性关系。LDA 优点在考虑类别信息的情况下最大化类别可分性适用于监督学习。缺点依赖于数据的线性可分性假设对于非线性数据可能效果不佳。t-SNE 优点能够揭示数据的局部结构特别适合于数据可视化。缺点计算成本高难以解释可能对超参数敏感。 降维技术在数据预处理、特征工程和数据可视化中扮演着重要角色。通过合理选择和应用降维方法我们可以更有效地处理和分析数据揭示数据的内在结构同时减轻后续机器学习模型的计算负担。在实际应用中选择合适的降维技术需要考虑数据的特性、任务的需求以及技术的优缺点。以下是使用PCA进行降维的Python示例
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
import pandas as pd# 假设data是包含多个特征的DataFrame
data pd.DataFrame({Feature1: [1.0, 1.5, 3.0, 5.0, 3.5, 4.5, 3.5],Feature2: [1.0, 2.0, 4.0, 7.0, 5.0, 5.0, 4.5],Feature3: [2.0, 3.5, 2.0, 5.0, 4.0, 5.0, 3.5]
})# 应用PCA进行降维
pca PCA(n_components2) # 将数据降至2维
reduced_data pca.fit_transform(data)# 可视化降维结果
plt.scatter(reduced_data[:, 0], reduced_data[:, 1])
plt.xlabel(Principal Component 1)
plt.ylabel(Principal Component 2)
plt.title(PCA Result)
plt.show()关联规则学习 除了上面所说的两种外处理未标记数据并试图发现数据内在结构或模式的机器学习方法还有一个就是关联规则学习它是一种重要的数据挖掘技术用于发现数据集中变量之间的有意义的关系。这种技术通常用于事务数据集如零售市场的购物篮分析以发现不同物品之间的关联性。关联规则的典型例子是“如果购买了物品A如啤酒则也可能购买物品B如薯片”。这种分析有助于零售商理解顾客的购买行为从而优化产品布局、库存管理和促销策略。 关键概念
支持度Support一个项集如啤酒和薯片组合在所有交易中出现的频率。置信度Confidence在包含项集A如啤酒的交易中项集B如薯片也出现的条件概率。提升度Lift规则的置信度与项集B如薯片的支持度之比。提升度表明了项集A的出现对项集B出现概率的增加程度。
常用算法
Apriori算法是最著名的关联规则挖掘算法之一。它通过迭代方式发现频繁项集先找出频繁的单个项然后是频繁的项对接着是三项的组合以此类推。Apriori算法利用了频繁项集的性质一个项集如果是频繁的那么它的所有子集也都是频繁的。FP-growth算法是一种用于发现数据集中频繁模式的有效方法。与Apriori相比FP-growth的性能通常更优因为它只需要对数据库进行两次扫描并使用一种称为FP树频繁模式树的数据结构来存储数据集的压缩表示。
应用实例 在超市购物篮分析中关联规则学习可以揭示哪些产品常常一起被购买。这些信息可以用来指导许多商业决策如
产品布局将经常一起购买的产品放置在相邻位置以增加交叉销售的机会。销售促销如果两个产品经常一起购买对其中一个产品进行促销可能会增加另一个产品的销量。库存管理了解哪些产品组合是受欢迎的可以帮助更有效地管理库存。
使用Apriori算法进行关联规则学习的Python示例
from mlxtend.frequent_patterns import apriori, association_rules
from mlxtend.preprocessing import TransactionEncoder
import pandas as pd# 示例数据集表示购物篮中的商品
dataset [[Milk, Bread, Beer],[Milk, Bread],[Bread, Beer],[Milk, Eggs],[Bread, Eggs]]# 将数据集转换为适合机器学习模型的格式
te TransactionEncoder()
te_ary te.fit(dataset).transform(dataset)
df pd.DataFrame(te_ary, columnste.columns_)# 使用Apriori算法找出频繁项集
frequent_itemsets apriori(df, min_support0.6, use_colnamesTrue)# 生成关联规则
rules association_rules(frequent_itemsets, metricconfidence, min_threshold0.7)# 显示关联规则
print(rules[[antecedents, consequents, support, confidence, lift]])下一节我们将进行监督与非监督学习的结合探索
机器学习基础五监督与非监督学习的结合-CSDN博客文章浏览阅读4次。将监督学习和非监督学习结合起来就像将两种不同的艺术形式融合创造出全新的作品。这种结合利用了两种学习方法的优点能够处理更复杂的数据集并提高模型的准确性和泛化能力。https://blog.csdn.net/qq_52213943/article/details/136214916?spm1001.2014.3001.5502-----------------
以上欢迎点赞收藏、评论区交流