搜索
首页科技周边人工智能监督学习有哪些常见算法?都是如何应用的

监督学习有哪些常见算法?都是如何应用的

Apr 10, 2023 am 08:21 AM
人工智能机器学习监督学习

​什么是监督学习?

监督学习是机器学习的子集,监督学习会对机器学习模型的输入数据进行标记,并对其进行练习。因此,监督模型能最大限度地预测模型的输出结果。

监督学习背后的概念也可以从现实生活中找到影子,例如老师给孩子做辅导。假设老师要教孩子认识猫、狗的图像。她/他将通过不断地向孩子展示猫或狗的图像来辅导孩子,同时告知孩子图像是狗还是猫。

展示和告知图像的过程可以被认为是标记数据,机器学习模型训练过程中,会被告知哪些数据属于哪个类别。

监督学习有什么用?监督学习可用于回归和分类问题。分类模型允许算法确定给定数据属于哪个组别。示例可能包括 True/False、Dog/Cat 等。

由于回归模型能够根据历史数据预测将来的数值,因此它会被用于预测员工的工资或房地产的售价。

在本文中,我们将列出一些用于监督学习的常见算法,以及关于此类算法的实用教程。

线性回归

线性回归是一种监督学习算法,它根据给定的输入值预测输出值。当目标(输出)变量返回一个连续值时,使用线性回归。

线性算法主要有两种类型,简单线性回归和多元线性回归。

简单线性回归仅使用一个独立(输入)变量。一个例子是通过给定的身高来预测孩子的年龄。

另一方面,多元线性回归可以使用多个自变量来预测其最终结果。一个例子是根据它的位置、大小、需求等来预测给定房产的价格。

以下是线性回归公式

监督学习有哪些常见算法?都是如何应用的

对于 Python的示例,我们将使用线性回归来预测相对于给定 x 值的 y 值。

我们给定的数据集仅包含两列:x 和 y。请注意,y 结果将返回连续值。

下面是给定数据集的截图:

监督学习有哪些常见算法?都是如何应用的

使用 Python 的线性回归模型示例

1.导入必要的库

import numpy as np <br>import pandas as pd <br>import matplotlib.pyplot as plt <br>import seaborn as sns from sklearn <br>import linear_model from sklearn.model_selection <br>import train_test_split import os

2. 读取和采样我们的数据集

为了简化数据集,我们抽取了 50 个数据行的样本,并将数据值四舍五入为 2 个有效数字。

请注意,您应该在完成此步骤之前导入给定的数据集。

df = pd.read_csv("../input/random-linear-regression/train.csv") <br>df=df.sample(50) df=round(df,2)

3. 过滤 Null 和 Infinite 值

如果数据集包含空值和无限值,则可能会出现错误。因此,我们将使用 clean_dataset 函数来清理这些值的数据集。

def clean_dataset(df): <br>assert isinstance(df, pd.DataFrame), "df needs to be a pd.DataFrame" <br>df.dropna(inplace=True) <br>indices_to_keep = ~df.isin([np.nan, np.inf, -np.inf]).any(1) <br>return df[indices_to_keep].astype(np.float64)<br>df=clean_dataset(df)

4. 选择我们依赖和独立的价值观

请注意,我们将数据转换为 DataFrame 格式。dataframe 数据类型是一种二维结构,可将我们的数据对齐到行和列中。

5. 拆分数据集

我们将数据集划分为训练和测试部分。选择测试数据集大小为总数据集的 20%。

请注意,通过设置 random_state=1,每次模型运行时,都会发生相同的数据拆分,从而产生完全相同的训练和测试数据集。

这在您想进一步调整模型的情况下很有用。

x_train,  x_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=1)

6.建立线性回模型

使用导入的线性回归模型,我们可以在模型中自由使用线性回归算法,绕过我们为给定模型获得的 x 和 y 训练变量。

lm=linear_model.LinearRegression() lm.fit(x_train,y_train)

7. 以分散的方式绘制我们的数据

df.plot(kind="scatter", x="x", y="y")

8. 制我线性回归线

plt.plot(X,lm.predict(X), color="red")

监督学习有哪些常见算法?都是如何应用的

蓝点表示数据点,而红线是模型绘制的最佳拟合线性回归线。线性模型算法总是会尝试绘制最佳拟合线以尽可能准确地预测结果。

逻辑回归

