无涯教程-分类算法 - 简介
分类可以定义为根据观测值或给定数据点预测类别的过程。分类的输出可以采用"黑色"或"白色"或"垃圾邮件"或"非垃圾邮件"的形式。
在数学上,分类是从输入变量(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-011.471e-01 2.419e-01 7.871e-02 1.095e+00 9.053e-01 8.589e+00 1.534e+026.399e-03 4.904e-02 5.373e-02 1.587e-02 3.003e-02 6.193e-03 2.538e+011.733e+01 1.846e+02 2.019e+03 1.622e-01 6.656e-01 7.119e-01 2.654e-014.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 01 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 01 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 01 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 01 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 00 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 10 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
相关文章:
无涯教程-分类算法 - 简介
分类可以定义为根据观测值或给定数据点预测类别的过程。分类的输出可以采用"黑色"或"白色"或"垃圾邮件"或"非垃圾邮件"的形式。 在数学上,分类是从输入变量(X)到输出变量(Y)近似映射函数(f)的任务,它属于有监督…...
python venv 打包,更换路径后,仍然读取到旧路径 ,最好别换路径,采用docker封装起来
机械盘路径 /home/yeqiang/code/xxx 移动到 /opt/xxx 编辑/opt/xxx/venv/bin/activate VIRTUAL_ENV"/home/yeqiang/code/xxx/venv" 改为 VIRTUAL_ENV"/opt/xxx/venv" 下面还有这么多,参考: (venv) yeqiangyeqiang-MS-7B23:/…...
MATLAB算法实战应用案例精讲-【自然语言处理】语义分割模型-DeepLabV3
目录 1、DeepLab系列简介 1.1.DeepLabV1 1.1.1创新点: 1.1.2. 动机: 1.1.3. 应对策略: 1.2.DeepLabV2 1.2.1.创新点: 1.2.2.动机 1.2.3. 应对策略: 1.3.DeepLabV3 1.3.1创新点: 1.3.2. 动机&am…...
road to master
零、学习计划 数据库相关 索引 我以为我对数据库索引很了解,直到我遇到了阿里面试官 - 知乎 (zhihu.com)给我一分钟,让你彻底明白MySQL聚簇索引和非聚簇索引 - 知乎 (zhihu.com)聚集索引(聚类索引)与非聚集索引(非聚类…...
<深度学习基础> 激活函数
为什么需要激活函数?激活函数的作用? 激活函数可以引入非线性因素,可以学习到复杂的任务或函数。如果不使用激活函数,则输出信号仅是一个简单的线性函数。线性函数一个一级多项式,线性方程的复杂度有限,从…...
评价指标BLUE了解
BLEU (Bilingual Evaluation Understudy,双语评估基准)是一组度量机器翻译和自然语言生成模型性能的评估指标。BLEU指标是由IBM公司提出的一种模型评估方法,以便在机器翻译领域中开发更好的翻译模型。BLEU指标根据生成的句子与人工参考句子之间的词、短语…...
5G网关如何提升智慧乡村农业生产效率
得益于我国持续推进5G建设,截至今年5月,我国5G基站总数已达284.4万个,覆盖全国所有地级市、县城城区和9成以上的乡镇镇区,实现“镇镇通5G”,全面覆盖了从城市到农村的延伸。 依托5G网络的技术优势,智慧乡村…...
微信小程序分享后真机参数获取不到和部分参数不能获取问题问题解决
微信小程序的很多API,都是BUG,近期开发小程序就遇到了分享后开发工具可以获取参数,但是真机怎么都拿不到参数的问题 一、真机参数获取不到问题解决 解决方式: 在onLoad(options) 中。 onLoad方法中一定要有options 这个参数。…...
Confluence使用教程(用户篇)
1、如何创建空间 可以把空间理解成一个gitlab仓库,空间之间相互独立,一般建议按照部门(小组的人太少,没必要创建空间)或者按照项目分别创建空间 2、confluence可以创建两种类型的文档:页面和博文 从内容上来…...
网络基础知识socket编程
目录 网络通信概述网络互连模型:OSI 七层模型TCP/IP 四层/五层模型数据的封装与拆封 IP 地址IP 地址的编址方式IP 地址的分类特殊的IP 地址如何判断2 个IP 地址是否在同一个网段内 TCP/IP 协议TCP 协议TCP 协议的特性TCP 报文格式建立TCP 连接:三次握手关…...
基于SpringBoot的员工(人事)管理系统
基于SpringBoot的员工(人事)管理系统 一、系统介绍二、功能展示三.其他系统实现五.获取源码 一、系统介绍 项目名称:基于SPringBoot的员工管理系统 项目架构:B/S架构 开发语言:Java语言 前端技术:BootS…...
【计算机网络】序列化与反序列化
文章目录 1. 如何处理结构化数据?序列化 与 反序列化 2. 实现网络版计算器1. Tcp 套接字的封装——sock.hpp创建套接字——Socket绑定——Bind将套接字设置为监听状态——Listen获取连接——Accept发起连接——Connect 2. 服务器的实现 ——TcpServer.hpp初始化启动…...
Linux内核学习(七)—— 定时器和时间管理(基于Linux 2.6内核)
目录 一、内核中的时间概念 二、节拍率:HZ 实时时钟 系统定时器 三、定时器 系统定时器是一种可编程硬件芯片,能以固定频率产生定时器中断,它所对应的中断处理程序负责更新系统时间,也负责执行需要周期性运行的任务。 一、内…...
Tortoise Git(乌龟git)常用命令总结
查看全局和本地 Git 配置 打开命令行终端(如 Git Bash),分别执行以下命令查看全局和本地的 Git 配置信息: git config --global -l git config --local -l确保配置中没有任何与 SSH 相关的设置 移除全局和本地 SSH 相关配置&…...
SSM商城项目实战:物流管理
SSM商城项目实战:物流管理 在SSM商城项目中,物流管理是一个重要的功能模块。通过物流管理,可以实现订单的配送、运输和签收等操作。本文将介绍如何在SSM商城项目中实现物流管理功能的思路和步骤代码。 实现SSM商城项目中物流管理的思路总结如…...
nlp系列(7)三元组识别(Bert+CRF)pytorch
模型介绍 在实体识别中:使用了Bert模型,CRF模型 在关系识别中:使用了Bert模型的输出与实体掩码,进行一系列变化,得到关系 Bert模型介绍可以查看这篇文章:nlp系列(2)文本分类&…...
Druid配置类、Dubbo配置类、Captcha配置类、Redis配置类、RestTemplate配置类
DruidConfig配置类package com.xdclass.app.config;import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.beans.factory.annotation.V…...
Pyecharts教程(十二):使用pyecharts创建带有数据缩放滑块和位置指示器的K线图
Pyecharts教程(十二):使用pyecharts创建带有数据缩放滑块和位置指示器的K线图 作者:安静到无声 个人主页 目录 Pyecharts教程(十二):使用pyecharts创建带有数据缩放滑块和位置指示器的K线图前言代码讲解总结完整代码推荐专栏前言 本博客将详细解释如何使用Python中的pyech…...
MySQL 基本操作
目录 数据库的列类型 数据库基本操作 SQL语言规范 SQL语句分类 查看表,使用表 管理数据库 创建数据库和表 删除数据库和表 向数据表中添加数据 查询数据表中数据 修改数据表的数据 删除数据表中数据 修改表明和表结构 扩展表结构(增加字段&…...
HHDESK一键改密功能
HHDESK新增实用功能——使用SSH连接,对服务器/端口进行密码修改。 1 测试 首页点击资源管理——客户端,选择需要修改的连接; 可以先对服务器及端口进行测试,看是否畅通; 右键——测试——ping; 以及右…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
