人工智能通识课件 第3章 机器学习的应用 (3.2机器学习的应用实践)_第1页
人工智能通识课件 第3章 机器学习的应用 (3.2机器学习的应用实践)_第2页
人工智能通识课件 第3章 机器学习的应用 (3.2机器学习的应用实践)_第3页
人工智能通识课件 第3章 机器学习的应用 (3.2机器学习的应用实践)_第4页
人工智能通识课件 第3章 机器学习的应用 (3.2机器学习的应用实践)_第5页
已阅读5页,还剩37页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

选用《信息技术课程标准(2021年版)》新型活页式教材我们毕业啦其实是答辩的标题地方3.2机器学习的应用实践第3章机器学习的应用鸢尾花分类、用户画像、棋类游戏

教学重点:1.通过案例展示机器学习的实际应用---鸢尾花分类;2.Python代码导入,scikit-learn等机器学习库的使用。课前答题1。。。。。2。。。。。3。。。。。4。。。。。

教学重点:1.数据清洗、特征选择和特征工程等预处理步骤的掌握和应用;2.算法的理解。课前答题1。。。。。2。。。。。3。。。。。4。。。。。鸢尾花用户画像棋类游戏常用模块:sklearn.datasets:提供了一些用于测试和实验的常用数据集。sklearn.model_selection:提供了交叉验证、分割数据集等功能。sklearn.preprocessing:提供了数据预处理功能,如标准化、归一化、编码等。sklearn.decomposition:提供了降维算法,如PCA(主成分分析)。sklearn.ensemble:提供了集成学习方法,如随机森林、梯度提升等。sklearn.neighbors:提供了基于邻居的算法,如K-近邻。scikit-learn库scikit-learn是一个基于Python的开源机器学习库,它提供了各种用于数据挖掘和数据分析的工具。它特别适用于简单和高效的数据挖掘及数据分析任务,同时能够无缝地与其他Python库集成。主要特点:简单易用:提供了一致的API接口,使得算法和模型的使用变得简单。高效:基于NumPy、SciPy和Cython等底层库,计算效率高。广泛支持:支持多种常见的机器学习算法,包括分类、回归、聚类、降维等。社区支持:有一个活跃的社区,文档丰富,更新频繁。scikit-learn库numpy是Python的一个开源数值计算扩展库,用于处理大型多维数组和矩阵运算,并提供了大量的数学函数库。它是科学计算中不可或缺的基础库之一。主要特点:多维数组对象:numpy.ndarray,支持高效的数组和矩阵运算。广播功能:允许在不同大小的数组上进行数学运算。集成C/C++和Fortran代码:通过Cython和F2PY等工具,可以高效地使用C/C++和Fortran代码。丰富的数学函数库:提供了大量的数学函数,如线性代数、傅里叶变换、随机数生成等。numpy库常用功能数组创建:numpy.array,numpy.zeros,numpy.ones,numpy.arange,numpy.linspace等。数组操作:索引、切片、形状变换、数组拼接等。数学运算:元素级运算、矩阵运算、统计计算等。线性代数:求解线性方程组、矩阵分解等。随机数生成:生成均匀分布、正态分布等随机数。numpy库

应用实践任务一:鸢尾花分类鸢尾花分类任务是一个经典的机器学习问题,通常用于演示和测试分类算法的性能。该任务的目标是根据鸢尾花的特征将其分为三个不同的品种,即山鸢尾(Setosa)、变色鸢尾(Versicolor)和维吉尼亚鸢尾(Virginica)。

输出鸢尾花的数据集(前6组)--数据集准备数据集获取:鸢尾花分类任务使用的数据集是著名的鸢尾花数据集(Irisdataset)。该数据集包含了150个鸢尾花样本,每个样本有四个特征:萼片长度(SepalLength)、萼片宽度(SepalWidth)、花瓣长度(PetalLength)和花瓣宽度(PetalWidth)。每个样本还标有其所属的品种。数据预处理:使用Pandas库导入CSV文件格式的鸢尾花数据集。查看数据集的基本情况,如样本数量和特征数量。进行特征工程,如绘制散点图观察数据特征的关系,挖掘特征与种类之间的关系。划分数据集:使用scikit-learn中的train_test_split函数将数据集划分为训练集和测试集。通常,测试集占总数据的20%至30%。

