附源码|paddle paddle实现鸢尾花分类

使用paddleclas构建一个简单的分类算法 一个基于paddleclas框架下的分类任务初步尝试。 阅读详情

本文是基于百度的paddle paddle实现经典数据集莺尾花分类问题,采用的是SVM算法。

import numpy as np
from matplotlib import colors 
from sklearn import svm
from sklearn.svm import SVC
from sklearn import model_selection
import matplotlib.pyplot as plt
import matplotlib as mpl
#*************将字符串转为整型,便于数据加载***********************
def iris_type(s):
    it = {b'Iris-setosa':0, b'Iris-versicolor':1, b'Iris-virginica':2}
    return it[s]
#**************并判断a b是否相等,计算acc的均值*************
def show_accuracy(a, b, tip):
    acc = a.ravel() == b.ravel()
    print('%s Accuracy:%.3f' %(tip, np.mean(acc)))
def print_accuracy(clf,x_train,y_train,x_test,y_test):
    #分别打印训练集和测试集的准确率  score(x_train,y_train):表示输出x_train,y_train在模型上的准确率
    print('trianing prediction:%.3f' %(clf.score(x_train, y_train)))
    print('test data prediction:%.3f' %(clf.score(x_test, y_test)))
     #原始结果与预测结果进行对比   predict()表示对x_train样本进行预测,返回样本类别
    show_accuracy(clf.predict(x_train), y_train, 'traing data')
    show_accuracy(clf.predict(x_test), y_test, 'testing data')
    #计算决策函数的值,表示x到各分割平面的距离
    print('decision_function:\n', clf.decision_function(x_train))
def draw(clf, x):
    iris_feature = 'sepal length', 'sepal width', 'petal lenght', 'petal width'
    # 开始画图
    x1_min, x1_max = x[:, 0].min(), x[:, 0].max()               #第0列的范围
    x2_min, x2_max = x[:, 1].min(), x[:, 1].max()               #第1列的范围
    x1, x2 = np.mgrid[x1_min:x1_max:200j, x2_min:x2_max:200j]   # 生成网格采样点
    grid_test = np.stack((x1.flat, x2.flat), axis=1)            # 测试点
    print('grid_test:\n', grid_test)
    # 输出样本到决策面的距离
    z = clf.decision_function(grid_test)
    print('the distance to decision plane:\n', z)
    
    grid_hat = clf.predict(grid_test)                           # 预测分类值 得到【0,0.。。。2,2,2】
    print('grid_hat:\n', grid_hat)  
    grid_hat = grid_hat.reshape(x1.shape)                       # reshape grid_hat和x1形状一致
                                                                #若3*3矩阵e,则e.shape()为3*3,表示3行3列   
 
    cm_light = mpl.colors.ListedColormap(['#A0FFA0', '#FFA0A0', '#A0A0FF'])
    cm_dark = mpl.colors.ListedColormap(['g', 'b', 'r'])
 
    plt.pcolormesh(x1, x2, grid_hat, cmap=cm_light)                                   # pcolormesh(x,y,z,cmap)这里参数代入
                                                                                      # x1,x2,grid_hat,cmap=cm_light绘制的是背景。
    plt.scatter(x[:, 0], x[:, 1], c=np.squeeze(y), edgecolor='k', s=50, cmap=cm_dark) # 样本点
    plt.scatter(x_test[:, 0], x_test[:, 1], s=120, facecolor='none', zorder=10)       # 测试点
    plt.xlabel(iris_feature[0], fontsize=20)
    plt.ylabel(iris_feature[1], fontsize=20)
    plt.xlim(x1_min, x1_max)
    plt.ylim(x2_min, x2_max)
    plt.title('svm in iris data classification', fontsize=30)
    plt.grid()
    plt.show()
#**********************SVM分类器构建*************************
def classifier():
    clf = svm.SVC(C=0.8, kernel='rbf', gamma=0.1, decision_function_shape='ovo')# 高斯核
    # clf = svm.SVC(C=0.5,                         #误差项惩罚系数
    #               kernel='linear',               # 线性核 kenrel="rbf":高斯核
    #               decision_function_shape='ovr') #决策函数
    return clf
#***********************训练模型*****************************
def train(clf,x_train,y_train):
    clf.fit(x_train,         #训练集特征向量
            y_train.ravel()) #训练集目标值
#***********************主程序*****************************
# 1.数据准备
# 1.1加载数据
data = np.loadtxt('/home/aistudio/data/data5423/iris.data', #数据文件路径
                  dtype=float,                              #数据类型
                  delimiter=',',                            #数据分隔符
                  converters={4:iris_type})                 #将第5列使用函数iris_type进行转换
