美文网首页
在图像分类中如何使用一行代码提升逼格

在图像分类中如何使用一行代码提升逼格

作者: 一杯奶茶的功夫 | 来源:发表于2019-02-21 14:16 被阅读172次

    接上一篇《使用fastai进行图像分类之120种小狗》
    制作完一个120类小狗图像分类器,那么我们写论文做报告时,怎么样能够看上去逼格更高呢。
    那就是配图咯,这里我们可以制作一个混淆矩阵图,帮助我们来丰富一下报告内容。

    其实混淆矩阵图在python的数据分析、机器学习中常用的scikit-learn库中就已经封装了制作混淆矩阵图的功能,让我们看下具体怎么实现

    y_true = ["dog1", "dog2", "dog3", "dog4", "dog5", "dog6"]
    y_pred = ["dog1", "dog1", "dog3", "dog4", "dog1", "dog6"]
    confusion_matrix(y_true, y_pred, labels=["dog1", "dog2", "dog3", "dog4", "dog5", "dog6","dog7"])
    

    是不是看上去很方便?调用一个方法就可以了,但是需要准备两个参数,分别是groundtruth列表和预测列表。可能实际操作中为了准备这两个参数还要额外增加几行代码。

    在fastai这个过程将会更加简单,你只需要写一行代码,是的只要一行代码。
    就可以得到一个数据集的混淆矩阵,让我们看下具体怎么写

    ClassificationInterpretation.from_learner(learner).plot_confusion_matrix()
    

    其中就一个参数learner而这个参数是不需要特地准备的,learner在创建网络的时候就已经赋值了
    所以比简便的scikit-learn的方法还要简便。

    让我们看看输出结果:


    Oops! 和预想的有些小出入,哈哈,不急。分析一下原因,那是因为我们小狗数据集里面有120种分类,太多了数据挤在了一起,怎么办?很简单,微调下立马搞定。来看看怎么做。

    ClassificationInterpretation.from_learner(learner).plot_confusion_matrix(figsize=(50,50))
    

    可以看到我们在最后传了一个参数figsize来设置图片大小。
    看看结果吧。



    我们只靠一行代码就完成了一个巨大的混淆矩阵120x120的制作呢。
    是不是很方便呢^^

    谢谢阅读。
    如果有问题,欢迎来评论区留言讨论^^

    相关文章
    《使用fastai进行图像分类之120种小狗》

    相关文章

      网友评论

          本文标题:在图像分类中如何使用一行代码提升逼格

          本文链接:https://www.haomeiwen.com/subject/otyryqtx.html