乳腺肿瘤预测

  • 案例:良/恶性乳腺肿瘤预测
    • 1.1 简介
    • 1.2 代码
      • 1.2.1 导入数据集
      • 1.2.2 浏览数据的基本信息
      • 1.2.3 查看数据的基本统计信息
      • 1.2.4 统计数据属性中的缺失值
      • 1.2.5 将数据集划分为训练集和测试集
      • 1.2.6 标准化数据
      • 1.2.7 分别用LogisticRegression与SGDClassifier构建分类器
      • 1.2.8 分析LR分类器性能
      • 1.2.9 SGD分类器性能分析

案例:良/恶性乳腺肿瘤预测

1.1 简介

  本案例使用逻辑回归分类器对乳腺肿瘤进行良性/恶性预测,并对预测模型进行指标测算与评价。

  这里数据集采用乳腺癌数据集,原始的数据集下载地址为:https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data。

  数据特征如下:

1.2 代码

  将每个属性的特征量化为1~10的数值进行表示。首先,导入数据并显示前5条数据。

1.2.1 导入数据集

import pandas as pd
import numpy as np
column_names=['number','Cl_Thickness','Unif_cell_size','Unif_cell_shape','Marg_Adhesion','Sing_epith_cell_size','Bare_nuclei','Bland_chromation','Norm_nuclei','Mitoses','Class']
data=pd.read_csv('breast-cancer-wisconsin.data',names=column_names)
display(data.head())

1.2.2 浏览数据的基本信息

data.info()

1.2.3 查看数据的基本统计信息

data.describe()

1.2.4 统计数据属性中的缺失值

data.isnull().sum()

  如果存在缺失数据,需要丢弃或填充。该数据集中并没有缺失值。这里我们采取删除缺失值的方法

data=data.replace(to_replace='?',value=np.nan)
data=data.dropna(how='any')
print(data.shape)

1.2.5 将数据集划分为训练集和测试集

from sklearn.model_selection import train_test_split
# 划分训练集与测试集
X_train,X_test,y_train,y_test=train_test_split(data[column_names[1:10]],data[column_names[10]],test_size=0.25,random_state=33)
print('训练样本的数量和类别分布:\n',y_train.value_counts())

1.2.6 标准化数据

  每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值主导。

from sklearn.preprocessing import StandardScaler
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)
print(X_train.mean())

1.2.7 分别用LogisticRegression与SGDClassifier构建分类器

from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import SGDClassifier
lr=LogisticRegression()
sgdc=SGDClassifier()
lr.fit(X_train,y_train)
lr_y_predict=lr.predict(X_test)
sgdc.fit(X_train,y_train)
sgdc_y_predict=sgdc.predict(X_test)

1.2.8 分析LR分类器性能

from sklearn.metrics import classification_report
print('Accuracy of LR Classifier:',lr.score(X_test,y_test))
print(classification_report(y_test,lr_y_predict,target_names=['Benign','Malignant']))

1.2.9 SGD分类器性能分析

print('Accuracy of SGD Classifier:',sgdc.score(X_test,y_test))
print(classification_report(y_test,sgdc_y_predict,target_names=['Benign','Malignant']))
# print(classification_report(y_test,sgdc_y_predict))

precision 精确率

recall 召回率

f1_score F1值

macro avg 宏观平均值

weighted avg 加权平均值

