scikit-plot 登场!让机器学习模型可视化更容易!

对训练好的模型进行可视化,功能比较简单易懂。

scikit-learn (sklearn)是Python环境下常见的机器学习库,包含了常见的分类、回归和聚类算法。在训练模型之后,常见的操作是对模型进行可视化,则需要使用Matplotlib进行展示。scikit-plot是一个基于sklearn和Matplotlib的库,主要的功能是对训练好的模型进行可视化,功能比较简单易懂。

https://scikit-plot.readthedocs.io

pip install scikit-plot

功能1:评估指标可视化

  • scikitplot.metrics.plot_confusion_matrix快速展示模型预测结果和标签计算得到的混淆矩阵。

scikit-plot 登场!让机器学习模型可视化更容易!插图1

import scikitplot as skplt 
rf = RandomForestClassifier() 
rf = rf.fit(X_train, y_train) 
y_pred = rf.predict(X_test) 

skplt.metrics.plot_confusion_matrix(y_test, y_pred, normalize=True) 
plt.show()

scikitplot.metrics.plot_roc快速展示模型预测的每个类别的ROC曲线。

scikit-plot 登场!让机器学习模型可视化更容易!插图3

import scikitplot as skplt 
nb = GaussianNB() 
nb = nb.fit(X_train, y_train) 
y_probas = nb.predict_proba(X_test) 

skplt.metrics.plot_roc(y_test, y_probas) 
plt.show()

scikitplot.metrics.plot_ks_statistic从标签和分数/概率生成 KS 统计图。

scikit-plot 登场!让机器学习模型可视化更容易!插图5

import scikitplot as skplt 
lr = LogisticRegression() 
lr = lr.fit(X_train, y_train) 
y_probas = lr.predict_proba(X_test) 

skplt.metrics.plot_ks_statistic(y_test, y_probas) 
plt.show()

scikitplot.metrics.plot_precision_recall从标签和概率生成PR曲线。

scikit-plot 登场!让机器学习模型可视化更容易!插图7

import scikitplot as skplt 
nb = GaussianNB() 
nb.fit(X_train, y_train) 
y_probas = nb.predict_proba(X_test) 

skplt.metrics.plot_precision_recall(y_test, y_probas) 
plt.show()

scikitplot.metrics.plot_silhouette对聚类结果进行silhouette analysis分析。

scikit-plot 登场!让机器学习模型可视化更容易!插图9

import scikitplot as skplt 
kmeans = KMeans(n_clusters=4, random_state=1) 
cluster_labels = kmeans.fit_predict(X) 

skplt.metrics.plot_silhouette(X, cluster_labels) 
plt.show()

scikitplot.metrics.plot_calibration_curve绘制分类器的矫正曲线

scikit-plot 登场!让机器学习模型可视化更容易!插图11

import scikitplot as skplt 
rf = RandomForestClassifier() 
lr = LogisticRegression() 
nb = GaussianNB() 
svm = LinearSVC() 
rf_probas = rf.fit(X_train, y_train).predict_proba(X_test) 
lr_probas = lr.fit(X_train, y_train).predict_proba(X_test) 
nb_probas = nb.fit(X_train, y_train).predict_proba(X_test) 
svm_scores = svm.fit(X_train, y_train).decision_function(X_test) 
probas_list = [rf_probas, lr_probas, nb_probas, svm_scores] 
clf_names = ['Random Forest', 'Logistic Regression', 
              'Gaussian Naive Bayes', 'Support Vector Machine'] 

skplt.metrics.plot_calibration_curve(y_test, 
                                      probas_list, 
                                      clf_names) 
plt.show()

功能2:模型可视化

  • scikitplot.estimators.plot_learning_curve生成不同训练样本下的训练和测试学习曲线图。

scikit-plot 登场!让机器学习模型可视化更容易!插图13

import scikitplot as skplt
rf = RandomForestClassifier()

skplt.estimators.plot_learning_curve(rf, X, y)
plt.show()

