机器学习中分类规则模型的表达和应用,将分类模型(规则分类器或决策树分类器)用程序语言表达。实验用例:下面的表数据是动物实际类别数据,即训练样本。

图片复制掉了

根据此数据,通过机器学习的某种算法产生了包含5条分类规则的规则集: R1: (Give Birth = no) (Can Fly = yes) ⟹ Birds
R2: (Give Birth = no) (Live in Water = yes) ⟹ Fishes
R3: (Give Birth = yes) (Blood Type = warm) ⟹ Mammals
R4: (Give Birth = no) (Can Fly = no) ⟹ Reptiles
R5: (Live in Water = sometimes) ⟹ Amphibians
此规则集是有序规则集,即R1>R2>R3>R4>R5。
该规则集的使用办法,对未知动物A的分类如下:
(1)如果规则前件被A触发,则A被分类为该条规则的后件类别;
(2)如果A触发多条规则,则按规则的排序,由先触发的规则后件决定此动物的类别;
(3)如果A不能触发任何一条规则,则A被分类为默认类别(Mammals) 。
【实验原理和方法】
(1)将动物用结构体”struct Animal”描述。
struct Animal
{
char name[30];
char bloodType;
char giveBirth;

}; 注:结构体Animal的属性除name外全部为char类型,其值为上表中值字符串的首字母,也就是,比如:
struct Animal eagle;
eagle.bloodType = ‘w’;
eagle.giveBirth=‘n’
(2) 将规则集用函数”void ClassifyAnimal(struct Animal animal)”实现,在函数内直接用printf输出动物的类别。
(3)要求程序判断下面的三个动物类别。

图片2.png

输入格式:
输入依次为:name,bloodType,giveBirth,canFly,liveInWater。以空格分隔

输出格式:
输出该动物的名称和类别。

输入样例:
在这里给出一组输入。例如:

lemur w y n n
输出样例:
在这里给出相应的输出。例如:

lemur is Mammals

#include<iostream>
#include<string>using namespace std;class Animal{public:string name;char bloodType;char giveBirth;char canFly;char liveInWater;Animal(string name,char b,char g,char c,char l){this->name=name;bloodType=b;giveBirth=g;canFly=c;liveInWater=l;}
};bool R1(Animal a){if(a.giveBirth=='n' && a.canFly=='y') return true;return false;
}bool R2(Animal a){if(a.giveBirth=='n' && a.liveInWater=='y') return true;return false;
}bool R3(Animal a){if(a.giveBirth=='y' && a.bloodType=='w') return true;return false;
}bool R4(Animal a){if(a.giveBirth=='n' && a.canFly=='n') return true;return false;
}bool R5(Animal a){if(a.liveInWater=='s') return true;return false;
}void classify_animal(Animal a){if(R1(a)){cout<<a.name<<" is Birds";return;}else if(R2(a)){cout<<a.name<<" is Fishes";return;}else if(R3(a)){cout<<a.name<<" is Mammals";return;}else if(R4(a)){cout<<a.name<<" is Reptiles";return;}else if(R5(a)){cout<<a.name<<" is Amphibians";return;}else {cout<<a.name<<" is Mammals";return;}
}int main(){string name;char b,g,c,l;cin>>name;cin>>b;cin>>g;cin>>c;cin>>l;Animal animal(name,b,g,c,l);classify_animal(animal);system("pause");return 0;
}

今天和朋友研究了一种取巧的代码

#include<iostream>
using namespace std;struct Animal
{char name[30];char bllodType;char giveBirth;char canFly;char liveInWater;
};int main()
{Animal a;cin >> a.name;cin >> a.bllodType;cin >> a.giveBirth;cin >> a.canFly;cin >> a.liveInWater;if(a.bllodType=='w'&&a.giveBirth=='y'&&a.canFly=='n'&&a.liveInWater=='n')cout << a.name << " is " << "Mammals" ;if(a.bllodType=='c'&&a.giveBirth=='n'&&a.canFly=='n'&&a.liveInWater=='s')cout << a.name << " is " << "Reptiles" ;if(a.bllodType=='c'&&a.giveBirth=='y'&&a.canFly=='n'&&a.liveInWater=='y')cout << a.name << " is " << "Mammals" ;return 0;
}

因为系统只输入代码判定答案,所以可以这么简单。
这里直说一下为啥shark是mammals,因为根据题目r1 r2 r3 r4 r5的判定顺序集,所以shark是。。。。