与线性回归类似,逻辑回归根据输入变量预测输出值,两种算法的主要区别在于逻辑回归算法的输出是分类(离散)变量。

对于 Python示例,使用逻辑回归将”分成两个不同的类别/种类。给定的数据集中会包括不同花的多个特征。

模型的目的是将给花识别为Iris-setosa、Iris-versicolor或 Iris-virginica 几个种类

下面是给定数据集的截图

监督学习有哪些常见算法?都是如何应用的

使用 Python 的逻辑回归模型示例

1.导入必要的库

import numpy as np <br>import pandas as pd from sklearn.model_selection <br>import train_test_split import warnings warnings.filterwarnings('ignore')

2. 导入数据集

data = pd.read_csv('../input/iris-dataset-logistic-regression/iris.csv')

3. 选择我们依赖和独立的价值观

对于独立 value(x) ,将包括除类型列之外的所有可用列。至于我们的可靠值(y),将只包括类型列。

X = data[['x0','x1','x2','x3','x4']] <br>y = data[['type']]

4. 拆分数据集

将数据集分成两部分,80% 用于训练数据集,20% 用于测试数据集。

X_train,X_test,y_train,y_test = train_test_split(X,y, test_size=0.2, random_state=1)

5. 运行逻辑模型

从 linear_model 库中导入整个逻辑回归算法。然后我们可以将 X 和 y 训练数据拟合到逻辑模型中。

from sklearn.linear_model import LogisticRegression <br>model = LogisticRegression(random_state = 0) <br>model.fit(X_train, y_train)

6. 评估我们模型的性能

print(lm.score(x_test, y_test))

返回值为0.9845128775509371,这表明我们模型的高性能。

请注意,随着测试分数的增加,模型的性能也会增加。

7.

import matplotlib.pyplot as plt %matplotlib inline <br>plt.plot(range(len(X_test)), pred,'o',c='r')

输出图:

监督学习有哪些常见算法?都是如何应用的

在逻辑图中,红点表示给定的数据点。这些点清楚地分为 3 类,Virginica、versicolor 和 setosa 花种。

使用这种技术,逻辑回归模型可以根据花在图表上的位置轻松对花类型进行分类。

支持向量机

支持向量机( SVM) 算法是另一个著名的监督机器学习模型,由 Vladimir Vapnik 创建,它能够解决分类和回归问题。实际上它更多地被用到解决分类问题。

SVM 算法能够将给定的数据点分成不同的组。算法绘制数据之后,可以绘制最合适的线将数据分成多个类别,从而分析数据之间的关系

如下图所示,绘制的线将数据集完美地分成 2 个不同的组,蓝色和绿色。

监督学习有哪些常见算法?都是如何应用的

SVM 模型可以根据图形的维度绘制直线或超平面。行只能用于二维数据集,这意味着只有 2 列的数据集。

如果是多个特征来预测数据集,就需要更高的维度。在数据集超过 2 维的情况下,支持向量机模型将绘制超平面。

在支持向量机 Python 的示例中,将对 3 种不同的花卉类型进行物种分类。我们的自变量包括花的所有特征,而因变量是花所属物种。

花卉品种包括Iris-setosa Iris-versicolorIris-virginica

下面是数据集的截图:

监督学习有哪些常见算法?都是如何应用的

使用 Python 的支持向量机模型示例

1.入必要的

import numpy as np <br>import pandas as pd from sklearn.model_selection <br>import train_test_split from sklearn.datasets <br>import load_iris

2. 定的数据集

请注意,在执行此步骤之前,应该导入数据集。

data = pd.read_csv(‘../input/iris-flower-dataset/IRIS.csv’)

3. 将数据列拆分量和自

将 X 值作为自变量,其中包含除物种列之外的所有列。

变量y仅包含模型预测的物种列。

X = data.drop(‘species’, axis=1) y = data[‘species’]

4. 将数据集拆分为训练测试数据集

将数据集分为两部分,其中我们将 80% 的数据放入训练数据集中,将 20% 放入测试数据集中。

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)

5.入SVM并运行模型

导入了支持向量机算法。然后,使用上面步骤中收到的 X 和 y 训练数据集运行它。

from sklearn.svm import SVC <br>model = SVC( ) <br>model.fit(X_train, y_train)

6. 测试模型的性能

model.score(X_test, y_test)

