内江网站建设公司,甘肃省城乡住房建设厅网站首页,做几个小网站还是做一个大网站,小型网站建设源码什么是机器学习#xff1f;
机器学习是一种人工智能#xff08;AI#xff09;的子领域#xff0c;它探索和开发计算机系统#xff0c;使其能够从数据中学习和改进#xff0c;并在没有明确编程指令的情况下做出决策或完成任务。
传统的程序需要程序员明确编写指令来告诉…什么是机器学习
机器学习是一种人工智能AI的子领域它探索和开发计算机系统使其能够从数据中学习和改进并在没有明确编程指令的情况下做出决策或完成任务。
传统的程序需要程序员明确编写指令来告诉计算机如何执行特定任务。但是机器学习采用不同的方法。它允许计算机通过分析大量的数据来发现模式、关系和规律并根据这些发现做出预测和决策。
机器学习系统的主要特点是可以通过反复迭代来改进自己的性能。这是通过使用数据集进行训练实现的。训练数据集包含一组示例每个示例都有相应的输入和输出。机器学习算法使用这些示例来学习如何将输入与输出相关联从而使其能够对新的、未见过的数据做出合理的预测或决策。
机器学习可以应用于各种领域如图像识别、自然语言处理、推荐系统、医疗诊断、金融预测等。它在现代科技和业务中扮演着越来越重要的角色并在很多领域取得了显著的进展。
机器学习的主要类型
监督学习Supervised Learning在监督学习中算法从带有标签的训练数据集中学习。每个训练样本都包含输入和对应的输出标签。算法的目标是学习一个映射函数可以将输入映射到正确的输出。例如给定一组包含图片和相应标签的数据监督学习算法可以学习识别图片中的对象。
无监督学习Unsupervised Learning无监督学习中算法处理没有标签的数据。它的目标是发现数据中的结构、模式或关联。这类算法通常用于聚类、降维、异常检测等任务。例如通过无监督学习可以将相似的用户聚集在一起以便更好地推荐产品或服务。
强化学习Reinforcement Learning强化学习涉及到一个智能体agent在一个动态环境中采取行动并根据其行动获得奖励或惩罚。智能体的目标是通过与环境不断交互最大化累积奖励。强化学习在许多自动化系统中发挥着重要作用如自动驾驶、游戏智能体等。
半监督学习Semi-Supervised Learning这是介于监督学习和无监督学习之间的一种方法。它利用少量有标签的数据和大量无标签的数据进行训练以提高算法的性能。
深度学习Deep Learning深度学习是机器学习的一个分支专注于使用人工神经网络进行学习。这些神经网络由许多层深层组成可以自动从数据中学习特征表达从而使其在图像识别、自然语言处理等任务中表现出色。
什么是数据集
数据集是机器学习和统计学中的一个重要概念它是一组有序的数据样本的集合。每个数据样本由一组特征也称为特征变量组成以及一个相应的目标变量也称为标签或输出用来描述数据的某种属性或特征。
在机器学习任务中数据集通常被用于训练和评估模型。数据集可以分为以下几种类型
训练数据集Training Dataset训练数据集用于训练机器学习模型。它包含多个数据样本每个样本都有一组特征和对应的目标变量如果是监督学习任务。模型使用训练数据集来学习特征与目标变量之间的关系以便进行预测或分类。
验证数据集Validation Dataset验证数据集用于模型选择和调优。在训练过程中模型通过与训练数据集的学习来调整参数但为了避免过拟合overfitting的问题需要使用验证数据集来验证模型的性能。验证数据集不参与模型训练它仅用于评估模型在未见过数据上的表现。
测试数据集Test Dataset测试数据集用于评估最终模型的性能。当模型经过训练和调优后使用测试数据集来进行最终的性能评估。测试数据集是模型在整个训练过程中从未见过的数据因此可以提供对模型在真实场景中的泛化能力的估计。
数据集的质量和规模对于机器学习的结果至关重要。大规模、高质量的数据集通常能够帮助机器学习模型更好地学习数据中的规律和特征从而获得更好的预测能力。
在现实世界中数据集可以是从各种来源收集而来的包括传感器数据、数据库记录、图像、文本等。数据集的构建和准备是机器学习项目中的关键步骤之一它直接影响着模型的性能和实用性。 讲点白话假如模型就是你家的小孩现在你要让他学会辨别动物然后你拿了一个动物图册那这个动物图册就是数据集 鸢尾花数据集概述
机器学习包sklearn 中集成了各种各样的数据集其中就包括鸢尾花数据集Iris是最简单的分类任务数据集。
鸢尾花数据集共有3个分类类别分别是山鸢尾Iris-setosa、变色鸢尾Iris-versicolor和维吉尼亚鸢尾Iris-virginica
该数据集共有150个样本5个变量4个特征变量1个类别变量。iris是鸢尾植物4个特征分别对应萼片和花瓣的长和宽。如下表 理解数据集
通俗地说iris数据集是用来给花做分类的数据集每个样本包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征前4列我们需要建立一个分类器分类器可以通过样本的四个特征来判断样本属于山鸢尾setosa、变色鸢尾versicolor、维吉尼亚鸢尾virginica这三个名词都是花的品种。iris的每个样本都包含了品种信息即目标属性第5列也叫target或label
iris在机器学习中的应用
属于监督式学习应用可以通过这4个特征预测鸢尾花卉属于iris-setosa, iris-versicolour, iris-virginica中的哪一品种。
这是机器学习中经典案例简单而具有代表性。
from sklearn import datasets # 导入sklearn中集成的数据集
# iris数据集加载
iris datasets.load_iris()
target iris[target_names] # 标签的名称
print(鸢尾花标签名称\n, target)
print(鸢尾花特征:\n, iris.data[:5]) # print前5个特征
print(鸢尾花特征的维度\n, iris.data.shape)
print(鸢尾花标签:\n, iris.target)
print(鸢尾花标签的维度\n, iris.target.shape)运行结果如下
鸢尾花标签名称[setosa versicolor virginica]
鸢尾花标签0 代表setosa1代表versicolor2 代表virginica[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2]
鸢尾花特征:[[5.1 3.5 1.4 0.2][4.9 3. 1.4 0.2][4.7 3.2 1.3 0.2][4.6 3.1 1.5 0.2][5. 3.6 1.4 0.2]]
鸢尾花特征的维度(150, 4)
鸢尾花标签:
也就是种类标识[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2]
鸢尾花标签的维度(150,)
从输出结果可以看到类别标签共分为三类前面50个类标位0中间50个类标位1后面50个类别为2。
分别代表为山鸢尾、杂色鸢尾、维吉尼亚鸢尾。
可以从官网地址下载这个数据集
http://archive.ics.uci.edu/dataset/53/iris利用knn模型进行预测结果
什么是knn模型 KNNK-Nearest NeighborsK近邻算法是一种简单而常用的机器学习算法用于分类和回归任务。它属于一类称为“基于实例的学习”或“懒惰学习”的算法因为它不像其他算法例如神经网络或决策树那样训练模型来学习数据的规律而是在测试时通过寻找最近的邻居来做出预测。 工作原理 训练阶段KNN算法的训练阶段仅仅是将训练样本数据保存起来没有显式的训练过程。算法将训练样本和其对应的标签存储在内存中。 预测阶段在预测时当需要对一个新的数据样本进行分类或回归时KNN算法会做以下步骤 a. 计算新样本与所有训练样本之间的距离通常使用欧氏距离或曼哈顿距离等。 b. 选择与新样本距离最近的K个训练样本这就是“K近邻”中的K。 c. 对于分类任务通过投票机制来决定新样本的类别。即K个最近邻中出现次数最多的类别即为新样本的预测类别。 d. 对于回归任务对K个最近邻的目标值进行平均得到新样本的预测值。 参数K的选择很重要过小的K值可能会使模型过于复杂和容易受到噪声的影响而过大的K值可能会导致模型过于简单忽略了数据的细节。 优点 简单、直观易于理解和实现。 适用于多类别的分类问题。 对数据分布没有过多假设可以适用于各种数据类型。 缺点 预测时的计算成本较高特别是对于大规模数据集。 对于高维数据或特征空间较大的数据集效果可能不如其他算法好。 对于不平衡数据集可能会受到少数类别的影响较大。 KNN是一个基本的机器学习算法通常用于起步学习或作为基准模型。在实际应用中可以根据数据集的规模和特点选择合适的算法 莺尾花预测
1.获取数据集 2.数据基本处理 3.特征工程 4.机器学习(模型训练) 5.模型评估
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier# 1.获取数据集
iris load_iris()# 2.数据基本处理
# x_train,x_test,y_train,y_test为训练集特征值、测试集特征值、训练集目标值、测试集目标值
x_train, x_test, y_train, y_test train_test_split(iris.data, iris.target, test_size0.2, random_state22)# 3、特征工程标准化
transfer StandardScaler()
x_train transfer.fit_transform(x_train)
x_test transfer.transform(x_test)# 4、机器学习(模型训练)
estimator KNeighborsClassifier(n_neighbors9)
estimator.fit(x_train, y_train)# 5、模型评估
# 方法1比对真实值和预测值
y_predict estimator.predict(x_test)
print(预测结果为:\n, y_predict)
print(比对真实值和预测值\n, y_predict y_test)
# 方法2直接计算准确率
score estimator.score(x_test, y_test)
print(准确率为\n, score)运行结果
预测结果为:[0 2 1 2 1 1 1 1 1 0 2 1 2 2 0 2 1 1 1 1 0 2 0 1 2 0 2 2 2 2]
比对真实值和预测值[ True True True True True True True False True True True TrueTrue True True True True True False True True True True TrueTrue True True True True True]
准确率为0.9333333333333333我们也可以根据上面的训练随便推理一组数据看看
#预测某种花的品种
ourData estimator.predict([[1,2,3,4]])
print(预测某种花的品种\n, ourData)1234分别代表 花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征前4列 运行结果 [2] 从结果中预测的是 维吉尼亚鸢尾