scikitplot.estimators.plot_feature_importances可视化特征重要性。

scikit-plot 登场!让机器学习模型可视化更容易!插图15

import scikitplot as skplt
rf = RandomForestClassifier()
rf.fit(X, y)

skplt.estimators.plot_feature_importances(
rf, feature_names=[‘petal length’, ‘petal width’,
‘sepal length’, ‘sepal width’])
plt.show()

功能3:聚类可视化

  • scikitplot.cluster.plot_elbow_curve展示聚类的肘步图。

scikit-plot 登场!让机器学习模型可视化更容易!插图17

import scikitplot as skplt
kmeans = KMeans(random_state=1)

skplt.cluster.plot_elbow_curve(kmeans, cluster_ranges=range(1, 30))
plt.show()

功能4:降维可视化

  • scikitplot.decomposition.plot_pca_component_variance绘制 PCA 分量的解释方差比。

import scikitplot as skplt
pca = PCA(random_state=1)
pca.fit(X)

skplt.decomposition.plot_pca_component_variance(pca)
>plt.show()

scikit-plot 登场!让机器学习模型可视化更容易!插图19

  • scikitplot.decomposition.plot_pca_2d_projection绘制PCA降维之后的散点图。

import scikitplot as skplt
pca = PCA(random_state=1)
pca.fit(X)

skplt.decomposition.plot_pca_2d_projection(pca, X, y)
plt.show()

scikit-plot 登场!让机器学习模型可视化更容易!插图21

– EOF –

作者简介

城哥,公众号9年博主,一线互联网工作10年(目前在职)、公司校招和社招技术面试官,主导多个公司级实战项目(Python、数据分析挖掘、算法、AI平台、大模型等)。

版权声明:本站部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除文图,联系微信:seo9588 如若转载,请注明出处:https://www.zhejianghao.com/42097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年11月21日 10:07:20
下一篇 2023年11月21日 10:19:27

