第33步 机器学习分类实战:误判病例分析

这篇具有很好参考价值的文章主要介绍了第33步 机器学习分类实战:误判病例分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

填最后一个坑,如何寻找误判的病例。

之前我们在介绍AUC的时候,提到了两个函数:predict和predict_proba,复习一下:

auc_test = roc_auc_score(y_test, y_testprba) 

roc_auc_score的参数呢,包括两个:y_test是实际值,y_testprba是预测的概率(注意,是概率,而不是分类,要和y_pred做区别),来看看代码:

y_pred = classifier.predict(X_test)
y_testprba = classifier.predict_proba(X_test)[:,1] 

来,一个是predict,一个是predict_proba,输出的如图所示。

第33步 机器学习分类实战:误判病例分析

一目了然了吧,就是根据0.5为阈值进行分类的。

所以呢,可以根据y_pred和y_true就可以判断是所谓的误诊(y_true是0,而y_pred是1)还是漏诊(y_true是1,而y_pred是0)。

具体操作在excel即可完成,最重的就是筛选出误诊和漏诊的病例:

我们还是用Xgboost做例子(测试集):

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv('X disease code fs.csv')
X = dataset.iloc[:, 1:14].values
Y = dataset.iloc[:, 0].values
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.30, random_state = 666)
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
import xgboost as xgb
param_grid=[{
            'n_estimators':[35],
            'eta':[0.1],
            'max_depth':[1],
            'gamma':[0],
            'min_child_weight':[5],
            'max_delta_step':[1],
            'subsample':[0.8],
            'colsample_bytree':[0.8],
            'colsample_bylevel':[0.8],
            'reg_lambda':[9],
            'reg_alpha':[5],
            },
           ]
boost = xgb.XGBClassifier()
classifier = xgb.XGBClassifier()
from sklearn.model_selection import GridSearchCV
grid_search = GridSearchCV(boost, param_grid, n_jobs = -1, verbose = 2, cv=10)      
grid_search.fit(X_train, y_train)    
classifier = grid_search.best_estimator_  
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)
y_testprba = classifier.predict_proba(X_test)[:,1] 
y_trainpred = classifier.predict(X_train)
y_trainprba = classifier.predict_proba(X_train)[:,1]

由于我们演示的是测试集,所以关注y_pred和y_test:

第33步 机器学习分类实战:误判病例分析

 接着,我们需要在运行一次代码:

X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.30, random_state = 666)

我们需要获得y_text对应的X_test,而上述那一串代码的X_test的数据已经被归一化了,没法使用,我们需要的是原始数据:

第33步 机器学习分类实战:误判病例分析

然后,我们把y_pred和y_test以及X_test复制到新的excel(注意:不要搞乱顺序,目前顺序是一一对应的)

第33步 机器学习分类实战:误判病例分析

 不放心的话,可以调出原始数据,稍微对应一下是否做到一一对应了,比如:

第33步 机器学习分类实战:误判病例分析

第33步 机器学习分类实战:误判病例分析

对应得上,不放心就再找几个做校对。

接着,新开一列,用真实值减去预测值,那么误诊(真实是0,而预测是1)就是-1,漏诊(真实是1,而预测是0)就是1。使用筛选功能,分别把它们提取出来,做你想做的分析,水几个图还是OK的。

第33步 机器学习分类实战:误判病例分析

第33步 机器学习分类实战:误判病例分析

 终于,花了32期,把机器学习分类讲完了,洋洋洒洒4-5万字,有种写博士毕业论文的感觉了,希望对大家有用,也欢迎进行技术探讨。特别是Xgboost、LightGBM还有Catboost,以及各种Stacking模型,掌握的还是不够深入。文章来源地址https://www.toymoban.com/news/detail-464619.html

