无涯教程-分类算法 - 简介

这篇具有很好参考价值的文章主要介绍了无涯教程-分类算法 - 简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类可以定义为根据观测值或给定数据点预测类别的过程。分类的输出可以采用"黑色"或"白色"或"垃圾邮件"或"非垃圾邮件"的形式。

在数学上,分类是从输入变量(X)到输出变量(Y)近似映射函数(f)的任务,它属于有监督的机器学习,在该机器学习中,还提供了目标以及输入数据集。

分类问题的一个示例可以是电子邮件中的垃圾邮件检测,只能有两类输出:"垃圾邮件"和"非垃圾邮件";因此,这是一个二进制类型分类。

要实现此分类,无涯教程首先需要训练分类器,在此示例中,"垃圾邮件"和"非垃圾邮件"电子邮件将用作培训数据,成功训练分类器后,可以将其用于检测未知电子邮件。

对于分类问题,有两种类型的学习者-

懒惰学习

顾名思义,这类学习者在存储训练数据后等待测试数据出现,仅在获取测试数据后才进行分类。他们花在培训上的时间更少,但花在预测上的时间却更多。懒惰学习者的示例有K近邻和基于案例的推理。

渴望学习

与懒惰的学习者相反,热心的学习者在存储训练数据后无需等待测试数据出现就构造分类模型,他们花更多的时间在训练上,而花更少的时间在预测上。渴望学习的人的示例有决策树,朴素贝叶斯和人工神经网络(ANN)。

构建分类器

Scikit-learn是用于机器学习的Python库,可用于在Python中构建分类器。在Python中构建分类器的步骤如下-

第1步  -  导入包

为了使用scikit-learn构建分类器,无涯教程需要将其导入。可以使用以下脚本导入它-

import sklearn

第2步  -  导入数据集

导入必要的包后,需要一个数据集来创建分类预测模型,可以从sklearn数据集中导入它,也可以根据需要使用其他一个,将使用sklearn的乳腺癌威斯康星州诊断数据库。可以在以下脚本的帮助下导入它-

from sklearn.datasets import load_breast_cancer

以下脚本将加载数据集;

data=load_breast_cancer()

还需要组织数据,可以在以下脚本的帮助下完成数据-

label_names=data[target_names]
labels=data[target]
feature_names=data[feature_names]
features=data[data]

对于数据库,以下命令将打印标签的名称"malignant(恶性)" 和"benign(良性)" 。

print(label_names)

上面命令的输出是标签的名称-

[malignant benign]

这些标签分别映射为二进制值0和1。恶性癌由0表示,良性癌由1表示。

这些标签的特征名称和特征值可以通过以下命令查看-

print(feature_names[0])

上面命令的输出是标签0的特征的名称,即恶性癌症-

mean radius

类似地,标签的特征名称可以如下产生:

print(feature_names[1])

上面命令的输出是标签1的特征的名称,即良性癌症-

mean texture

可以在以下命令的帮助下为这些标签打印函数-

print(features[0])

这将给出以下输出-

[1.799e+01 1.038e+01 1.228e+02 1.001e+03 1.184e-01 2.776e-01 3.001e-01
 1.471e-01 2.419e-01 7.871e-02 1.095e+00 9.053e-01 8.589e+00 1.534e+02
 6.399e-03 4.904e-02 5.373e-02 1.587e-02 3.003e-02 6.193e-03 2.538e+01
 1.733e+01 1.846e+02 2.019e+03 1.622e-01 6.656e-01 7.119e-01 2.654e-01
 4.601e-01 1.189e-01]

可以在以下命令的帮助下为这些标签打印函数-

print(features[1])

这将给出以下输出-

[2.057e+01 1.777e+01 1.329e+02 1.326e+03 8.474e-02 7.864e-02 8.690e-02
7.017e-02  1.812e-01 5.667e-02 5.435e-01 7.339e-01 3.398e+00 7.408e+01
5.225e-03  1.308e-02 1.860e-02 1.340e-02 1.389e-02 3.532e-03 2.499e+01
2.341e+01  1.588e+02 1.956e+03 1.238e-01 1.866e-01 2.416e-01 1.860e-01
2.750e-01  8.902e-02]

第3步  -  数据整理

由于需要在看不见的数据上测试模型,因此将数据集分为两部分:训练集和测试集,可以使用 sklearn python包的 train_test_split()函数将数据拆分为集合。以下命令将导入函数-

from sklearn.model_selection import train_test_split

现在,下一条命令会将数据分为训练和测试数据。在此示例中,无涯教程将40%的数据用于测试目的,将60%的数据用于培训目的-

train, test, train_labels, test_labels=
   train_test_split(features,labels,test_size=0.40, random_state=42)

第4步  -  模型判断

将数据划分为训练和测试后,程需要构建模型,为此,将使用朴素贝叶斯(Bayes)算法,以下命令将导入 GaussianNB 模块-

from sklearn.naive_bayes import GaussianNB

现在,按如下所示初始化模型-

gnb=GaussianNB()

接下来,在以下命令的帮助下,无涯教程可以训练模型-

model=gnb.fit(train, train_labels)