动物分类name,bloodType,giveBirth,canFly,liveInWater相关推荐

  1. 动物数据集+动物分类识别训练代码(Pytorch)

    动物数据集+动物分类识别训练代码(Pytorch) 目录 动物数据集+动物分类识别训练代码(Pytorch) 1. 前言 2. Animals-Dataset动物数据集说明 (1)Animals90动 ...

  2. python 动物分类_动物分类及图片.doc

    动物分类及图片 动物的分类爬行类动物.飞禽类动物.哺乳类动物.昆虫类动物.家禽类动物.鱼类动物.食肉类动物. 爬行类动物:蛇 蜥蜴蛇 蜥蜴 壁虎 .龟.鳖.鳄鱼等 属于脊椎动物亚门.它们的身体构造和生 ...

  3. 人工智能Java SDK:动物分类识别

    动物分类识别SDK 动物识别sdk,支持7978种动物的分类识别. SDK功能 支持7978种动物的分类识别,并给出置信度. 提供两个可用模型例子 1). 大模型(resnet50)例子:Animal ...

  4. python 动物分类_动物分哪六大类

    展开全部 动物分类学家根据动物的各种特征(形态.细胞.遗传.生理.生态和地e69da5e887aa62616964757a686964616f31333431346439理分布等)进行分类,将动物依次 ...

  5. python 动物分类_动物有哪些分类?

    展开全部 动物的分类中e68a8462616964757a686964616f31333366306437爬行类动物.飞禽类动物.哺乳类动物.昆虫类动物. 家禽类动物.鱼类动物.食肉类动物相关介绍如下 ...

  6. python 动物分类_动物分类及图片

    1 动物的分类 爬行类动物. 飞禽类动物. 哺乳类动物. 昆虫类动物. 家禽类动物. 鱼类动物. 食肉类动物. 爬行类动物 : 蛇 蜥蜴 蛇 蜥蜴 壁虎 .龟.鳖.鳄鱼 等 属于脊椎动物亚门.它们的身 ...

  7. 卷积神经网络pytorch_使用PyTorch和卷积神经网络进行动物分类

    卷积神经网络pytorch 介绍 (Introduction) PyTorch is a deep learning framework developed by Facebook's AI Rese ...

  8. python 动物分类_python入门学习之knn分类

    分类属于监督学习的一种,指的是从数据中选出已经分类好的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类的分析方法.比如判断一副图片上的动物是狗还是猫,就属于分类问题 ...

  9. python 动物分类_《python深度学习》笔记---5.3-1、猫狗分类(使用预训练网络)

    <python深度学习>笔记---5.3-1.猫狗分类(使用预训练网络) 一.总结 一句话总结: [小型图像数据集]:想要将深度学习应用于小型图像数据集,一种常用且非常高效的方法是使用预训 ...

最新文章

  1. mysql 优先队列_深入浅出 MySQL 优先队列(你一定会踩到的order by limit 问题)
  2. 1018 Public Bike Management (30 分) 【难度: 难 / 知识点: 图论 最短路 图的遍历】
  3. java如何把查到的对象集合放入 展示对象list中_Java面试整理-基础篇8.集合1
  4. 【JUC系列】Future异步回调模式
  5. LeetCode之字符串(C++)的切割简单实现
  6. 转:mysql group by 用法解析(详细)
  7. 原生的html组件,如何创建HTML5与原生UI组件混合的移动应用程序
  8. js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能
  9. php ajax loading图片居中显示,PHP语言入门之PHP+ajax实现登录按钮加载loading效果
  10. 【数据分析】脑图简介数据分析
  11. 交换机虚拟化和堆叠的区别_交换机级联与堆叠有何区别
  12. java 快逸报表_报表展现输出 | 快逸报表工具 java报表软件
  13. Windows下本地安装SVN客户端
  14. 史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!
  15. 玩转BIOS与注册表
  16. 空间换时间的数据结构问题
  17. 关于浏览器无法访问宝塔控制面板解决方法
  18. 如何使用加速度计实现倾斜角度计算
  19. PM如何写好产品需求文档
  20. QComboBox选项置灰、不可选择、文本颜色(汉字颜色)

热门文章

  1. FormatFactory3.zip 格式工厂(视频格式转换avi-mpg) live555 media server need mpg,vlc
  2. SAP UI5 应用开发教程之一百零三 - 如何在 SAP UI5 应用中消费第三方库试读版
  3. 华为v30pro计算机在哪里,请问V30PRO的数据怎么转到电脑上
  4. 暗黑服务器如何修改爆率,暗黑2单机版如何调整可以提高极品装备的爆 – 手机爱问...
  5. 中科院发布《2019人工智能发展白皮书》,强调人工智能开放平台重要性(结尾附下载)...
  6. matmul和mul的区别
  7. JAVASE常用代码-自用qjm
  8. 2021 Lifelong learning(李宏毅
  9. 山石网科防火墙DNAT常见问题基础排查
  10. (附源码)计算机毕业设计SSM智慧后勤app