到了这里,关于第33步 机器学习分类实战:误判病例分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AI机器学习入门与实战】机器学习算法都有哪些分类?

    👍【 AI机器学习入门与实战 】目录 🍭 基础篇 🔥 第一篇:【AI机器学习入门与实战】AI 人工智能介绍 🔥 第二篇:【AI机器学习入门与实战】机器学习核心概念理解 🔥 第三篇:【AI机器学习入门与实战】机器学习算法都有哪些分类? 🔥 第四篇:【AI机器学习入门与实战】

    2024年02月12日
    浏览(38)
  • 机器学习实战 | MNIST手写数字分类项目(深度学习初级)

    准备写个系列博客介绍机器学习实战中的部分公开项目。首先从初级项目开始。 本文为初级项目第二篇:利用MNIST数据集训练手写数字分类。 项目原网址为:Deep Learning Project – Handwritten Digit Recognition using Python。 第一篇为:机器学习实战 | emojify 使用Python创建自己的表情符号

    2024年02月15日
    浏览(48)
  • 机器学习-KNN算法(鸢尾花分类实战)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 K近邻(K Nearest Neighbors,KNN)算法是最简单的分类算法之一,也就是根据现有训练数据判断输入样本是属于哪一个类别。 “近朱者赤近墨者黑\\\",所谓的K近邻,也就

    2023年04月08日
    浏览(68)
  • 【机器学习】决策树与分类案例分析

    决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。下面就来举一个例子: 通过这一个例子我们会有一个问题,为什么女生会把年龄放在第一个呢?这就是决策树的一个思想:高效性。 为了

    2024年02月07日
    浏览(41)
  • 【Python机器学习】KNN进行水果分类和分类器实战(附源码和数据集)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。 KNN算法的思想非常简单:对于任意n维输入向量,分别对应于特征

    2024年02月01日
    浏览(41)
  • 第29步 机器学习分类实战:支持向量机(SVM)建模

    支持向量机(SVM)建模。 先复习一下参数(传送门),需要调整的参数有: ① kernel:{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’},默认为’rbf’。使用的核函数,必须是“linear”,“poly”,“rbf”,“sigmoid”,“precomputed”或者“callable”中的一个。 ② c:浮点

    2024年02月02日
    浏览(60)
  • 【机器学习实战】-基于概率论的分类方法:朴素贝叶斯

    【机器学习实战】读书笔记 **朴素贝叶斯:**称为“ 朴素 ”的原因,整个形式化过程只做最原始、最简单的假设,特征之间没有关联,是统计意义上的独立。 **优点:**在数据较少的情况下仍然有效,可以处理多类别问题。 **缺点:**对于输入数据的准备方式较为敏感。 **适

    2024年03月25日
    浏览(50)
  • 机器学习实战:Python基于Logistic逻辑回归进行分类预测(一)

    1.1 Logistic回归的介绍 逻辑回归( Logistic regression ,简称 LR )是一种经典的二分类算法,它将输入特征与一个sigmoid函数进行线性组合,从而预测输出标签的概率。该算法常被用于预测离散的二元结果,例如是/否、真/假等。 优点: 实现简单。Logistic回归的参数可以用极大似然

    2024年02月08日
    浏览(39)
  • 机器学习实战:Python基于DT决策树模型进行分类预测(六)

    1.1 决策树的介绍 决策树(Decision Tree,DT)是一种类似流程图的树形结构,其中内部节点表示特征或属性,分支表示决策规则,每个叶节点表示结果。在决策树中,最上方的节点称为根节点。它学习基于属性值进行分区。它以递归方式进行分区,称为递归分区。这种类似流程

    2023年04月27日
    浏览(57)
  • 机器学习实战----使用Python和Scikit-Learn构建简单分类器

    前言: Hello大家好,我是Dream。 今天来学习一下如何使用Python和Scikit-Learn构建一个简单的分类器 今天我们将学习 使用Python和Scikit-Learn创建一个简单的文本分类器来识别垃圾邮件 。我们将先介绍数据集,并通过可视化和数据预处理方式更好地理解数据集。接着,我们将选择一

    2023年04月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包