机器学习day8

ops/2025/2/7 14:27:04/

自定义数据集 ,使用朴素贝叶斯对其进行分类

代码

python">import numpy as np
import matplotlib.pyplot as pltclass1_points = np.array([[2.1, 2.2], [2.4, 2.5], [2.2, 2.0], [2.0, 2.1], [2.3, 2.3], [2.6, 2.4], [2.5, 2.1]])
class2_points = np.array([[4.0, 3.5], [4.2, 3.9], [4.1, 3.8], [3.7, 3.4], [4.4, 3.6], [4.5, 3.7], [4.3, 3.9]])X = np.concatenate((class1_points, class2_points), axis=0)
Y = np.concatenate((np.zeros(len(class1_points)), np.ones(len(class2_points))), axis=0)
print(Y)prior_prob = [np.sum(Y == 0) / len(Y), np.sum(Y == 1) / len(Y)]class_μ = [np.mean(X[Y == 0], axis=0), np.mean(X[Y == 1], axis=0)]
class_cov = [np.cov(X[Y == 0], rowvar=False), np.cov(X[Y == 1], rowvar=False)]def pdf(x, mean, cov):n = len(mean)coff = 1 / (2 * np.pi) ** (n / 2) * np.sqrt(np.linalg.det(cov))exponent = np.exp(-(1 / 2) * np.dot(np.dot((x - mean).T, np.linalg.inv(cov)), (x - mean)))return coff * exponentxx, yy = np.meshgrid(np.arange(0, 5, 0.05), np.arange(0, 5, 0.05))
grid_points = np.c_[xx.ravel(), yy.ravel()]grid_label = []
for point in grid_points:poster_prob = []for i in range(2):likelihood = pdf(point, class_μ[i], class_cov[i])poster_prob.append(prior_prob[i] * likelihood)pre_class = np.argmax(poster_prob)grid_label.append(pre_class)plt.scatter(class1_points[:, 0], class1_points[:, 1], c="blue", label="class 1")
plt.scatter(class2_points[:, 0], class2_points[:, 1], c="red", label="class 2")
plt.legend()grid_label = np.array(grid_label)
pre_grid_label = grid_label.reshape(xx.shape)
contour = plt.contour(xx, yy, pre_grid_label, level=0.5, color='green')plt.show()

效果


http://www.ppmy.cn/ops/156457.html

相关文章

配置@别名路径,把@/ 解析为 src/

路径解析配置 webpack 安装 craco npm i -D craco/craco 项目根目录下创建文件 craco.config.js ,内容如下 const path require(path) module.exports {webpack: {// 配置别名alias: {// 约定: 使用 表示src文件所在路径: path.resolve(__dirname,src)…

不同数据库与 WebGL 集成

一、引言 在当今数字化时代,数据可视化是一个关键需求,而 WebGL(Web Graphics Library)为在网页上实现高性能 3D 图形渲染提供了强大的工具。然而,WebGL 本身无法直接与数据库进行交互,为了将数据库中的数…

Ubuntu安装OpenSSF Scorecard

OpenSSF Scorecard 是用于评估开源项目安全状况的工具。在 Ubuntu 18.04.6 LTS 系统上安装 OpenSSF Scorecard,可按以下步骤进行: 1. 安装依赖软件 在安装 Scorecard 之前,需要确保系统已经安装了一些必要的依赖项,包括 git、cu…

绿联NAS安装cpolar内网穿透工具实现无公网IP远程访问教程

文章目录 前言1. 开启ssh服务2. ssh连接3. 安装cpolar内网穿透4. 配置绿联NAS公网地址 前言 本文主要介绍如何在绿联NAS中使用ssh远程连接后,使用一行代码快速安装cpolar内网穿透工具,轻松实现随时随地远程访问本地内网中的绿联NAS,无需公网…

IEC60825测试流程与报告测试什么内容IEC60825怎么判定是否合格呢?

IEC60825就是激光产品的测试标准,国际标准的测试报告,有CNAS资质的哦 IEC60825-12014版本 激光模块的测试比较简单,基本的是激光等级符合要求。 激光模块做IEC60825需要的样品每个型号2PCS带一个驱动电源 IEC60825-12014关联的关键词&…

DeepSeek-R1 本地电脑部署 Windows系统 【轻松简易】

本文分享在自己的本地电脑部署 DeepSeek,而且轻松简易,快速上手。 这里借助Ollama工具,在Windows系统中进行大模型部署~ 1、安装Ollama 来到官网地址:Download Ollama on macOS 点击“Download for Windows”下载安装包&#x…

UE5 蓝图学习计划 - Day 12:存储与加载

在游戏开发中,存储(Save)与加载(Load) 系统至关重要,玩家需要能够保存游戏进度、角色状态、道具数据等信息,并在下次启动游戏时恢复它们。UE5 提供了 SaveGame 蓝图类,帮助开发者快速…

蓝桥杯试题:排序

一、题目大意 输入一个数字n&#xff08;n<1e5&#xff09;&#xff0c;然后输入一个长度为n的数组 an&#xff08;-1e9<ai<1e9&#xff09; 请你输出出现频率最大的数&#xff0c;如果有多个数频率最大&#xff0c;按从小到大依次输出。 示例1&#xff1a; 输入5 …