人工稚能之sklearn分类

Sklearn工具包及模型评估 一、Sklearn工具包介绍   scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。   官网:https://scikit-learn.org/stable/index.html 1、常用模块   Skle... 阅读详情

640?wx_fmt=jpeg


分类算法和聚类比较类似,都是将输入数据赋予一个标签类别。区别是分类算法的分类是预先确定的,有明确含义的。而聚类的标签是从输入数据本身的分布中提取出来的一种抽象的类别。聚类是无监督算法,而分类是有监督的,除了输入数据x外,还有标签y。

640?wx_fmt=jpeg

分类算法和回归算法也有类似之处,它们都是有监督算法。区别是回归算法预测的是连续值,而分类算法预测的是离散的预定义的类别。

640?wx_fmt=jpeg

分类算法同样分为线性分类和非线性分类算法,线性可分是指可以用二维空间的直线或者多维空间的平面将输入数据分开,非线性就是线性不可分。

640?wx_fmt=jpeg

分类算法非常繁多,朴素贝叶斯分类是其中一种常见的分类算法,它是基于贝叶斯概率推导出来的算法。该算法在垃圾文本分类中使用非常广泛。虽然贝叶斯概率公式并不复杂,但是理解它也需要有一定的概率数学基础。本篇就不做详细推导解释。

sklearn的naive_bayes算法提供了三种实现,BernoulliNB、MultinormialNB和GaussianNB,BernoulliNB适合抛硬币这种0/1型布尔输入,MultinormialNB适合文章中的单词数量这种数量型输入,而最后一个GaussianNB适合本例中连续性数字输入。

接下来我们使用sklearn提供的GaussianNB模块体验一下朴素贝叶斯分类算法。

首先我们构造出一些随机数据点。

# -*- coding: utf-8 -*-
import random
import matplotlib.pyplot as plt k = 5
# 颜色标签
colors = ['green', 'red', 'blue', 'yellow', 'pink']
# 先随机出中心点
centers = []
for i in range(k):    x = 10 + 100 * random.random()    y = 10 + 100 * random.random()    centers.append((x, y))

points = []
# 然后在每个中心点的周围随机100个点
for ci, (x, y) in enumerate(centers):    ps = []    for i in range(100):        px = x + random.random() * 20 - 10        py = y + random.random() * 20 - 10        ps.append((px, py))        points.append(((px, py), ci))    # 显示数据点    plt.scatter(        [x for x, y in ps],        [y for x, y in ps],        c=colors[ci], marker='.')

640?wx_fmt=jpeg

然后我们使用模型来预测所有网格点的颜色

# -*- coding: utf-8 -*-
import random
import matplotlib.pyplot as plt
from sklearn.naive_bayes import GaussianNB k = 5
# 颜色标签
colors = ['green', 'red', 'blue', 'yellow', 'pink']
# 先随机出中心点centers = []
for i in range(k):    x = 10 + 100 * random.random()    y = 10 + 100 * random.random()    centers.append((x, y))

points = []
# 然后在每个中心点的周围随机100个点
for ci, (x, y) in enumerate(centers):    ps = []    for i in range(100):        px = x + random.random() * 20 - 10        py = y + random.random() * 20 - 10        ps.append((px, py))        points.append(((px, py), ci))    # 显示数据点    plt.scatter(        [x for x, y in ps],        [y for x, y in ps],        c=colors[ci], marker='.')

model = GaussianNB()
# 拟合输入
model.fit([p for p, ci in points], [ci for p, ci in points])

pcolors = []
# 网格点
grids = [(x, y) for x in range(0, 120, 5) for y in range(0, 120, 5)]
# 预测颜色
for i, ci in enumerate(model.predict(grids)):    pcolors.append((grids[i], ci))

# 显示带颜色的网格点
plt.scatter(    [x for (x, y), ci in pcolors],    [y for (x, y), ci in pcolors],    c=[colors[ci] for (x, y), ci in pcolors], marker='x')

plt.show()

640?wx_fmt=jpeg

640?wx_fmt=jpeg

可以看出分类的颜色块边界还是非常明细的。

如果换成BernoulliNB,就完全看不到边界。

640?wx_fmt=jpeg

再换成MultinomialNB,勉强也能接受,只是边界不够明细。

640?wx_fmt=jpeg

所以这三种算法有各自的使用场景,不能随便使用。

640?wx_fmt=png

阅读相关文章,关注公众号【码洞】

python进行文本分类,基于word2vec,sklearn-svm对微博垃圾评论分类 差不多一年前的第一个分类任务,记录一下 语料库是关于微博的垃圾用户评论,分为两类,分别在normal,和spam文件夹下。里面是很多个txt文件,一个txt是一条用户评论。 一、进行分词 利用Jieba分词和去除停用词(这里我用的是全模式分词),每一篇文档为一行 用换行拼接,得到result.txt。其中用到的停用词是在网上随便下载的。 # 对句子进行分词 def seg_senten... 阅读详情

相关推荐

基于Spring Boot在线远程考试系统的设计与实现

结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。

ITbiyesheji的博客 1218

