目录

试错

一、读取数据

二、划分数据集

三、对训练集和测试集标准化

四、创建逻辑回归预估器,训练得到模型

五、模型评估

总代码


试错

这里必须要做对缺失数据的处理,否则会报错:

ValueError: could not convert string to float: '?'

所以我们需要进行这一步,缺失数据处理:

# 2、缺失数据处理
data = data.replace(to_replace='?', value = np.nan)
data.dropna(inplace=True)

一、读取数据

# 1、读取数据
column_name=['Sample code number','Clump Thickness','Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion','Single Epithelial Cell Size','Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class']pd.set_option('display.max_columns',1000)        # 设置最大列数
pd.set_option('display.max_rows',1000)           # 设置最大行数data=pd.read_csv('breast-cancer-wisconsin.data', names=column_name)
print(data)

注:为了看到数据的全貌,我对可显示行列做了一个拓展。

pd.set_option('display.max_columns',1000)        # 设置最大列数
pd.set_option('display.max_rows',1000)           # 设置最大行数

处理前的结果:

处理后的结果:

二、划分数据集

训练集舍弃掉首行和末行(编号之类的没有训练价值)

# 3、划分数据集
train = data.iloc[:, 1:-1]
target = data['Class']
train_data, test_data, train_target, test_target = train_test_split(train, target)

三、对训练集和测试集标准化

# 4、标准化(训练集和测试集)
transfer = StandardScaler()
train_data = transfer.fit_transform(train_data)
test_data = transfer.transform(test_data)

四、创建逻辑回归预估器,训练得到模型

# 5、创建逻辑回归预估器
estimator = LogisticRegression()
estimator.fit(train_data, train_target)

逻辑回归预估器训练得到的模型:

查看逻辑回归的回归系数和偏置:

# 查看模型参数:回归系数 和 偏置
print('回归系数:', estimator.coef_)
print('偏置:', estimator.intercept_)

五、模型评估

# 6、模型评估
# 方法一:比对
predict = estimator.predict(test_data)
print(predict==test_target)
# 方法二:计算正确率
score = estimator.score(test_data, test_target)
print('逻辑回归分类正确率为:', score)

总代码

# 逻辑回归:癌症分类
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression# 1、读取数据
column_name=['Sample code number','Clump Thickness','Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion','Single Epithelial Cell Size','Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class']pd.set_option('display.max_columns',1000)        # 设置最大列数
pd.set_option('display.max_rows',1000)           # 设置最大行数data=pd.read_csv('breast-cancer-wisconsin.data', names=column_name)
# print(data)# 2、缺失数据处理
data = data.replace(to_replace='?', value = np.nan)
data.dropna(inplace=True)# 3、划分数据集
train = data.iloc[:, 1:-1]
target = data['Class']
train_data, test_data, train_target, test_target = train_test_split(train, target)
# print(train_data)# 4、标准化(对训练集和测试集标准化)
transfer = StandardScaler()
train_data = transfer.fit_transform(train_data)
test_data = transfer.transform(test_data)
# print(train_data)# 5、创建逻辑回归预估器
estimator = LogisticRegression()
estimator.fit(train_data, train_target)
# print(train_data)# 查看模型参数:回归系数 和 偏置
print('回归系数:', estimator.coef_)
print('偏置:', estimator.intercept_)# 6、模型评估
# 方法一:比对
predict = estimator.predict(test_data)
print(predict==test_target)
# 方法二:计算正确率
score = estimator.score(test_data, test_target)
print('逻辑回归分类正确率为:', score)

