分类4:机器学习处理乳腺癌数据集代码

这篇具有很好参考价值的文章主要介绍了分类4:机器学习处理乳腺癌数据集代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 介绍

乳腺癌数据属于二分类问题,包含569条样本,31个特征,1个标签维度。
如果有需要,可以联系:https://docs.qq.com/doc/DWEtRempVZ1NSZHdQ

2 导入常用的工具箱

import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.preprocessing import LabelEncoder
import seaborn as sns
np.random.seed(123)

3 导入数据集

data = pd.read_csv("data.csv")

4 数据探索

4.1 打印数据信息

print(data.shape)
print(data.head())
print(data.describe())
print(data.info)

分类4:机器学习处理乳腺癌数据集代码

4.2 可视化显示

4.2.1 显示相关系数,并可视化

co = data.corr()
plt.subplots(figsize=(8, 8))
sns.heatmap(co.corr().round(2),annot=True)
plt.show()

分类4:机器学习处理乳腺癌数据集代码

4.2.2 显示每个类别的数量

sns.countplot(data['diagnosis'])
plt.show()

分类4:机器学习处理乳腺癌数据集代码

5 数据预处理

5.1 类别标签编码LabelEncoder

data["diagnosis"] = LabelEncoder().fit_transform(data["diagnosis"])
print(data["diagnosis"].head(5))

5.2 剔除id列drop

data.drop(["id"],axis=1, inplace=True)
print(data.columns)

5.3 查看是否有空值isnull

print(data.isnull().sum())

没有空值,不用对空值进行处理

5.4 划分训练集和测试集 train_test_split

from sklearn.utils import shuffle
data = shuffle(data,random_state=123) #打乱样本
x = data.drop(["diagnosis"], axis=1)
y = data["diagnosis"]
X_train, X_test, y_train, y_test = train_test_split(x, y, train_size=0.7, random_state=123)

数据集整体数量:569
训练集集整体数量:398
测试集整体数量:171

5.5 数据归一化MinMaxScaler

scaler = MinMaxScaler()
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)

6 使用多个模型训练和预测

model_list = [KNeighborsClassifier(),SVC(),DecisionTreeClassifier(),RandomForestClassifier()]
for model in model_list:
    model.fit(X_train, y_train)
    y_pred = model.predict(X_test)
    svm_acc = round(accuracy_score(y_test, y_pred), 2)
    print("{}模型精度:{}".format(model, svm_acc))
KNeighborsClassifier()模型精度:0.96
SVC()模型精度:0.98
DecisionTreeClassifier()模型精度:0.94
RandomForestClassifier()模型精度:0.95

7 超参数调优GridSearchCV

  • SCORERS查找评分指标
  • verbose=3才能显示出每次的迭代过程
  • scoring评分标准不一样,得到的结果就会不一样
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import SCORERS

param_grid = {"C": [0.01, 0.1, 1, 10, 100],
              "gamma": [0.0001, 0.001, 0.01, 0.1, 1, 10, 20]}

grid_search = GridSearchCV(SVC(), param_grid, cv=2, verbose=3, scoring="accuracy")
grid_search.fit(X_train, y_train)
print(grid_search.best_score_)
print(grid_search.best_params_)
print(grid_search.score(X_test, y_test))

最后的结果和在测试集上的得分文章来源地址https://www.toymoban.com/news/detail-480013.html

{'C': 1, 'gamma': 1}
0.9766081871345029

到了这里,关于分类4:机器学习处理乳腺癌数据集代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机竞赛 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

    🔥 优质竞赛项目系列,今天要分享的是 基于卷积神经网络的乳腺癌分类 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 乳腺癌是全球第二常见的女性癌症。2012年,它占所有新癌症病例的12%,占所有女

    2024年02月11日
    浏览(55)
  • 文献学习-27-基于连通性感知图Transformer的数字病理图像乳腺癌分类

    Breast Cancer Classification from Digital  Pathology Images via Connectivity-aware GraphTransformer Authors:  Kang Wang, Feiyang Zheng, Lan Cheng, Hong-Ning Dai, Qi Dou, Jing Qin,  Member, IEEE Source: I EEE TRANSACTIONS ON MEDICAL IMAGING (TMI) Keywords:  Tissue connectivity, Tissue topology phe notyping, Graph Transformer, Cancer classification, Entity

    2024年04月12日
    浏览(61)
  • 大数据分析案例-基于LightGBM算法构建乳腺癌分类预测模型

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集

    2024年02月16日
    浏览(54)
  • 机器学习赋能乳腺癌预测:如何使用贝叶斯分级进行精确诊断?

    乳腺癌是女性最常见的恶性肿瘤之一,也会发生在男性身上。每年全球有数百万人被诊断出乳腺癌,对患者的生活和健康造成了巨大的影响。早期的乳腺癌检测和准确的诊断对于提高治疗的成功率至关重要。然而,乳腺癌的早期诊断面临着许多挑战,如复杂的病理学评估和误

    2024年02月12日
    浏览(46)
  • 机器学习之支持向量机(SVM)对乳腺癌数据二分类python实现

    支持向量机(Support Vector Machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。 间隔最大化,就是所有样本点中,离我们分类界限超平面最近的样本点,尽可能的远离超平面。这种思想

    2024年02月03日
    浏览(101)
  • 基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

    《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌ 更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍 感谢小伙伴们点赞、关注! 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】

    2024年04月13日
    浏览(79)
  • 基于逻辑回归实现乳腺癌预测(机械学习与大数据)

    将乳腺癌数据集拆分成训练集和测试集,搭建一个逻辑回归模型,对训练集进行训练,然后分别对训练集和测试集进行预测。输出以下结果: 该模型在训练集上的准确率,在测试集上的准确率、召回率和精确率。

    2024年03月11日
    浏览(43)
  • 基于Swin Transformers的乳腺癌组织病理学图像多分类

    乳腺癌的非侵入性诊断程序涉及体检和成像技术,如乳房X光检查、超声检查和磁共振成像。成像程序对于更全面地评估癌症区域和识别癌症亚型的敏感性较低。 CNN表现出固有的归纳偏差,并且对于图像中感兴趣对象的平移、旋转和位置有所不同。因此,通常在训练CNN模型时

    2024年04月11日
    浏览(45)
  • 基于深度学习的乳腺癌淋巴结转移预测模型(E-Transformer)

    乳腺癌细胞淋巴结转移是界定乳腺癌早中期的重要标准 ,需要活检,患者体验较差。 传统的图像辅助诊断需要手动提取特征、组合图像特征,效率低下、效果不佳。新兴的基于深度学习的图像辅助诊断,利用卷积神经网络通过全连接层或机器学习自动分割病灶、提取图像特

    2024年04月17日
    浏览(43)
  • svm支持向量机、高斯朴素叶贝斯和决策树对威斯康星州乳腺癌(诊断)数据集分析实验

    《机器学习项目实践》实验报告       专业班级:        人工智能2303               学    号:        23055090355                姓    名:         刘嘉成                    指导教师:           黄志伟             实验名称: svm支

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包