本人在写论文的时候,很多图片是用matplotlib和seaborn画的,但是,我还有一个神器,Scikit-plot,通过这个神器,画出了更加高大上的机器学习图,本文对Scikit-plot做下简单介绍。(作者:黄海广)

安装说明

安装Scikit-plot非常简单,直接用命令:

pip install scikit-plot

即可完成安装。

仓库地址:

https://github.com/reiinakano/scikit-plot

里面有使用说明和样例(py和ipynb格式)。

使用说明

简单举几个例子

  • 比如画出分类评级指标的ROC曲线的完整代码:

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)
nb = GaussianNB()
nb.fit(X_train, y_train)
predicted_probas = nb.predict_proba(X_test)
# The magic happens here
import matplotlib.pyplot as plt
import scikitplot as skplt
skplt.metrics.plot_roc(y_test, predicted_probas)
plt.show()

效果如图(相当高大上!)

图:ROC曲线

  • P-R曲线就是精确率precision vs 召回率recall 曲线,以recall作为横坐标轴,precision作为纵坐标轴。首先解释一下精确率和召回率。

import matplotlib.pyplot as plt
from sklearn.naive_bayes import GaussianNB
from sklearn.datasets import load_digits as load_data
import scikitplot as skplt
# Load dataset
X, y = load_data(return_X_y=True)
# Create classifier instance then fit
nb = GaussianNB()
nb.fit(X,y)
# Get predicted probabilities
y_probas = nb.predict_proba(X)
skplt.metrics.plot_precision_recall_curve(y, y_probas, cmap='nipy_spectral')
plt.show()

图:P-R曲线

  • 混淆矩阵是分类的重要评价标准,下面代码是用随机森林对鸢尾花数据集进行分类,分类结果画一个归一化的混淆矩阵。

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_digits as load_data
from sklearn.model_selection import cross_val_predict
import matplotlib.pyplot as plt
import scikitplot as skplt
X, y = load_data(return_X_y=True)
# Create an instance of the RandomForestClassifier
classifier = RandomForestClassifier()
# Perform predictions
predictions = cross_val_predict(classifier, X, y)
plot = skplt.metrics.plot_confusion_matrix(y, predictions, normalize=True)
plt.show()

图:归一化混淆矩阵

  • 其他图如学习曲线、特征重要性、聚类的肘点等等,都可以用几行代码搞定。

图:学习曲线、特征重要性

图:K-means肘点图

总结

本文对Scikit-plot做下简单介绍,这是一个机器学习的画图神器,几行代码就能画出高大上的机器学习图,作者当年的博士论文也是靠这个画图的。

仓库地址:

https://github.com/reiinakano/scikit-plot

里面有使用说明和样例。

请关注和分享↓↓↓ 

本站的知识星球(黄博的机器学习圈子)ID:92416895

目前在机器学习方向的知识星球排名第一,用户数3700+

往期精彩回顾

  • 良心推荐:机器学习入门资料汇总及学习建议(2018版)

  • 黄海广博士的github镜像下载(机器学习及深度学习资源)

  • 吴恩达老师的机器学习和深度学习课程笔记打印版

  • 机器学习小抄-(像背托福单词一样理解机器学习)

  • 首发:深度学习入门宝典-《python深度学习》原文代码中文注释版及电子书

  • 机器学习的数学基础

  • 机器学习必备宝典-《统计学习方法》的python代码实现、电子书及课件

  • 吐血推荐收藏的学位论文排版教程(完整版)

  • Python环境的安装(Anaconda+Jupyter notebook+Pycharm)

  • Python代码写得丑怎么办?推荐几个神器拯救你

  • 重磅 | 完备的 AI 学习路线,最详细的资源整理!

备注:加入本站微信群,请加黄博的助理微信,说明:公众号用户加群。