良/恶性乳腺肿瘤预测(逻辑回归分类器)相关推荐

  1. sklearn逻辑回归案例分析 《良/恶性乳腺癌肿瘤预测》

    由于对逻辑回归等算法做到深刻理解有点难,目前还在学习中,尽管有现成的模型库,我们还是需要对模型的底层实现有一个了解.这里先记录一下如何利用sklearn的LogisticRegression来做一个简 ...

  2. 【机器学习】:sklearn逻辑回归案例分析 《良/恶性乳腺癌肿瘤预测》

    由于对逻辑回归等算法做到深刻理解有点难,目前还在学习中,尽管有现成的模型库,我们还是需要对模型的底层实现有一个了解.这里先记录一下如何利用sklearn的LogisticRegression来做一个简 ...

  3. 《Python machine learning and practice》—— 良\恶性乳腺癌肿瘤预测

    数据集 良\恶性乳腺癌肿瘤预测数据集 代码分析 第三方库文件 from sklearn.linear_model import LogisticRegression #导入sklearn中的逻辑斯蒂回 ...

  4. 《python机器学习及实战》学习笔记ch1之良/恶性乳腺癌肿瘤预测

    1.文章说明 本系列文章都是自己学习<python机器学习及实战>这本书时所做的一些笔记而已,仅为学习作参考. 2.数据集地址: 数据地址是书中给出的数据下载地址: https://pan ...

  5. 【Kaggle笔记】良/恶性乳腺肿瘤数据(线性分类)

    系统环境 win10 Anaconda3 数据集 良/恶性乳腺肿瘤数据集 代码 # -*- coding: utf-8 -*- """ 良/恶性乳腺肿瘤数据线性分类模型对 ...

  6. 一个经典机器学习案例——良/恶性乳腺癌肿瘤预测

    良/恶性乳腺癌肿瘤预测 良/恶性乳腺癌肿瘤预测问题是一个十分经典的机器学习问题,简单来说我们需要利用肿块厚度和细胞尺寸这两个特征来判断肿瘤的类型(良性或者是恶性).数据的下载网站如下:http://n ...

  7. 《Python机器学习及实践:从零开始通往Kaggle竞赛之路》第1章 简介篇 学习笔记(三)“良/恶性乳腺癌肿瘤预测”总结

    目录 "良/恶性乳腺癌肿瘤预测" 1.机器学习的三个关键术语 (1)任务 (2)经验 (3)性能 2.机器学习的学习过程 (1)观察测试集数据分布 (2)初始化二类分类器 (3)训 ...

  8. 良/恶性乳腺癌肿瘤预测

    1. Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数: itertools.count():会创建一个无限的迭代器,只能按Ctrl+C退出 itertools.cycl ...

  9. One_良恶性乳腺癌肿瘤预测

    Author:龙箬 Data Science and Big Data Technology Change the world with data! CSDN@weixin_43975035 每朵云都 ...

最新文章

  1. SQL性能下降原因及Join查询
  2. 解决.Net Core跨域问题
  3. 太赞!Python和Excel终于可以互通了
  4. androidstudio 常用快捷键
  5. 制作新网络框架快速自动生成消息结构体的编辑器
  6. idhttp.post方式 调用datasnap rest 远程方法
  7. mybatis collection_MyBatis之关联查询
  8. impala写入oracle,dataframe 写入 impala 语法错误,怎么解决?
  9. PSD分层电商促销模板|季末大促上演
  10. '__pendingCallbacks[...].async' is null or not an object
  11. 计算机组装与维护李毅,青春力量 | 优秀校友李毅专访
  12. 【电子电路】USB串口驱动下载
  13. [每日一氵]笔记本电脑充电后卡得一批
  14. Matrix使用解析
  15. 英语口语收集(二十五)
  16. java将页面转为pdf和pdf上添加盖章
  17. 手机通讯终端软件硬件测试,浅谈基于SWP方案的近场通信终端测试及其方法探究...
  18. LDAP ObjectClass 详解
  19. TypeScript——Web前端开发的救赎
  20. 初识C语言 二(数据类型、变量和常量)

热门文章

  1. MATLAB绘制概率密度函数
  2. 对不起,其实我是.......
  3. 公司新来一个以前在腾讯拿37K的测试,真是麻雀啄牛腚——雀食牛逼
  4. 通过Arcpy发布地图服务
  5. -bash: /root: 是一个目录
  6. 关于心理学方面的一点看法
  7. 钉钉机器人自动发消息
  8. 166页7万字智慧工厂可视化解决方案
  9. python中的paste deploy
  10. 搜狗输入法 for Mac V6.6.0.13588官方版