现在,出于判断目的,需要进行预测。可以通过如下方式使用predict()函数来完成:

preds=gnb.predict(test)
print(preds)

这将给出以下输出-

[1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0
 1 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0
 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 0
 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0
 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0
 0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1
 0 0 1 1 0 1]

上面输出的0和1系列是恶性和良性肿瘤类别的预测值。

第5步  -  寻找准确性

通过比较两个数组 test_labels 和 preds ,无涯教程可以找到上一步中模型构建的准确性。将使用 accuracy_score()函数确定准确性。

from sklearn.metrics import accuracy_score
print(accuracy_score(test_labels,preds))
0.951754385965

上面的输出显示NaïveBayes分类器的准确度为95.17%。

分类算法 - 入门教程 - 无涯教程网无涯教程网提供分类可以定义为根据观测值或给定数据点预测类别的过程。分类的输出可以采用"黑色"或"...https://www.learnfk.com/python-machine-learning/machine-learning-with-python-classification-algorithms-introduction.html文章来源地址https://www.toymoban.com/news/detail-680774.html

到了这里,关于无涯教程-分类算法 - 简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无涯教程-分类算法 - 多项式逻辑回归模型函数

    Logistic逻辑回归的另一种有用形式是多项式Lo​​gistic回归,其中目标或因变量可以具有3种或更多可能的 unordered 类型,即没有定量意义的类型。 现在,无涯教程将在Python中实现上述多项式逻辑回归的概念。为此,使用来自sklearn的名为 digit 的数据集。 首先,需要导入必要的

    2024年02月10日
    浏览(40)
  • 无涯教程-PHP - 简介

    PHP 7是最期待的,它是PHP编程语言的主要功能版本。 PHP 7于2015年12月3日发布。本教程将以简单直观的方式教您PHP 7的新功能及其用法。 无涯教程假设您已经了解旧版本的PHP,现在就可以开始学习PHP 7的新功能。 使用下面的示例- PHP - 入门教程 - 无涯教程网 无涯教程网提供PHP

    2024年02月11日
    浏览(46)
  • 无涯教程-Lua - 简介

    Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用ANSI C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。和许多“大而全”的语言不一样,网络通信、图形界面等都没有默认提供。但

    2024年02月14日
    浏览(41)
  • 无涯教程-Flutter - 简介

    Flutter是一个由谷歌开发的开源移动应用软件开发工具包,用于为Android、iOS、 Windows、Mac、Linux、Google Fuchsia开发应用。    通常,创建移动应用程序是一个非常复杂和具有挑战性的任务。有许多框架可用,它提供了开发移动应用程序的出色函数。对于开发移动应用程序,Andr

    2024年02月10日
    浏览(30)
  • 无涯教程-Flutter - Dart简介

    Dart是一种开源通用编程语言,它最初是由Google开发的, Dart是一种具有C样式语法的面向对象的语言,它支持诸如接口,类之类的编程概念,与其他编程语言不同,Dart不支持数组, Dart集合可用于复制数据结构,例如数组,泛型和可选类型。 以下代码显示了一个简单的Dart程序

    2024年02月10日
    浏览(56)
  • 无涯教程-KNN算法 - 寻找最近邻居

    K最近邻(KNN)算法是一种监督的ML算法,可用于分类以及回归预测问题,但是,它主要用于行业中的分类预测问题。以下两个属性将很好地定义KNN- 惰性学习算法    -  KNN是一种惰性学习算法,因为它没有专门的训练阶段,并且在分类时将所有数据用于训练。 非参数学习算法

    2024年02月11日
    浏览(38)
  • 无涯教程-聚类算法 - K-Means

    K-均值聚类算法计算质心并进行迭代,直到找到最佳质心为止,它假定群集的数目是已知的,它也称为扁平聚类算法。通过算法从数据中识别出的簇数以K均值中的\\\" K\\\"表示。 在该算法中,将数据点分配给群集,以使数据点和质心之间的平方距离之和最小。应当理解,簇内的较

    2024年02月10日
    浏览(48)
  • 无涯教程-Python - Dictionary(字典)

    每个键都由一个冒号(:)与其值分隔,各元素之间以逗号分隔,并且整个内容都用花括号括起来。一个没有任何元素的空字典用两个大括号书写,如:{}。 键在字典中是唯一的,而值可能不是。字典的值可以是任何类型,但是键必须是不可变的数据类型,如字符串,数字或元组。

    2024年02月11日
    浏览(36)
  • Python实现GA遗传算法优化循环神经网络分类模型(LSTM分类算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。 遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世纪70年代提出,该算法是根据大自然中生物体进化规律而设计提出的。是模拟达尔文生

    2024年02月15日
    浏览(244)
  • Python基础教程(一):Python简介

    Python 是一门流行的编程语言。它由 Guido van Rossum 创建,于 1991 年发布。 它用于: Web开发(服务器端) 软件开发 数学 系统脚本 可以在服务器上使用 Python 来创建 Web 应用程序。 Python 可以与软件一起使用来创建工作流。 Python 可以连接到数据库系统。它还可以读取和修改文件

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包