# 1.2数据分割
x, y = np.split(data,                                       #数组数据
                (4,),                                       #第5列开始往后为y
                axis=1)                                     #代表纵向分割,按列分割
x = x[:, :2]
x_train,x_test,y_train,y_test=model_selection.train_test_split(x,              #被划分的样本特征集
                                                               y,              #被划分的样本标签
                                                               random_state=1, #随机数种子
                                                               test_size=0.3)  #测试样本占比
# print(x_train)
# print(y_train)
# 2.定义模型:SVM模型定义
clf = classifier()
# 3.训练模型
train(clf,x_train,y_train)
# 4.模型评估
print_accuracy(clf,x_train,y_train,x_test,y_test)
# 5.模型使用
draw(clf,x)

分类结果:
在这里插入图片描述

机器学习:鸢尾花iris二分类和手写数字识别mnist二分类 # 导包 import numpy as np from sklearn import datasets from sklearn.model_selection import train_test_split from machine_learing.lib.logistic_regression_gd import LogisticRegression import machine_learing.lib.metrics as metrics 没有导入需要的包,可以定义成函数的形式 import nu 阅读详情

相关推荐

python导入鸢尾花数据集,使用主成分分析函数对鸢尾花数据集降维数据集和原始数据集分别进行线性判别比较分析的准确率

一、实验目的 1、复习主成分分析的原理和算法 2、使用sklearn库函数实现对鸢尾花数据集的主成分分析,观察主成分分析的作用 3、(选做)解读基于主成分分析和支持向量机的人脸识别程序 二、实验步骤 1、导入鸢尾花数据集,查看数据分布情况: 选取三个特征查看数据分布情况 选取两个特征查看数据分布情况 2、使用主成分分析函数对鸢尾花数据集降维 3、对降维后的数据集和原始数据集分别进行线性判别分析,比较分析的准确率 4、(选做)使用数值计算方法实现步骤2,深入了解主成分分析的实现过程 三、实验结果与讨论 1、简单清楚的叙述主成分分析的过程 2、绘制人脸识别程序的流程框图

鸢尾花分类(主成分分析)

import numpy as np from matplotlib import colors from sklearn import svm from sklearn.svm import SVC from sklearn import model_selection import matplotlib.pyplot as plt import matplotlib as mpl #对数据进行处理 data_path='D:\pytho

weixin_43887564的博客 1452

实验五 循环结构第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断第4关:通过数列求自然常数e第5关:双倍余额递减法计算固定资产折旧第6关:销售统计第7关:投资年限计算

第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断 第4关:通过数列求自然常数e 第5关:双倍余额递减法计算固定资产折旧

pro_daily的博客 8170

(4) 特征降维:主成分分析PCA和奇异值分解SVD

到现在,我们已经完成了对PCA的讲解。我们讲解了重要参数参数n_components,svd_solver,random_state, 讲解了三个重要属性:components_, explained_variance_以及explained_variance_ratio_,无数次用到了接口fit,transform,fit_transform,还讲解了与众不同的重要接口inverse_transform。

m0_56676945的博客 732

孤读paper——《GhostNet:More Features from Cheap Operations》

《GhostNet:More Features from Cheap Operations》   发现一个点并解决就是一篇CVPR,该文章主要发现了优秀的网络的特点是feature map提取过程中的冗余性,这种冗余性体现在很多成对的feature map间很像,就好像彼此的“ghost”,而这种特征冗余性对于理解图像来说还是必要的,所以文章把feature map分为两种,一种是本质特征,一...

雄关漫道真如铁 而今迈步从头越 5151

SAP ABAP实战:用BAPI_PO_CREATE1创建采购订单时,如何巧妙处理PBXX和PB00条件类型?

本文深入探讨了在SAP ABAP开发中使用BAPI_PO_CREATE1创建采购订单时,如何有效处理PBXX和PB00条件类型的难题。通过分析外协加工订单的特殊需求,提供了从问题定位到解决方案的全流程方法,包括数据流向追踪、字段控制策略和增强实现方案,帮助开发者解决条件类型自动生成的业务痛点。

weixin_30614109的博客 824

sklearn实战之降维算法PCA与SVD

四、sklearn中的降维算法PCA和SVD 1、sklearn中的降维算法 sklearn中降维算法都被包括在模块decomposition中,这个模块本质是一个矩阵分解模块。在过去的十年中,如果要讨论算法进步的先锋,矩阵分解可以说是独树一帜。矩阵分解可以用在降维,深度学习,聚类分析,数据预处理,低纬度特征学习,推荐系统,大数据分析风领域中。在2006年,Netflix举办了一个奖金为100万美元的推荐系统算法的比赛,最后的获奖者就使用了矩阵分解中的明星:SVD分解(奇异值分解)。 类 说明

