机器学习sklearn----支持向量机SVC模型评估指标

前言

前面一篇博文介绍了SVC处理二分类问题是怎么样来解决样本不均衡。这里我们要来将用什么指标来衡量模型的好坏
SVC提供的接口score是计算模型的准确率的这个指标在样本均衡的情况下是完全适用的, 但是在遇到样本不均衡问题的时候就失去了意义,而我们日常面对的数据会有较多的不均衡, 面对这样的问题,我们需要采用新的模型评估指标,而我们的评估指标需要能够反映模型捕获少数类的能力, 在现实中我们需要寻找捕获少数类的能力和将多数类判错后需要付出的代价的平衡。 如果一个模型能尽量的捕获少数类,还能将多数类尽量判断正确,那么这个模型就非常优秀了。 为了评估模型这样的能力,我们将引用混淆矩阵和ROC曲线来评估模型

本次使用的数据还是上篇博文中一模一样,数据生成及模型训练代码如下:

import numpy as np
from sklearn.datasets import make_blobs
from sklearn.svm import SVC
import matplotlib.pyplot as plt
import warnings

warnings.filterwarnings("ignore")
%matplotlib inline

# 创建一个样本不均衡的数据集
X, y = make_blobs(n_samples=[500, 50],
                 n_features=2,
                 cluster_std=3,
                 random_state=3)

plt.scatter(X[:, 0], X[:, 1], c=y)
plt.show()

# 不采用样本均衡SVC模型效果
svc_none_class_weight = SVC(kernel='linear').fit(X, y)

# 采用样本均衡参数class_weight
svc_with_class_weight = SVC(kernel='linear', class_weight={
   1: 10}).fit(X, y)

在这里插入图片描述

混淆矩阵

混淆矩阵是二分类问题的一个很重要的评估指标,在样本不均衡问题非常的有用。 在混淆矩阵中我们将少数类认为是正例,多数类认为是负例。这里方便理解将少数类认为是1, 多数类认为是0. 标准二分类的混淆矩阵如下所示

预测值
1 0
真实值 1 11 10
0 01 00

在混淆矩阵中真实值是写在预测值前面的,比如11,前面的1表示真实值,后面的1表示预测值, 那么其他的几个数字也有了自己的意义。 混淆矩阵中主对角线上的11,00表示预测完全正确的情况,10,01表述预测出错的情况,基于混淆矩阵可以产生7个模型评估指标,这些指标的结果都是在0-1之间的,下面来一一介绍这几个指标

指标1准确率

准确率(样本均衡时比较有意义):所有预测正确的样本于总样本的比例,也就是常用的scores,通常来说越接近1越好 计算方式:
准 确 率 = 预 测 正 确 的 样 本 数 量 所 有 样 本 总 数 准确率 = \frac {预测正确的样本数量} {所有样本总数} =

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C-index是一种用于评估生存分析模型性能的指标,也称为concordance index或者concordance probability estimate。它衡量了模型对于预测事件发生顺序的准确性。C-index的取值范围在0到1之间,越接近1表示模型的性能越好。 在sklearn中,可以使用以下代码计算C-index: ```python from lifelines.utils import concordance_index c_index = concordance_index(y_true, y_pred) ``` 其中,y_true是真实的事件发生时间或者状态,y_pred是模型预测的事件发生时间或者状态。 引用\[3\]中的代码示例中没有直接涉及到计算C-index的部分,但是可以根据引用\[3\]中的代码基础上进行相应的修改和调整,使用lifelines库中的concordance_index函数来计算C-index。 #### 引用[.reference_title] - *1* *2* [sklearn--随机森林](https://blog.csdn.net/weixin_42838061/article/details/108866299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [机器学习sklearn----支持向量机SVC核函数性质探索](https://blog.csdn.net/weixin_43776305/article/details/121791268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值