输出鸢尾花的数据集(前6组)--使用sklearn库加载sklearn(Scikit-learn)是Python中广泛使用的机器学习库,它包含了多个内置的数据集,包括鸢尾花数据集。以下是使用sklearn加载鸢尾花数据集的步骤:安装必要的库(如果尚未安装):使用pipinstallscikit-learn命令安装sklearn库。导入库:在Python脚本或交互式环境中导入必要的库,例如pandas(用于数据处理)和sklearn.datasets(用于加载数据集)。加载数据集:使用sklearn.datasets.load_iris()函数加载鸢尾花数据集。这个函数会返回一个类似于字典的对象,其中包含了数据集的特征(data)和目标类别(target)。探索数据集:可以使用pandas.DataFrame将特征数据转换为一个表格形式,以便更方便地查看和探索数据。

输出鸢尾花的数据集(前6组)fromsklearn.datasetsimportload_irisiris=load_iris()X=iris.dataforiinrange(6):print(X[i])

y=iris.targetprint(y)

这些标签以数字0、1、2进行区分,分别对应不同的鸢尾花种类。具体而言,数字0代表setosa(山鸢尾),数字1代表versicolour(变色鸢尾),而数字2则对应virginica(维吉尼亚鸢尾)。使用print()函数输出数据集的分类标签targe的内容print(iris.feature_names)使用print()函数输出特征列表训练模型训练模型scikit-learn库中的train_test_split函数来分割数据集,然后使用决策树分类器(DecisionTreeClassifier)来训练模型,并最终使用plot_tree函数来可视化决策树。这里,您假设已经有了特征数据X和标签数据y,这些数据应该是从鸢尾花(Iris)数据集中提取的。这行代码将数据集分割为训练集和测试集,其中测试集占30%。random_state=42确保了每次运行代码时分割的方式都是相同的,这有助于结果的可重复性。使用plot_tree函数来绘制决策树。filled=True参数使得节点根据它们所属的类别被填充不同的颜色。feature_names和class_names参数分别用于指定特征名称和类别名称,以便在图中显示中文。运行截图训练模型根据花萼长度、花瓣宽度和花萼宽度等特征来预测鸢尾花的种类。从图中可以看出,该决策树首先通过判断花萼长度是否小于2.45厘米来确定样本属于山鸢尾还是变色鸢尾或维吉尼亚鸢尾。对于花萼长度小于4.75厘米的变色鸢尾,进一步通过花瓣宽度和花萼宽度的条件进行细分,最终得到各个类别的子集。每个内部节点都表示一个属性上的测试,每个分支代表一个测试输出,而每个树叶节点代表一个分配给类或类的分布。模型评估模型评估:虽然已经分割了数据集,但代码中没有包含使用测试集来评估模型性能的部分。可以使用dt_classifier.score(X_test,y_test)来快速获取模型的准确率,或者使用更详细的评估指标,如混淆矩阵、精确率、召回率和F1分数。接下来,评估模型的准确度。如果准确度过高,这可能表明模型出现了过拟合现象。过拟合(Overfitting)是机器学习领域中一个普遍存在的问题,它指的是模型在训练数据集上不仅学习到了数据的内在规律,还捕捉到了噪声和偶然的细节,从而导致模型对训练数据过度适应。计算模型准确性

此处的准确度达到了1,显然模型已经陷入了过拟合的状况,因此后续必须进行模型优化。模型评估Score这个值反映了模型在训练数据上的表现。如果Score很高(接近1.0),则意味着模型在训练集上能够很好地预测样本的类别。过拟合的风险:虽然高准确率在训练集上听起来很好,但它也可能表明模型过于复杂,以至于它记住了训练数据中的噪声和细节,而不是学习到数据的潜在规律。这种情况下,模型可能在未见过的数据(如测试集)上表现不佳,即存在过拟合的风险。score的值可以作为调整模型参数和结构的参考。如果模型在训练集上的准确率很高,但在测试集上的准确率较低,那么可能需要简化模型、增加训练数据、进行特征选择或正则化等此处的准确度达到了1,显然模型已经陷入了过拟合的状况,因此后续必须进行模型优化。还有一个特别有用的特点是feature_importances_。这个特性在运用决策树或随机森林这类机器学习模型时特别关键。它能够告诉我们每个特征在模型预测时有多重要。通过这个属性,我们可以清楚地看到每个特征的影响力,搞清楚哪些特征对模型的预测结果起到了最大的作用。这样,我们就可以在后续的工作中对这些关键特征的数据进行更有针对性的处理和优化。模型准确度以及特征重要性模型准确度以及特征重要性