LitraLIN的博客 4356

半导体测试(一)

探针台是一种用于在晶圆上进行配合探针卡进行电路量测的设备,在测试过程中,探针工作站会将探针与晶圆上的每个die进行接触,以进行电性测量。在这个过程中,每个die都被测试以确保它能基本满足器件的特征或设计规格书(Specification),通常包括电压、电流、时序和功能的验证。晶圆是一个圆形的硅片,在这个半导体的基础之上,建立了许多独立的单个的电路;在所有的die都被探测(Probed)之后,晶圆被切割成独立的dice,这就是常说的die saw,所有被标示为失效的die都被报废,。

m0_37606066的博客 8435

paddlepaddle-DNN实现鸢尾花分类任务

paddlepaddle实现鸢尾花分类任务1. 前期准备2. 导入包3. 数据预处理4. Data Reader5. 网络结构6. 训练6.1 运行效果6.2 导出模型的说明7. 预测实验7.1 预测结果与GroundTruth的比较8. 导出权重 1. 前期准备 首先先准备鸢尾花的数据集,csv数据集下载地址 paddlepaddle选用版本为1.8 2. 导入包 from __future__ import print_function import paddle import paddle.fluid

P_Leung的技术博客 1495

从技术债红线到系统治理:透视 SAP Clean Core 中的 Level D

SAP推出的Clean Core分级体系将扩展风险划分为A到D四个等级,其中Level D代表最高风险类别,涉及直接修改标准代码、隐式增强、使用noAPI对象等不被推荐的做法。这些做法虽然短期见效快,但会带来升级冲突、数据完整性风险等长期问题。SAP强调治理重点不是完全消除经典ABAP,而是优先清理Level D对象,逐步向稳定接口迁移。典型案例显示,依赖内部细节的扩展往往在系统升级或云迁移时集中暴露出问题。企业应通过工具链持续监控Level D占比,将其纳入技术债管理范畴。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1065

【数据分析】比较SparCC、Pearson和Spearman相关性估计方法在合成组学数据上的表现

【数据分析】比较SparCC、Pearson和Spearman相关性估计方法在合成组学数据上的表现

专注生信领域 662

【新手入门】课程2-机器学习入门实践-鸢尾花分类

任务描述: 构建一个模型,根据鸢尾花的花萼和花瓣大小将其分为三种不同的品种。 数据集 总共包含150行数据 每一行数据由 4 个特征值及一个目标值组成。 4 个特征值分别为:萼片长度、萼片宽度、花瓣长度、花瓣宽度 目标值为三种不同类别的鸢尾花,分别为: Iris Setosa、Iris Versicolour、Iris Virginica 首先导入必要的包: numpy:p...

PaddlePaddle 3387

五步教你用GPT-5画出国自然技术路线图!轻松节省80%画图时间(附AI提示词)

七哥给大家推荐的高校都在用的AI平台——高级学术版专业应用平台,集成了ChatGPT、Claude、Gemini、Grok等Al大模型的PLUS版本平台,包括 ChatGPT-5、4o、o3、4.1、4.5、Gemini 2.5 Pro、Claude 3.7、Claude 4、DeepSeek 满血版、Grok 3 、Grok 4等原生线路,还有国际主流的GPTs学术应用,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。

智能AI让学术科研更容易 1503

【paddlepaddle】鸢尾花分类

利用 paddlepaddle 对鸢尾花数据集进行分类

知秋的博客 653

【Altium designer】如何添加过孔阵列

按下图1指示,执行【Tool】菜单栏下【Via Stitching/Shielding】选项卡中的【Add Stitching to Net...】选项 图1 “添加过孔阵列”选项 点击【Add Stitching to Net...】选项后,会跳出一个窗口,让我们设置过孔阵列的参数信息,如下图2所示。 图2 过孔阵列参数设置 过孔阵列区域:勾选该选项框,即可绘制多边形区域; 过孔内径与焊盘直径:比如内径 【Hole Size】设为12mil,焊盘直径【Diameter】设为24mil; .

夜半少年的博客 2万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

主成分分析应用实例(Matlab):鸢尾花分类

主成分分析技术应用实例

刘广隶的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

我与数据科学 - [Today is Matplotlib] - [plt随用笔记]