相关推荐

  • 书法九宫格的创始人是谁(九宫格书法字帖大全)

    九宫格书法作为一种风靡全球的书法艺术,其诞生历史可以追溯到3000年前。虽然有很多人都曾参与和推广九宫格书法,但称为九宫格书法的首创者则无法考证。本文通过对九宫格书法的历史、特点以及相关人物的研究,分析九宫格书法的来源和发展,帮助读者更好地理解九宫格书法。 一、关于九宫格书法概述 九宫格书法是一种结合印象派与中国传统书法的书法艺术形式,其特点在于将一段书法作…

    2023年6月9日
    260
  • 个人怎么申请注册商标(注册商标流程及费用)

    小编今天整理了个人如何注册商标多少钱的相关介绍,希望对您有所帮助。 个人注册商标需要多少钱 一、个人申请注册商标需要多少钱? 1、受理商标注册费300元(限定本类10个商品。10个以上商品,每超过1个商品,每个商品加收30元),出具商标证明费50元。 2、委托商标代理机构办理的,申请人应向商标代理机构缴纳商标注册证明官费和代理费,商标局收取的商标注册证明规费…

    2022年10月26日
    3780
  • 家居软装加盟靠谱吗(比较出名的家居软装公司)

    近几年实体店不景气,传统窗帘店更是哀嚎一片。进店率、成交率、客单价等核心指标全线下滑,不少经营者进退两难,继续经营没有核心竞争优势,放弃多年的营生又觉得可惜,传统的窗帘布艺行业正在遭遇前所未有的冲击。 选择大于努力,品牌创生未来。 和心家居2022全面招商,区域代理、专卖店、店中店百花齐放,低投入、高收益、小风险、模式简单易复制,未来已到,抢占窗帘市场新商机…

    2023年7月8日 IT百科
    30
  • 伦敦与北京相差几小时(北京伦敦时间对照表)

    北京与伦敦之间一直是两个相隔很远的地方。它们隔着整整半个地球,中间还穿过了多条不同的时区。因此,如果您需要同步北京时间和伦敦时间,您需要了解这两个地区的时差,以便更好地管理自己的生意或计划有关行程。 本文将介绍北京伦敦时间对照表,并解释它们之间的时差及其可能对您的日程安排产生的影响。 一、基本概念:时区 所谓时区是一种按照经线划分的地区,在同一时区内所有地方…

    2023年6月9日
    420
  • 1000兆的网速是多少(1000兆wifi测速是多少)

    1000兆的网速是多少?- 揭开千兆网速的神秘面纱 随着数字化时代的来临,网络速度成为了我们日常生活中必不可少的一部分。千兆以上的网络速度变得越来越普及,那么1000兆的网速是多少呢?本文将为您解答这个问题,并探讨如何测试1000兆WiFi的测速结果。 1000兆的网速是多少? 1000兆的网速又称为1Gbps,这个速度相当于每秒能传输1千兆位(10的9次方…

    2023年6月28日
    110
  • 证券行情软件哪个好用(目前最好的炒股软件)

    财联社(深圳,记者 黄靖斯)讯,万亿成交额及投资者加速进场双双推动,2021券商APP活跃度再上新台阶,并在12月份达全年峰值。 具体来看,2021全年月均MAU达到500万以上的券商有5家,MAU达到400万以上的有10家,百万级别以上则多达27家。月均MAU Top10券商分别是华泰涨乐财富通、国泰君安君弘、平安证券、海通e海通财APP、方正证券小方、广…

    2023年7月11日 IT百科
    50
  • 转轮式除湿机和压缩机哪个好(转轮除湿机品牌十大排名)

    除湿机在湿度较高的环境中起着重要作用,能够有效降低空气中的湿度并提供舒适的环境。在市场上,有两种主要类型的除湿机:转轮式除湿机和压缩机除湿机。本文将分析转轮式除湿机与压缩机除湿机的区别,并为读者介绍转轮式除湿机品牌的十大排名及性能分析。 一、转轮式除湿机与压缩机除湿机的区别 转轮式除湿机和压缩机除湿机在原理和工作方式上有所不同: 转轮式除湿机:转轮式除湿机利…

    2023年6月29日
    130
  • 店铺装修哪家好(店面装修公司推荐)

    北京店面装修设计哪个公司比较好 虽然说实体店生意大不如前些年,但是现在如果你选择一个人流量较大的地方,以及选对了行业,再加上店面装修设计的比较时尚一些,那么这样的一个店铺收益还是挺乐观的。尤其是北上广深这种一线城市内。那么北京这边店面装饰装修哪个公司比较好呢? 看专业水平 专业水平和专业能力是选择店面装修设计公司的重要参考项目,公司不专业自然不太容易把活干好…

    2023年7月7日
    50
  • 硬盘分区工具哪个好(最好的电脑硬盘分区工具)

    现在新买来的电脑,基本都是只有一个C盘或者是固态加机械双硬盘的话就是C盘和D盘,剩下的需要自己分盘! 为什么要分盘,分盘有什么好处呢? ● 电脑只有一个磁盘,东西放在里面会显得非常乱 ● 电脑会卡,系统和软件在一个磁盘,会变慢。 ● 方面管理,可以快速的找到自己保存的文件之类。 如果你的电脑是固态加机械双硬盘的话,如果固态硬盘是系统盘且不大于240GB就不需…

    2023年7月11日 IT百科
    80
  • 电销最能打动顾客的十句话(电话销售开场白30秒)

    电话销售是一种推广和销售的方法,由于方便、直接,被越来越多的企业所采用。但是,如何在电话销售中打动顾客的心并取得成功呢?一个成功的电话销售中,首先要有一个能打动顾客心的开场白。以下是电销最能打动顾客的十句话。 一、问候语 打电话首先要进行问候,热情的问候可以让顾客感受到你的亲和力和诚意,例如:您好,我是XXX公司的销售代表,能够打扰您一分钟吗? 二、 自我介…

    2023年6月21日
    50

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信