机器学习(14)逻辑回归(实战) -- 癌症分析
目录
试错
一、读取数据
二、划分数据集
三、对训练集和测试集标准化
四、创建逻辑回归预估器,训练得到模型
五、模型评估
总代码
试错
这里必须要做对缺失数据的处理,否则会报错:
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)逻辑回归(实战) -- 癌症分析相关推荐
- 【机器学习】逻辑回归(LogisticRegression)原理与实战
文章目录 前言 一.什么是逻辑回归 1.1 逻辑回归基础概念 1.2 逻辑回归核心概念 二.逻辑回归Demo 2.1 数据准备 2.2 创建逻辑回归分类器 2.3 分类器预测 三.逻辑回归实战 3.1 ...
- 《人工智能》机器学习 - 第5章 逻辑回归(二 二元逻辑回归实战)
5.2二元逻辑回归实战 5.2.1二元逻辑回归简单实例 首先看看数据吧. 随机的一些数据,这是一个二分问题的数据.先导入数据.Python代码如下. """ 函数说明:读 ...
- 《人工智能》机器学习 - 第5章 逻辑回归(四 多元逻辑回归实战)
5.4多元逻辑回归实战 5.4.1多元逻辑回归实战之预测病马的死亡率 本次实战内容,将使用Logistic回归来预测患疝气病的马的存活问题.原始数据集下载地址: http://archive.ics. ...
- 机器学习:逻辑回归(logistics regression)
title: 机器学习:逻辑回归(logistics regression) date: 2019-11-30 20:55:06 mathjax: true categories: 机器学习 tags ...
- sklearn分类器算法:逻辑回归及案例分析
分类算法之逻辑回归 逻辑回归(Logistic Regression),简称LR.它的特点是能够是我们的特征输入集合转化为0和1这两类的概率.一般来说,回归不用在分类问题上,因为回归是连续型模型,而且 ...
- 传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例
传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例 文章目录 传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例 1导入基本库 2读取数据并且变换类型 3输出数据 4可视化数据 ...
- 【机器学习】逻辑回归原理介绍
[机器学习]逻辑回归原理介绍 [机器学习]逻辑回归python实现 [机器学习]逻辑回归sklearn实现 Logistic 回归模型是目前广泛使用的学习算法之一,通常用来解决二分类问题,虽然名字中有 ...
- python 线性回归 约束_PyTorch线性回归和逻辑回归实战示例
线性回归实战 使用PyTorch定义线性回归模型一般分以下几步: 1.设计网络架构 2.构建损失函数(loss)和优化器(optimizer) 3.训练(包括前馈(forward).反向传播(back ...
- 机器学习_2逻辑回归
机器学习_逻辑回归 分类问题 二分类--Sigmoid函数 Sigmoid函数代码实现 逻辑回归 数学原理 求解方式 正则化 逻辑回归数据集应用样例--代码实现 样例1:有清晰的线性决策边界 决策边界 ...
- autoReg | 自动线性和逻辑回归和生存分析
autoReg | 自动线性和逻辑回归和生存分析 autoReg可以制作描述性统计汇总表,在各种回归模型中自动选择解释变量.支持线性模型.广义线性模型和环比例风险模型.生成可发表的回归分析结果汇总表和 ...
最新文章
- SAP Retail MM41 维护商品主数据,报错 - 估价范围 NM01 还没有生产式的物料帐簿 – 之对策
- 八大操作系统掌门人齐聚 1024 程序员节,千年岳麓见证开源新时代
- 五种常见的 PHP 设计模式
- 八、日志分析系统Nginx,Beats,Kibana和Logstash
- 计算机网络可被理解为( )
- [html] table中给td设置宽度无效怎么解决?
- kali卸载firefox_kali 安装最新firefox的悲惨经历
- MySQL索引、事物
- MySQL实现类似Oracle的序列
- 计算机组成原理 第六章 总线
- ora-00119和ora-00132解决方案
- 你所不知道的 AI 进展
- uefi legacy linux知乎,【U盘工具】制作纯净万能“便携系统+pe维护”双系统U盘——UEFI与Legacy双启动...
- 在线坐标系经纬度转换工具
- 【高级篇 / DNS】(7.0) ❀ 04. FortiGuard 动态 DNS (DDNS) ❀ FortiGate 防火墙
- MAC通过HDMI转VGA转接头连接显示器
- webstorm下载与激活
- html5 中input type=‘file’实现文件图片等的上传的文件类型限制
- mysql语句总结_mysql语句总结
- ESD与压敏电阻的性能对比
热门文章
- Java List与ArrayList 的区别(List list =new Arraylist(); ArrayList<String> arrayList = new ArrayList())
- onAttach 显示过时的处理方法
- java自增运算符与自减运算符
- android 图片压缩方法分析
- 线段树——HDU - 1698
- 博客非100%原创,在学习道路上,我一直站在别人肩上
- Linux 忘记登录密码?破解系统登陆密码
- 【转载】Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?
- mysql 批量更新数据类型
- Linux 中FTP服务的应用(安装配置)