为了评估模型的性能,将使用 score 函数。在第四步中创建的 X 和 y 测试值输入到 score 方法中。

返回值为0.9666666666667,这表明模型的高性能。

请注意,随着测试分数的增加,模型的性能也会增加。

其他流行的监督机器学习算法

虽然线性、逻辑和 SVM 算法非常可靠,但还提到一些有监督的机器学习算法。

1. 决策

监督学习有哪些常见算法?都是如何应用的

决策树算法是一种有监督的机器学习模型,它利用树状结构进行决策。决策树通常用于分类问题,其中模型可以决定数据集中给定项目所属的组。

请注意,使用的树格式是倒置树的格式。

2. 随机森林

监督学习有哪些常见算法?都是如何应用的

被认为是一种更复杂的算法, 随机森林算法通过构建大量决策树来实现其最终目标。

意味着同时构建多个决策树,每个决策树都返回自己的结果,然后将其组合以获得更好的结果。

对于分类问题,随机森林模型将生成多个决策树,并根据大多数树预测的分类组对给定对象进行分类。

模型可以修复由单个树引起的过拟合问题同时,随机森林算法也可用于回归,尽管可能导致不良结果。

3. k-最近

监督学习有哪些常见算法?都是如何应用的

k最近(KNN) 算法是一种监督机器学习方法,它将所有给定数据分组到单独的组中。

这种分组基于不同个体之间的共同特征。KNN 算法可用于分类和回归问题。

KNN 的经典示例就是将动物图像分类到不同的组集中。

总结

本文介绍了监督机器学习及其可以解决的两类问题解释了分类和回归问题,给出了每个输出数据类型的一些示例。

详细解释了线性回归是什么以及它是如何工作的,并提供了一个 Python 中的具体示例,它根据独立的 X 变量预测 Y 值。

随后介绍逻辑回归模型并给出了分类模型示例,该示例将给定的图像分类为具体花的种类

对于支持向量机算法,可以用它来预测 3 种不同花种的给定花种。最后列出了其他著名的监督机器学习算法,例如决策树、随机森林和 K 近邻算法。

无论您是为了学、工作还是娱乐阅读本文,我们认为了解这些算法是开始进入机器学习领域的一个开端。

如果您有兴趣并想了解更多关于机器学习领域的信息,我们建议您深入研究此类算法的工作原理以及如何调整此类模型以进一步提高其性能。

译者介绍

崔皓,51CTO社区编辑,资深架构师,拥有18年的软件开发和架构经验,10年分布式架构经验。曾任惠普技术专家。乐于分享,撰写了很多热门技术文章,阅读量超过60万。​​《分布式架构原理与实践》​​作者。

原文标题:Primary Supervised Learning Algorithms Used in Machine Learning,作者:Kevin Vu

以上是监督学习有哪些常见算法?都是如何应用的的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
[带AI的吉卜力风格图像]介绍如何使用Chatgpt和版权创建免费图像[带AI的吉卜力风格图像]介绍如何使用Chatgpt和版权创建免费图像May 13, 2025 am 01:57 AM

OpenAI发布的最新模型GPT-4o,不仅能生成文本,还具备图像生成功能,引发广泛关注。其中最受瞩目的功能便是“吉卜力风格插画”的生成。只需将照片上传至ChatGPT,并给出简单的指令,即可生成宛如吉卜力工作室作品般梦幻的图像。本文将详细解读实际操作流程、效果感受,以及需要注意的错误和版权问题。 OpenAI发布的最新模型“o3”详情请点击此处⬇️ OpenAI o3(ChatGPT o3)详解:特性、定价体系及o4-mini介绍 吉卜力风格文章的英文版请点击此处⬇️ 利用ChatGPT创作吉

解释在地方政府中使用和实施CANTGPT的示例!还介绍了禁止的地方政府解释在地方政府中使用和实施CANTGPT的示例!还介绍了禁止的地方政府May 13, 2025 am 01:53 AM

作为一种新的交流方法,在地方政府中使用和引入Chatgpt引起了人们的关注。尽管这种趋势在广泛的领域正在发展,但一些地方政府拒绝使用Chatgpt。 在本文中,我们将介绍地方政府中ChatGPT实施的示例。我们将通过各种改革实例,包括支持文件创建和与公民对话,从而探索如何通过各种改革实例来实现地方政府服务的质量和效率提高。 不仅旨在减少员工工作量并改善公民的便利性的地方政府官员,而且都对高级用例感兴趣。