在matplotlib上如何输出中文的一般步骤: mpl.rcParams['font.sans-serif'] = [u'SimHei'] mpl.rcParams['axes.unicode_minus'] = False     设置colormap的一般写法: cm_light = mpl.colors.ListedColormap(['#A0FFA0', '...

weixin_43409627的博客 216

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习第四节-SVM

点到平面的距离公式,借助了向量和法向量进行相关求解。要大的,要最宽的道路才能行动的更快,更不容易踩雷。将两组数据划分开,怎么样的决策边界才会更好呢?SVM分类问题,找决策边界,把数据进行划分开。目的:找到一条线,使得离该线最近的点能够最远。KNN分类问题,离哪些点较近,就归哪一类。要小的,要考虑离自己最近的雷才最安全。是先找支持向量,还是先找决策边界呢?支持向量是要大的,还是要小的?1.距离计算(点到平面的距离)3.构建SVM分类器,训练函数。4.初始化分类器实例,训练模型。决策边界是要大的还是小的?

qq_14809847的博客 1633

python鸢尾花分类svm测试集_使用SVM对鸢尾花分类

使用SVM对鸢尾花分类百度AI Studio中的一个入门项目,增加了自己在实践时的一些注释,对小白来说阅读更顺畅。源码和数据在github上。任务描述:构建一个模型,根据鸢尾花的花萼和花瓣大小将其分为三种不同的品种。数据集总共包含150行数据每一行数据由 4 个特征值及一个目标值组成。4 个特征值分别为:萼片长度、萼片宽度、花瓣长度、花瓣宽度目标值为三种不同类别的鸢尾花,分别为: Iris Set...

weixin_39892481的博客 1930

NNDL 实验五 前馈神经网络(3)鸢尾花分类

NNDL 实验五 前馈神经网络(3)鸢尾花分类

m0_73478739的博客 541

K邻居算法进行鸢尾花分类项目

K邻居算法进行鸢尾花分类概述“K邻居算法进行鸢尾花分类”项目是一个基于机器学习的应用,旨在使用K最近邻(K-Nearest Neighbors, KNN)算法对鸢尾花数据集进行分类。该项目展示了如何通过KNN算法准确地识别和分类不同种类的鸢尾花,包括山鸢尾、变色鸢尾和维吉尼亚鸢尾。项目背景鸢尾花数据集是机器学习领域中最著名的数据集之一,常用于入门级教学和算法验证。该数据集包含150个样本,每个样本包含4个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度。基于这些特征,样本被分为三个鸢尾花种类。技术实现。

极光喵的博客 1056

pip下载paddle、sklearn、cv2问题

pip下载paddle、sklearn、cv2问题

gqrblnp的博客 823

机器学习计算一元一次和二元一次方程的系数(sklearn和paddle)

已知一组数据x array([[1], [2], [3], [4], [5], [6], [7], [8], [9]]) 对应y array([[10], [20], [30], [40], [50], [60]...

xdreamman的博客 1115

[Paddle2.0学习之第二步]实现图像分类

[Paddle2.0学习之第二步]实现图像分类 文章目录[Paddle2.0学习之第二步]实现图像分类经典五步:1. 导包2. 处理数据3. 创建模型4. 优化准备5. 训练总结 本案例通过Cifer10数据集进行举例,十几行代码完成图像分类 项目放置在AIstudio平台 https://aistudio.baidu.com/aistudio/projectdetail/2102889 经典五步: 1. 导包 # 从paddle.vision.models 模块中import 残差网络,VGG网络,

iterhuiの博客 1827

paddle paddle的NLP信息分类算法

使用paddle把新闻分类 数据是从kaggle 上下的 ,使用自己的分类算法,按照文章的标题,把文章分到不同的频道 # 将句子转换为编码 def get_data(sentence): dict_file_path = os.path.join(data_root_path, dict_file) with open(dict_file_path, "r", encoding="...

识字者的博客 521

svm算法 最通俗易懂讲解

最近在学习svm算法,借此文章记录自己的学习过程,在学习很多处借鉴了z老师的讲义和李航的统计,若有不足的地方,请海涵;svm算法通俗的理解在二维上,就是找一分割线把两类分开,问题是如下图三条颜色都可以把点和星划开,但哪条线是最优的呢,这就是我们要考虑的问题; 首先我们先假设一条直线为 W•X+b =0 为最优的分割线,把两类分开如下图所示,那我们就要解决的是怎么获取这条最优直线呢

追赶者的博客 13万+
上一篇: 试题 入门训练 Fibonacci数列
下一篇: 附源码|paddle paddle实现手写数字识别
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值