当前位置:网站首页>逻辑回归---简介、API简介、案例:癌症分类预测、分类评估法以及ROC曲线和AUC指标
逻辑回归---简介、API简介、案例:癌症分类预测、分类评估法以及ROC曲线和AUC指标
2022-08-04 05:28:00 【我很好请走开谢谢】
一、介绍
1. 大白话~
- 虽然带有“回归”两个字,但是输出的结果是离散的。
- 和线性回归的区别,多了一个激活函数(sigmoid函数),增加模型的非线性拟合能力。
2.损失和优化
逻辑回归的损失,称之为对数似然损失,公式如下:
通过上面这个公式可以计算损失值。
二、API介绍
三、案例:癌症分类预测
案例的重点就是运用了一下“逻辑回归”的这个训练器
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
from sklearn.metrics import classification_report
from sklearn.metrics import roc_auc_score
# 步骤:
# 1.获取数据
# 2.基本数据处理
# 2.1 缺失值处理
# 2.2 确定特征值,目标值
# 2.3 分割数据
# 3.特征工程(标准化)
# 4.机器学习(逻辑回归)
# 5.模型评估 二分类、准确率、精确率、召回率
names = ['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']
data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data",names=names)
#2.基本数据处理 缺失值处理(‘?’标记)
data = data.replace(to_replace='?',value=np.nan) #把‘?’替换成np.nan
data = data.dropna() #删除np.nan
# 划分数据集
x = data.iloc[:,1:10] #特征值
y = data['Class'] #目标值
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
# 3.特征工程 标准化
transfer = StandardScaler() #实例化转换器
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)
# 4.机器学习 逻辑回归建模
# 4.1建立模型
estimator = LogisticRegression()
# 4.2训练模型
estimator.fit(x_train, y_train)
# 5.模型评估
estimator.score(x_test, y_test)
结果:
0.948905109489051
四、分类评估方法
1. API
2. 例子
接着上面癌症预测案例来写的
五、ROC曲线与AUC指标
1. ROC曲线:
- 先看图片
- 横纵坐标分别是TPR和FPR。那什么是TPR和FPR呢?
那什么又是TP、FP、FN、TN呢?
举个例子就好理解了:
2. AUC指标
- 概念:是随机取一对正负样本,正样本得分大于负样本的概率。(说白了就是下图打斜杠部分的面积)
- AUC的最小值为0.5,最大值为1,取值越高越好
AUC计算API
- API
- 例子:
仍然是紧接着癌症预测的例子:
边栏推荐
- CTFshow—Web入门—信息(1-8)
- with recursive用法
- flink-sql查询配置与性能优化参数详解
- CAS与自旋锁、ABA问题
- 自动化运维工具Ansible(6)Jinja2模板
- SQL的性能分析、优化
- 【Matlab仿真】:一带电量为q的电荷以速度v运动,求运动电荷产生磁感应强度
- 【树 图 科 技 头 条】2022年6月27日 星期一 今年ETH2.0无望
- (十五)B-Tree树(B-树)与B+树
- npm install dependency error npm ERR! code ENOTFOUNDnpm ERR! syscall getaddrinfonpm ERR! errno ENOTFOUND
猜你喜欢
随机推荐
Commons Collections1
Commons Collections2
智能合约安全——溢出漏洞
剑指 Offer 2022/7/9
CAS与自旋锁、ABA问题
CTFshow—Web入门—信息(9-20)
剑指 Offer 2022/7/5
(十)树的基础部分(一)
判断字符串是否有子字符串重复出现
k3s-轻量级Kubernetes
个人练习三剑客基础之模仿CSDN首页
Shell(3)条件控制语句
WARNING: sql version 9.2, server version 11.0.Some psql features might not work.
编程Go:学习目录
ISCC-2022
攻防世界MISC—MISCall
剑指 Offer 2022/7/3
(十三)二叉排序树
计算属性的作用及使用?
编程Go:内置打印函数 print、println 和 fmt 包中 fmt.Print、fmt.Println 的区别