机器学习实验二:朴素贝叶斯和SVM——肿瘤分类与预测(朴素贝叶斯)
实操项目 1——肿瘤分类与预测(朴素贝叶斯)
实验要求
实验过程
1.对该题目的理解
本项目是对美国威斯康星州的乳腺癌诊断数据集进行分类,该数据集包括569个病例的数据样本,每个样本具有30个特征值,而样本共分为两类:分别是恶性和良性,我们要利用高斯朴素贝叶斯算法来训练模型,并对该模型进行评估和预测。
2.实现过程
(1)导入包
代码如下:
import numpy as np
import pandas as pd
from sklearn.datasets import load_breast_cancer#导入数据集
from sklearn.model_selection import train_test_split#形成测试集和训练集
from sklearn.model_selection import cross_val_score
from sklearn.metrics import classification_report#导入分类报告模板
from sklearn.naive_bayes import GaussianNB#导入先验概率的高斯朴素贝叶斯模型
(2)导入 sklearn 自带的数据集并输出一些数据
代码如下:
breast_cancer=load_breast_cancer()#导入 sklearn 自带的数据集
print("数据集的主要内容",breast_cancer.keys())#打印数据集键值(keys),查看数据集包含的信息 print("数据集的标签名",breast_cancer.target_names)
print("数据集的特征名",breast_cancer.feature_names)#打印查看数据集中标注好的肿瘤分类(target_names)、肿瘤特征名称 (feature_names)
(3)将数据集拆分为训练集和测试集
代码如下:
#划分数据集
data = pd.DataFrame(breast_cancer.data)
target = pd.DataFrame(breast_cancer.target)
x=np.array(data.values)
y=np.array(target.values)
train_x,test_x,train_y,test_y = train_test_split(x,y,test_size=0.2)
#打印数据形态
print(train_x.shape,test_x.shape)
(4)配置高斯朴素贝叶斯模型并训练模型
代码如下:
model=GaussianNB()#配置高斯朴素贝叶斯模型
model.fit(train_X,train_y)#训练模型
(5)评估模型,打印查看模型评分
代码如下:
#7.评估模型,打印查看模型评分(分别打印训练集和测试集的评分)。
#打印训练集和测试集的评分
print("高斯朴素贝叶斯模型训练集的评分:",model.score(train_X,train_y))
print("高斯朴素贝叶斯模型测试集的评分:",model.score(test_X,test_y))
(6)模型预测:选取某一样本进行预测。(可以进行多次不同样本的预测)
代码如下:
#8.模型预测:选取某一样本进行预测。(可以进行多次不同样本的预测)
pre_y=model.predict(test_X)
# sklearn中的classification_report函数用于显示主要分类指标的文本报告.在报告中显示每个类的精确度,召回率,F1值等信息。
print(classification_report(test_y,pre_y))
3.遇到的问题及解决办法
(1)问题:如何进行模型评估
我习惯用F1分数来评估模型的好坏,它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种调和平均。
实验结果
1.打印数据集键值(keys)以及打印查看数据集中标注好的肿瘤分类(target_names)、肿瘤特征名称(feature_names)
2.将数据集拆分为训练集和测试集,打印查看训练集和测试集的数据形态(shape)。
3.评估模型,打印查看模型评分。
4.模型预测:选取某一样本进行预测
实验总结
1.通过此实验了解了朴素贝叶斯中的高斯朴素贝叶斯算法,学会了如何构建模型,训练模型,评估模型和模型预测。
2.我发现了相比于线性模型算法,朴素贝叶斯算法的效率要高一些,这是因为朴素贝叶斯算法会把数据集中的各个特征看作完全独立的,而不考虑特征之间的关联关系。
机器学习实验二:朴素贝叶斯和SVM——肿瘤分类与预测(朴素贝叶斯)相关推荐
- 机器学习实验之肿瘤分类与预测(朴素贝叶斯)
文章目录 肿瘤分类与预测(朴素贝叶斯) [实验内容] [实验要求] **[数据集]:威斯康星乳腺肿瘤数据集** 导入sklearn自带的数据集:威斯康星乳腺肿瘤数据集(load_breast_canc ...
- 机器学习实验之肿瘤分类与预测(SVM)
文章目录 肿瘤分类与预测(SVM) [实验内容] [实验要求] **[数据集]:威斯康星乳腺肿瘤数据集** 加载data文件夹里的数据集:威斯康星乳腺肿瘤数据集 查看样本特征和特征值,查看样本特征值的 ...
- 机器学习 实验二 男声女声分类
机器学习 实验二 男声女声分类 一.实验环境 PC机,Python 二.代码 #%%import pandas as pd from sklearn.preprocessing import Stan ...
- 肿瘤分类与预测(朴素贝叶斯)
文章目录 实验内容:肿瘤分类与预测(朴素贝叶斯) 实验要求 [数据集]:威斯康星乳腺肿瘤数据集 完整代码 实验内容:肿瘤分类与预测(朴素贝叶斯) 采用朴素贝叶斯方法,对美国威斯康星州的乳腺癌诊断数据集 ...
- Python机器学习实验二:1.编写代码,实现对iris数据集的KNN算法分类及预测
Python机器学习实验二:编写代码,实现对iris数据集的KNN算法分类及预测 1.编写代码,实现对iris数据集的KNN算法分类及预测,要求: (1)数据集划分为测试集占20%: (2)n_nei ...
- 机器学习实验二---决策树python
机器学习实验二---决策树python 一.了解一下决策树吧 决策树基本流程 信息增益 决策树的优缺点 二.数据处理 三.决策树的构建 计算给定数据集的香农熵 按照给定特征划分数据集 选择最好的数据划 ...
- 计算机线性回归实验报告,实验二 一元线性回归模型的估计、检验、预测和应用-学生实验报告...
实验二 一元线性回归模型的估计.检验.预测和应用-学生实验报告 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 飞矢告牌葬秸笆麦蜘 ...
- 肿瘤分类与预测(SVM)
文章目录 实验内容:肿瘤分类与预测(SVM) [实验要求] [数据集]:威斯康星乳腺肿瘤数据集 完整代码 实验内容:肿瘤分类与预测(SVM) 采用SVM方法,对美国威斯康星州的乳腺癌诊断数据集进行分类 ...
- 机器学习算法(三):基于概率论的分类方法:朴素贝叶斯理论与python实现+经典应用(文档分类、垃圾邮件过滤)
算法学习笔记更新,本章内容是朴素贝叶斯,是一个用到概率论的分类方法. 算法简介 朴素贝叶斯是贝叶斯决策的一部分,简单说,就是利用条件概率来完成分类.说起条件概率,猛地一下戳到了笔者的伤口.想当年, ...
最新文章
- 机器学习平台跃迁,AI中台才是大势所趋
- python时间序列指数平滑预测_时间序列分析预测实战之指数平滑法
- hdu1166 线段树
- C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
- 《ASP.NET Core 微服务实战》译者序
- android拦截短信获取短信内容,《英雄联盟手游》先锋测试招募说明:仅安卓用户...
- Python在视频处理上的优势有哪些
- JavaScript文档对象模型概述(1)
- 数据结构上机实践第四周项目6- 循环双链表应用
- 以1敌10不是梦,Spring Boot企业级真实应用案例
- hashmap和hashtable,arraylist和vector的区别
- Linux 修改密码出现“鉴定令牌操作错误”
- PHP服务端 苹果支付(IAP)处理
- 第二篇:关键点检测的两类方法及区别(短文)
- 基于WiFi的Android局域网即时通讯软件
- 【转】论文阅读理解 - Panoptic Segmentation 全景分割
- 有符号和无符号相加(vivo)
- Laravel + Laragon 搭建php项目
- VLAN间如何实现互连?干货奉上!!!
- Intellij IDEA社区版下载与安装教程
热门文章
- java计算机毕业设计树木交易平台源码+系统+数据库+lw文档+mybatis+运行部署
- 机器视觉 · 相机分类及通用参数
- 【Django 027】tinymce富文本框使用详解
- 大数据Flink(四十七):扩展阅读 File Sink
- oracle同一张表卡住很多次,极度诡异的oracle同一张表操作两次的问题
- qq空间个人档html代码,qq空间个人档签名
- PHP连接Mysql数据库查询表中数据
- 六级备考28天|CET-6|翻译井冈山|2021年12月|8:20~9:40+ ~10:17
- ubuntu16.04搭建nfs服务端
- 三核异构,跨界处理新引擎—君正X2000 的跨界能力