机器学习入门之分类算法--sklearn

【代码】机器学习入门之分类算法--sklearn。

weixin_43889121的博客 1276

如何用capl操控程控电源(RS232)

capl脚本操控RS232

xiaohuanxiong_的博客 3993

Python机器学习库sklearn几种分类算法建模可视化(实验)

sklearn官网API查询http://scikit-learn.org/stable/modules/classes.htmlscikit-learn中自带了一些数据集,比如说最著名的Iris数据集。 数据集中第3列和第4列数据表示花瓣的长度和宽度,类别标签列已经转成了数字,比如0=Iris-Setosa, 1=Iris-Versicolor, 2=Iris-Virginica.

公众号:瑞行AI 3万+

ArcGIS License Server点击启动没反应,许可管理器无法启动怎么办

4 当我们再打开ArcGIS License Server Administrator的时候。3 在【服务】中找到【ArcGIS License Manager】双击。无法启动ArcGIS License Server的情况。在使用ArcGIS的过程中,我们经常会遇到。专注GIS领域知识分享,交流行业软件技巧。欢迎关注,不定期分享GIS各种问题和技巧。1 右击我的电脑——【管理】服务状态——启动,确定即可。启动类型选择——自动。

GIS蒲公英的博客 2万+

[游戏排查] Baldur‘s Gate 3 加载完成即崩溃?五步排查帮你快速定位问题

《博德之门3》加载崩溃问题解决方案:针对游戏进度条走完后闪退的情况,提供五步排查法。首先清除LevelCache缓存(成功率最高),其次检查Mod兼容性,然后切换Vulkan/DX11渲染API,再排查存档损坏问题,最后可删除配置目录(需备份存档)。重点提示Steam验证无法解决此类问题,建议按步骤顺序排查,多数情况下前两步即可解决问题。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3266

机器学习Sklearn总结2——分类算法

一、转换器与估计器 二、分类算法 1、K-近邻算法 KNN算法总结: 优点: 简单、易于理解、易于实现、无需训练 缺点: 1)必须指定K值,K值选定不当则分类精度不能保证。 2)懒惰算法,对测试样本分类时的计算量大,内存开销大 使用场景: 小数据场景,几千~几万条样本,具体使用看业务场景。 案例代码: from sklearn.datasets import load_iris from sklearn.model_s...

qq_50909707的博客 4019

基于ESP32的智能无线广播系统开发博客

通过本项目的开发,我们成功地实现了基于ESP32的智能无线广播系统。该系统不仅具备传统广播的功能,还实现了通过Wi-Fi无线传输音频、实时广播和智能控制等多种先进功能。未来,随着技术的进一步发展,我们还可以扩展更多功能,如智能推荐广播内容、支持语音识别和控制等。希望本项目能够为嵌入式开发人员提供一些思路和参考,帮助大家在实际开发中更好地应用ESP32平台,开发出更加智能和实用的无线广播系统。

2201_76125393的博客 424

sklearn分类算法

如果一个样本在特征空间中的k个最相似(即最邻近)的样本中的大多数属于某一个类别,则该样本也属于这一个类别。PS:K值取得过小,容易受到异常点的影响K值取得过大,样本不均衡的影响标准化n_neighbors:K值"""用KNN算法对鸢尾花进行分类:return:"""# 获取数据# 划分数据集# 特征工程:标准化# KNN算法预估器# 模型评估# 直接比对真实值以及预测值print("直接比对真实值和预测值:\n",y_test == y_pretict)# 计算准确率。

weixin_49802037的博客 253

手把手教你完成YOLOv8分类识别界面搭建,使用Qt6设计YOLOv8分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程

本项目基于YOLOv8分类模型,结合PySide6框架开发了一套图形化分类识别系统,支持图片、视频和摄像头实时检测。系统包含以下功能: 分类识别模块:完成图像/视频目标分类,界面展示检测结果。 用户管理模块:支持登录注册、头像修改、密码重置等功能。 AI问答模块:集成DeepSeek大模型接口,实现流式输出对话。 后台管理系统(第二版新增):管理员可管理用户信息及个人中心。 系统采用MySQL数据库存储用户数据,并提供完整的UI界面与交互逻辑。代码已开源,适用于毕业设计或快速部署场景。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 827

FCC 首个扫地机器人豁免落地,Matic 凭什么抢先?

Matic获FCC首个扫地机器人豁免,实为提前布局的合规姿态。其产品在美国组装,并采用已认证射频模组,虽未达65%美国成分门槛,但已具备“本土制造”优势。豁免本质是对既有合规状态的确认,而非解救。此举在商业上放大品牌价值,抢占“安全、合规、本土”叙事高地,凸显供应链安全正取代技术标准成为监管核心。未来合规成本将攀升,规则主导权仍在FCC手中。

致力于lidar应用开发 100

sklearn人工数据生成7大函数实战指南

