文档章节

一个超级简单的多分类多标签值例子

q
 qinhui99
发布于 2017/06/08 17:31
字数 383
阅读 117
收藏 0

多分类就是指超过两个以上的分类,多标签值就是指一个样本实例可以出现两个以上的标签值。例如,一个讨论python和go性能对比的帖子,就可以有python和go两个不同的话题分类标签。这种多分类多标签值的情况在文本分类里经常出现,值得研究。下面举个简单的例子:

import numpy as np
from sklearn.ensemble import RandomForestClassifier

if __name__ == '__main__':

    X = np.array([[411, 500, 426],
                  [100, -11, -96],
                  [125, 900, .00],
                  [.11, 60., 126],
                  [211, 100, 16],
                  [300, .60, 926],
                  [11., .00, 26],
                  [341, 700, 126]])
    #目标y有3个分类,而且允许有3个标签同时出现.
    Y = np.array([[0, 0, 0],
                  [0, 0, 1],
                  [0, 1, 0],
                  [0, 1, 1],
                  [1, 0, 0],
                  [1, 1, 0],
                  [1, 1, 1],
                  [1, 1, 1]])
    #随机森林分类器。这里故意设置比较小的参数,以便产生不同的预测结果和原来的标签对比。
    lp = RandomForestClassifier(n_estimators=5)
    lp.fit(X, Y)#训练
    print(lp.predict(X)) #打印预测结果

 

运行的结果:

[[ 1.  1.  1.]
 [ 0.  0.  1.]
 [ 0.  1.  0.]
 [ 1.  1.  1.]
 [ 1.  0.  0.]
 [ 1.  1.  0.]
 [ 1.  1.  1.]
 [ 1.  1.  1.]]

第4行预测错误了。原来的标签是[0,1,1],我们的分类器预测为[1,1,1]。除此之外,其它都对了。还行。对于这样的几个分类的简单数据,随机森林分类器确实很好用,几行代码就搞定了。传统的机器学习算法里还是有不少好东西的。

 

 

© 著作权归作者所有

共有 人打赏支持
q
粉丝 63
博文 72
码字总数 32863
作品 0
深圳
程序员
优必选悉尼 AI 研究院何诗怡:基于课程学习的强化多标签图像分类算法 | 分享总结

雷锋网(公众号:雷锋网) AI 科技评论按:与单标签图像分类相比,多标签图像分类是一种更符合真实世界客观规律的方法,尤其在图像和视频的语义标注,基于内容的图像检索等领域有着广泛的应用。...

刘鹏
06/12
0
0
机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(四)

  上一节三节讲述了真实数据(csv表格数据)的一个实战操作的总流程,然而这个处理是一个回归模型,即目标是一些连续的值(medianhousevalue)。当目标是一些有限的离散值得时候(比如数字0...

fjl_csdn
01/10
0
0
深度学习(目标检测)---多标签图像分类任务的评价方法-mAP

多标签图像分类(Multi-label Image Classification)任务中图片的标签不止一个,因此评价不能用普通单标签图像分类的标准,即mean accuracy,该任务采用的是和信息检索中类似的方法—mAP(m...

qq_38906523
05/05
0
0
《机器学习》周志华-CH3 线性模型

写在前面 线性模型,可以说是机器学习中最简单的一种模型;它形式简单,易于实现,却同时也是SVM、神经元等复杂非线性模型的基础。CH1和CH2,介绍了机器学习领域的基本概念,和获得模型的一般...

qq_34100655
02/03
0
0
基于用户标签的时间衰减因子

背景 依据用户发帖子所属于的分类,给用户打标签,并确定标签的权重。 比如:A用户总共发了8个贴子,其中有1个帖子属于spark分类,3个属于hadoop分类,4个属于storm分类。系统会给用户分别打...

小萝卜_
2016/06/02
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[MicroPython]STM32F407开发板驱动OLED液晶屏

1.实验目的 1.学习在PC机系统中扩展简单I/O 接口的方法。 2.进一步学习编制数据输出程序的设计方法。 3.学习 F407 Micropython开发板控制OLED显示字符。 2.所需元器件 F407 Micropython开发板...

bodasisiter
34分钟前
0
0
php require和include 相对路径一个有趣的坑

以前总是被教育,不要使用相对路径,这样性能比较差,但是相对路径的问题不仅仅是性能哦,看下面这里例子 这是项目结构 .├── main.php├── t│ ├── t1.php│ └── t2.php└─...

anoty
34分钟前
17
0
x64技术之SSDT_Hook

测试环境: 虚拟机: Windows 7 64bit 过PG工具 驱动加载工具 PCHunter64 系统自带的计算器和任务管理器等 实现思路: 实际思路与win32的思路一样.都是替换SSDT表里边的函数地址.不过微软被搞怕...

simpower
36分钟前
0
0
TreeMap源码分析,看了都说好

一、简介 TreeMap最早出现在JDK 1.2中,是 Java 集合框架中比较重要一个的实现。TreeMap 底层基于红黑树实现,可保证在log(n)时间复杂度内完成 containsKey、get、put 和 remove 操作,效率很...

Java小铺
46分钟前
0
0
协变、逆变

概念 假设 A、B表示类型 ≤ 表示继承关系 f<⋅>表示类型转换 若A ≤ B,则 A是B的子类,B是A的超类 协变、逆变 什么是型变?型变(type variance)允许对类型进行子类型转换。 为了下面讲解先...

obaniu
52分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部