机器学习(14)逻辑回归(实战) -- 癌症分析相关推荐

  1. 【机器学习】逻辑回归(LogisticRegression)原理与实战

    文章目录 前言 一.什么是逻辑回归 1.1 逻辑回归基础概念 1.2 逻辑回归核心概念 二.逻辑回归Demo 2.1 数据准备 2.2 创建逻辑回归分类器 2.3 分类器预测 三.逻辑回归实战 3.1 ...

  2. 《人工智能》机器学习 - 第5章 逻辑回归(二 二元逻辑回归实战)

    5.2二元逻辑回归实战 5.2.1二元逻辑回归简单实例 首先看看数据吧. 随机的一些数据,这是一个二分问题的数据.先导入数据.Python代码如下. """ 函数说明:读 ...

  3. 《人工智能》机器学习 - 第5章 逻辑回归(四 多元逻辑回归实战)

    5.4多元逻辑回归实战 5.4.1多元逻辑回归实战之预测病马的死亡率 本次实战内容,将使用Logistic回归来预测患疝气病的马的存活问题.原始数据集下载地址: http://archive.ics. ...

  4. 机器学习:逻辑回归(logistics regression)

    title: 机器学习:逻辑回归(logistics regression) date: 2019-11-30 20:55:06 mathjax: true categories: 机器学习 tags ...

  5. sklearn分类器算法:逻辑回归及案例分析

    分类算法之逻辑回归 逻辑回归(Logistic Regression),简称LR.它的特点是能够是我们的特征输入集合转化为0和1这两类的概率.一般来说,回归不用在分类问题上,因为回归是连续型模型,而且 ...

  6. 传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例

    传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例 文章目录 传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例 1导入基本库 2读取数据并且变换类型 3输出数据 4可视化数据 ...

  7. 【机器学习】逻辑回归原理介绍

    [机器学习]逻辑回归原理介绍 [机器学习]逻辑回归python实现 [机器学习]逻辑回归sklearn实现 Logistic 回归模型是目前广泛使用的学习算法之一,通常用来解决二分类问题,虽然名字中有 ...

  8. python 线性回归 约束_PyTorch线性回归和逻辑回归实战示例

    线性回归实战 使用PyTorch定义线性回归模型一般分以下几步: 1.设计网络架构 2.构建损失函数(loss)和优化器(optimizer) 3.训练(包括前馈(forward).反向传播(back ...

  9. 机器学习_2逻辑回归

    机器学习_逻辑回归 分类问题 二分类--Sigmoid函数 Sigmoid函数代码实现 逻辑回归 数学原理 求解方式 正则化 逻辑回归数据集应用样例--代码实现 样例1:有清晰的线性决策边界 决策边界 ...

  10. autoReg | 自动线性和逻辑回归和生存分析

    autoReg | 自动线性和逻辑回归和生存分析 autoReg可以制作描述性统计汇总表,在各种回归模型中自动选择解释变量.支持线性模型.广义线性模型和环比例风险模型.生成可发表的回归分析结果汇总表和 ...

最新文章

  1. SAP Retail MM41 维护商品主数据,报错 - 估价范围 NM01 还没有生产式的物料帐簿 – 之对策
  2. 八大操作系统掌门人齐聚 1024 程序员节,千年岳麓见证开源新时代
  3. 五种常见的 PHP 设计模式
  4. 八、日志分析系统Nginx,Beats,Kibana和Logstash
  5. 计算机网络可被理解为( )
  6. [html] table中给td设置宽度无效怎么解决?
  7. kali卸载firefox_kali 安装最新firefox的悲惨经历
  8. MySQL索引、事物
  9. MySQL实现类似Oracle的序列
  10. 计算机组成原理 第六章 总线
  11. ora-00119和ora-00132解决方案
  12. 你所不知道的 AI 进展
  13. uefi legacy linux知乎,【U盘工具】制作纯净万能“便携系统+pe维护”双系统U盘——UEFI与Legacy双启动...
  14. 在线坐标系经纬度转换工具
  15. 【高级篇 / DNS】(7.0) ❀ 04. FortiGuard 动态 DNS (DDNS) ❀ FortiGate 防火墙
  16. MAC通过HDMI转VGA转接头连接显示器
  17. webstorm下载与激活
  18. html5 中input type=‘file’实现文件图片等的上传的文件类型限制
  19. mysql语句总结_mysql语句总结
  20. ESD与压敏电阻的性能对比

热门文章

  1. Java List与ArrayList 的区别(List list =new Arraylist(); ArrayList<String> arrayList = new ArrayList())
  2. onAttach 显示过时的处理方法
  3. java自增运算符与自减运算符
  4. android 图片压缩方法分析
  5. 线段树——HDU - 1698
  6. 博客非100%原创,在学习道路上,我一直站在别人肩上
  7. Linux 忘记登录密码?破解系统登陆密码
  8. 【转载】Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?
  9. mysql 批量更新数据类型
  10. Linux 中FTP服务的应用(安装配置)