chatgpt中的福卡式风格提示是什么?示例句子的详尽解释!chatgpt中的福卡式风格提示是什么?示例句子的详尽解释!May 13, 2025 am 01:52 AM

您是否听说过一个名为“福卡斯提示系统”的框架?诸如ChatGpt之类的语言模型非常出色,但是适当的提示对于发挥其潜力至关重要。福卡(Fukatsu)提示是旨在提高输出准确性的最受欢迎的提示技术之一。 本文解释了福卡式风格提示的原理和特征,包括特定的用法方法和示例。此外,我们还引入了其他众所周知的及时模板和有用的技术来及时设计,因此,根据这些设计,我们将介绍C。

什么是chatgpt搜索?解释主要功能,用法和费用结构!什么是chatgpt搜索?解释主要功能,用法和费用结构!May 13, 2025 am 01:51 AM

CHATGPT搜索:使用创新的AI搜索引擎有效获取最新信息! 在本文中,我们将彻底解释OpenAI提供的新的ChatGpt功能“ ChatGpt搜索”。让我们仔细研究一下功能,用法以及该工具如何根据实时网络信息和直观的易用性来帮助您提高信息收集效率。 chatgpt搜索提供了一种对话互动搜索体验,该体验在舒适,隐藏的环境中回答用户问题,以隐藏广告

易于理解的解释如何在Chatgpt和提示中创建构图!易于理解的解释如何在Chatgpt和提示中创建构图!May 13, 2025 am 01:50 AM

信息爆炸的现代社会,创作出令人信服的文章并非易事。如何在有限的时间和精力内,发挥创造力,撰写出吸引读者的文章,需要高超的技巧和丰富的经验。 这时,作为革命性的写作辅助工具,ChatGPT 备受瞩目。ChatGPT 利用庞大的数据训练出的语言生成模型,能够生成自然流畅、精炼的文章。 本文将介绍如何有效利用 ChatGPT,高效创作高质量文章的技巧。我们将逐步讲解使用 ChatGPT 的写作流程,并结合具体案例,详细阐述其优缺点、适用场景以及安全使用注意事项。ChatGPT 将成为作家克服各种障碍,

如何使用chatgpt创建图!还解释了插图的加载和插件如何使用chatgpt创建图!还解释了插图的加载和插件May 13, 2025 am 01:49 AM

使用AI创建图表的有效指南 视觉材料对于有效传达信息至关重要,但是创建它需要大量时间和精力。但是,由于AI技术(例如Chatgpt和dall-e 3)的兴起,图表创建过程正在发生巨大变化。本文使用这些尖端工具提供了有关有效而有吸引力的图创建方法的详细说明。它涵盖了从想法到完成的所有内容,并包含大量信息,可用于创建图表,从可以使用的特定步骤,提示,插件和API以及如何使用图像一代AI“ dall-e 3.”)

易于理解的解释Chatgpt加上定价结构和付款方式!易于理解的解释Chatgpt加上定价结构和付款方式!May 13, 2025 am 01:48 AM

解锁ChatGPT Plus:费用、支付方式及升级指南 全球瞩目的顶尖生成式AI,ChatGPT已广泛应用于日常生活和商业领域。虽然ChatGPT基本免费,但付费版ChatGPT Plus提供多种增值服务,例如插件、图像识别等,显着提升工作效率。本文将详细解读ChatGPT Plus的收费标准、支付方式及升级流程。 OpenAI最新图像生成技术“GPT-4o图像生成”详情请点击: GPT-4o图像生成详解:使用方法、提示词示例、商业应用及与其他AI的差异 目录 ChatGPT Plus费用 Ch

解释如何使用chatgpt创建设计!我们还介绍了使用和提示示例解释如何使用chatgpt创建设计!我们还介绍了使用和提示示例May 13, 2025 am 01:47 AM

如何使用Chatgpt简化您的设计工作并提高创造力 本文将详细说明如何使用ChatGpt创建设计。我们将介绍在各个设计领域中使用Chatgpt的示例,例如思想,文本生成和网页设计。我们还将介绍点,以帮助您提高各种创意作品的效率和质量,例如图形设计,插图和徽标设计。请看一下AI如何大大扩展您的设计可能性。 目录 chatgpt:设计创建的强大工具

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),