人工数据生成是机器学习工程中应对数据稀缺、标注滞后与pipeline验证的关键技术,其本质是在真实数据就位前构建可控、可解释、可复现的仿真数据沙盒。核心原理在于通过参数化控制样本分布、特征结构、噪声模式与标签关系,从而模拟分类不平衡、非线性回归、流形聚类、多标签共现等典型建模挑战。该技术具备显著工程价值:加速特征工程调试、支撑算法选型对比、保障端到端pipeline正确性,并为AB测试提供基线参照。典型应用场景包括金融风控预研、工业缺陷检测冷启动、教育推荐系统冷启动及IoT设备早期算法验证。本文聚焦scik

weixin_33739523的博客 351

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

人工稚能之sklearn数据降维

机器学习模型拟合的输入数据往往是多维数据,这个维度可能会非常庞大。比如统计一篇文章中的单词频率,就可以把文章看成单词的向量。而单词的数量又是非常庞大,每个单词都是一个维度...

codehole_的博客 176

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

sklearn中分类器的比较

简 介: 运行对比了 分类器的比较? 中的sklearn中的分类的性能对比。这为我们理解机器学习中的特性提供了理解基础。 关键词: sklearn,python #mermaid-svg-6CSlpnJ50BvkWRP4 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-6CSlpnJ50BvkWRP4 .l..

TSINGHUAJOKING 4853

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

机器学习:sklearn样本生成器,make_blob(), make_classification()

scikit-learn 包括各种随机样本的生成器,可以用来建立可控制的大小和复杂性人工数据集。 一、分类和聚类样本生成器 1.make_blob() 对于中心和各簇的标准偏差提供了更好的控制,可用于演示聚类。 sklearn.datasets.make_blobs(n_samples=100,n_features=2,centers=None,cluster_std=1.0,ce...

JacksonKim的博客 4580

多分类模型评估:混淆矩阵详解与sklearn实战避坑指南

多分类模型评估是机器学习落地的关键环节,其核心在于超越单一准确率,深入理解每个类别的精度、召回率与F1分数。混淆矩阵作为基础工具,本质是N个二分类问题的并行映射,需明确‘以谁为正类’的视角切换。在类别不均衡、标注噪声大、业务强约束的工业场景中,micro/macro/weighted平均策略直接影响模型可信度判断;sklearn的confusion_matrix与classification_report存在标签顺序错位、one-hot误用、缺失类别静默截断等高频陷阱。本文结合37个真实模型调优经验,系统解

congju3179的博客 462

人工分类和逻辑分类

人工分类 重要点: 分类的意义,什么样的业务属于分类,分类的意义是什么? 如何绘制分类均线? 特征1 特征2 输出 3 1 0 2 5 1 1 8 1 6 4 0 5 2 0 3 5 1 4 7 1 4 -1 0 … … … 6 8 1 5 1 0 分类均线的绘制: 将空间分为很多个小格子,然后通过样本去预测每个格子应该属于哪一类,然...

python_LC_nohtyp的博客 411

sklearn.datasets.make_*系列全解析:人工数据集的生成与可视化

本文全面解析了sklearn.datasets模块中以make_*开头的人工数据集生成函数,包括make_blobs、make_classification、make_moons和make_circles等。这些函数能够创建具有特定特性的数据集,适用于算法测试和教学演示。文章详细介绍了每个函数的功能参数配置,并通过可视化示例展示了不同函数生成的数据集特征,如线性可分、非线性可分以及复杂分类数据集,为机器学习实践提供了丰富的数据生成工具。这些人工数据集特别适合算法性能测试、教学演示和快速原型开发等场景。

qq_37179440的博客 694

基于sklearn的分类器实战

已迁移到我新博客,阅读体验更佳基于sklearn的分类器实战 完整代码实现见github:click me 一、实验说明 1.1 任务描述 1.2 数据说明 一共有十个数据集,数据集中的数据属性有全部是离散型的,有全部是连续型的,也有离散与连续混合型的。通过对各个数据集的浏览,总结出各个数据集的一些基本信息如下: 连续型数据集: 1. diabets(4:8d-2c) 2. moz...

weixin_34380296的博客 847

深入解析sklearn的make_classification:从参数调优到分类任务实战

本文深入解析了sklearn的make_classification函数,详细介绍了其核心参数如何控制分类样本数据的规模、难度与噪声,并通过实战案例演示了从生成定制化数据集到模型训练、评估的完整流程。掌握该工具能有效模拟真实数据场景,是算法测试与教学的利器。

l6m7n8的博客 431

【sklearn】多标签数据集-精讲篇

摘要:工欲善其事,必先利其器。本文介绍了scikit-learn中常用的数据生成方法,包括make_blobs、make_classification等单标签数据集生成工具。这些方法可以创建不同复杂度的人工数据集,用于分类、聚类等任务测试。并通过可视化展示不同生成器产生的数据分布特点。实际上scikit-learn内置了很多可以用于机器学习的数据,用于 回归任务,这些数据集-线性回归,逻辑回归,SVM支持向量机,随机森林,决策树等大模型等分类,识别和预测,适用于 机器学习算法测试和特征工程研究。

精益求精 1084
上一篇: 人工不智能之sklearn聚类
下一篇: 人工稚能之sklearn数据降维
码洞
博客等级 码龄10年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值