使用print()函数输出,具体实现代码如下:print(dt_classifier.feature_importances_)运行效果:如上图所示,我们构建的模型中,第一个特征的重要性为0%,第二个特征的重要性为1.911002%,而第三个特征的重要性显著,达到了89.326355%,第四个特征的重要性则为8.762643%。从这些数据中,我们可以清晰地看出,第三个特征对模型的预测结果具有最大的影响力。因此,在接下来的数据处理和模型训练过程中,我们应当特别关注这一特征。第一个特征(通常对应于鸢尾花数据集中的第一个列,比如花萼长度)的重要性分数为0,这意味着在训练决策树时,这个特征对模型的决策没有贡献,或者它可能被其他特征所“掩盖”。然而,这种情况在实际应用中很少见,特别是当数据集经过预处理且特征没有高度相关时。有时候,这可能是由于树的深度限制、最小样本拆分等参数设置导致的。第二个特征的重要性分数为0.01911002,这表明它在模型决策中起到了一定的作用,但相对较小。第三个特征的重要性分数最高,为0.89326355,这表明它是模型决策过程中最重要的特征。在鸢尾花数据集中,这很可能对应于花瓣长度,因为花瓣长度通常是一个很好的分类特征。第四个特征的重要性分数为0.08762643,虽然低于第三个特征,但在模型中也起到了一定的作用。模型准确度以及特征重要性在鸢尾花数据集中,特征通常按照以下顺序排列:花萼长度(sepallength)花萼宽度(sepalwidth)花瓣长度(petallength)花瓣宽度(petalwidth)因此,根据这个顺序和上面的重要性分数,我们可以推断出第三个特征(重要性分数为0.89326355)很可能是花瓣长度。这个特征在决策树模型中起到了最重要的作用,用于区分不同的鸢尾花种类。模型准确度以及特征重要性模型优化修改上面显示决策树代码`dt_classifier=DecisionTreeClassifier(random_state=42)`部分模型优化通过修改模型参数,例如设定最小样本分割数、最小叶子节点样本数等,可以提升模型的性能表现,参数调整实际上相当于执行剪枝操作。最小样本节点分割参数的作用是规定决策树节点分裂时所需的最小样本量,这个参数确定了节点分裂的最低样本限制。例如,若此参数设为10,那么样本量不足10的节点将不会进行分裂。最小叶子节点样本数参数则规定了决策树中叶节点应含有的最小样本量,这个参数设定了叶节点的最低样本要求。换言之,当叶节点的样本量低于此参数设定的最小值时,该节点就不会生成。模型优化现在Socre=0.9428571

1.输入用户画像。2.导入cvs类。3.K-means聚类算法。用户画像实战步骤

用户画像是指根据用户的属性、偏好、生活习惯、行为等信息而抽象出来的标签化用户模型。它是通过对用户信息进行分析,提炼出高度精炼的特征标识,从而方便理解和计算机处理。用户画像

数据收集:1.收集用户的基本信息,如年龄、性别、职业、地域等。收集用户的消费行为数据,如购买记录、购买频率、购买金额等。收集用户的浏览行为数据,如在网站或APP上的浏览路径、停留时间、关注的页面等。数据分析和用户研究:2.对收集到的数据进行清洗、整理和转换,确保数据的质量和一致性。运用数据分析技术,如统计分析、数据挖掘等,对用户数据进行深入分析。进行用户研究,如用户访谈、问卷调查等,以获取用户的深层次需求和偏好。构建用户画像:1.根据数据分析和用户研究的结果,提炼出用户的典型特征和标签。将这些特征和标签整合起来,形成用户画像。如何构建用户画像

CSV(Comma-SeparatedValues,逗号分隔值)是一种常用的文本文件格式,用于存储表格数据,如电子表格或数据库。CSV文件由纯文本组成,通常使用逗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论