推荐:一个画出高大上的机器学习图的神器(论文必备)相关推荐

  1. 根据伪代码画出流程图和盒图以及根据流程图判断是否为结构化流程图,并且为其设计一个等价结构化程序。

    一.首先附上作业图: 二.解决实例 1.画出程序流程图和盒图. 流程图                                                                  ...

  2. Python零基础学习 | 分享一个使用Python画出太极阴阳八卦图的代码

    大家好,我是王某人. 一.写在前面 前几天在Python技术交流群有个小伙伴分享一个使用Python画出太极阴阳八卦图的代码,这里拿出来给大家分享下,一起学习下. 不过这里他的代码是有点问题的,不过不 ...

  3. 推荐一个github上万star的机器学习资料整理贴

    推荐一个github上万star的机器学习资料整理贴,机器学习,深度学习,自然语言处理等应有尽有!(本文来源:忆臻的知乎) 作者:忆臻 春招将近,给大家推荐一个github上万star的资料整理贴,机 ...

  4. df python 增加数据_美国确诊超100万!教你用Python画出全球疫情动态图(附数据下载)...

     CDA数据分析师 出品   [导语]:今天我们教你用Python绘制全球疫情动态图,技术部分请看第二部分. 获取数据:扫描下方公众号回复关键字"全球疫情" 目前,全球新冠疫情还十 ...

  5. matlab绘制两个函数,用matlab程序 在同一图中绘制两个函数,这两个函数分别是: , ,,matlab怎样同时画出两个函数图...

    导航:网站首页 > 用matlab程序 在同一图中绘制两个函数,这两个函数分别是: , ,,matlab怎样同时画出两个函数图 用matlab程序 在同一图中绘制两个函数,这两个函数分别是: , ...

  6. 美国确诊超100万!教你用Python画出全球疫情动态图

    目前,全球新冠疫情还十分严峻.截止4月29日,疫情突破多个标志性的统计节点.其中,全球累计确诊近296万例,累计死亡超20万例:美国累计确诊超100万例,西班牙和意大利累计确诊均超过20万例. 01 ...

  7. 生信漫谈如何画出美美的SeqLogo图

    画出美美的SeqLogo图,下面介绍三种不同的方法,适用不同的人群的需求. 1.直接上在线绘制SeqLogo图的网站WebLogo 3: https://weblogo.threeplusone.co ...

  8. java矢量图_你见过js画出这样的矢量图以及动画特效吗?

    js 画出几十种矢量图 raphaeljs 超炫丽的动画效果 3.动态曲线图 ---- js 画图 raphaeljs   demo http://raphaeljs.com/analytics.ht ...

  9. 同一界面画出多个QQ图(R语言)

    题目:一名研究者用光子吸收法测量了妇女骨骼中无机物含量,对三根骨头主侧和非主侧记录了测量值,数据框"T1bones.txt"中的第2至第7列记录了相应数据.对各个变量做qq图,在同 ...

最新文章

  1. 我靠这份无人机完全指南吹了一整年牛!
  2. Linux core dump的详细介绍及使用
  3. jpa怎么传参到in中_Spring Boot中的测试
  4. Microsoft.CSharp.CSharpCodeProvider
  5. c语言实现有限域模多项式_有限域计算简述
  6. js面向对象的五种写法
  7. 第一个python小游戏
  8. JavaScript测试及答案
  9. 磁盘不见了只剩一个c盘_非常的奇葩,终于解决了硬盘从盘盘符消失的问题
  10. 《HBase权威指南》读书笔记3
  11. matlab热应力计算,Matlab在齿轮应力计算中的应用
  12. php 四叉树quadtree,线性四叉树十进制编码原理 四叉树(Quadtrees)一共有多少种?...
  13. SEC主席Gary Gensler在被问及以太坊是否是证券时,选择了沉默
  14. 51单片机(四)—— 51单片机仿真芯片的使用
  15. OpenCV视频目标跟踪及背景分割器
  16. 数据分析——爬取股票数据
  17. 企业支付宝注册、企业支付宝关联子账号 解决 账户不可用,建议你更换账户 的问题
  18. C#中使用属性及get,set访问private字段和直接用public修饰字段的对比和理解
  19. 什么蓝牙耳机好?业内权威蓝牙耳机排名TOP5
  20. php 即时通讯 app,即时通讯软件有什么

热门文章

  1. stm32cube学习1-rcc配置选择
  2. 简易实现上拉刷新UpRefresh
  3. CANoe总线开发测试工具学习帖(20190329-201904)
  4. “科技+数据+场景” 助力金融资源更多投向农业农村
  5. 2012 年毕业的应届生,面临在深圳做薪水三千的硬件测试工作和回家养猪(自营养猪场),哪种选择更合适?...
  6. Ubuntu18.04主题更换为 Mac OS high Sierra美化教程与Mac book pro键盘问题
  7. 管理员工的上网行为,企业网管还被呼来喝去吗?
  8. pandas使用pivot_table函数构建透视表:index指定聚合的行索引、columns指定聚合的列索引、aggfunc使用列表指定多个聚合函数(形成复合列索引)
  9. 深度学习笔记:Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of
  10. 基于Java+Jsp实现的指定城市天气实时查询系统