0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习这四个东西你知道几个?

倩倩 来源:润森知识 2020-04-15 15:44 次阅读

分类变量特征提取

分类数据的独热编码方法,分类变量特征提取(One-of-K or One-Hot Encoding):通过二进制数来表示每个解释变量的特征

from sklearn.feature_extraction import DictVectorizer

onhot_encoder = DictVectorizer()

instances=[{‘city’:‘New York’},{‘city’:‘San Francisco’},{‘city’:‘Chapel Hill’}]

print (onhot_encoder.fit_transform(instances).toarray())

[[0. 1. 0.]

[0. 0. 1.]

[1. 0. 0.]]

文字特征提取-词库模型

文字模型化最常用方法,可以看成是独热编码的一种扩展,它为每个单词设值一个特征值。依据是用类似单词的文章意思也差不多。可以通过有限的编码信息实现有效的文档分类和检索。

CountVectorizer 类会将文档全部转换成小写,然后将文档词块化(tokenize)。文档词块化是把句子分割成词块(token)或有意义的字母序列的过程。词块大多是单词,但是他们也可能是一些短语,如标点符号和词缀。

CountVectorizer类通过正则表达式用空格分割句子,然后抽取长度大于等于2的字母序列。

from sklearn.feature_extraction.text import CountVectorizer

corpus = [

‘UNC played Duke in basketball’,

‘Duke lost the basketball game’,

‘I ate a sandwich’

vectorizer = CountVectorizer()

print (vectorizer.fit_transform(corpus).todense())

print (vectorizer.vocabulary_)

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

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

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

{‘unc’: 9, ‘played’: 6, ‘duke’: 2, ‘in’: 4, ‘basketball’: 1, ‘lost’: 5, ‘the’: 8, ‘game’: 3, ‘ate’: 0, ‘sandwich’: 7}

对比文档的特征向量

对比文档的特征向量,会发现前两个文档相比第三个文档更相似。如果用欧氏距离(Euclidean distance)计算它们的特征向量会比其与第三个文档距离更接近。

两向量的欧氏距离就是两个向量欧氏范数(Euclidean norm)或L2范数差的绝对值:d=||x0-x1||向量的欧氏范数是其元素平方和的平方根:scikit-learn里面的euclidean_distances函数可以计算若干向量的距离,表示两个语义最相似的文档其向量在空间中也是最接近的。

from sklearn.feature_extraction.text import CountVectorizer

from sklearn.metrics.pairwise import euclidean_distances

vectorizer = CountVectorizer()

corpus = [

‘UNC played Duke in basketball’,

‘Duke lost the basketball game’,

‘I ate a sandwich’

counts = vectorizer.fit_transform(corpus).todense()

for x,y in [[0,1],[0,2],[1,2]]:

dist = euclidean_distances(counts[x],counts[y])

print(‘文档{}与文档{}的距离{}’.format(x,y,dist))

文档0与文档1的距离[[2.44948974]]

文档0与文档2的距离[[2.64575131]]

文档1与文档2的距离[[2.64575131]]

图片特征的提取

数字图像通常是一张光栅图或像素图,将颜色映射到网格坐标里。一张图片可以看成是一个每个元素都是颜色值的矩阵。表示图像基本特征就是将矩阵每行连起来变成一个行向量。光学文字识别(Optical character recognition,OCR)是机器学习的经典问题。

scikit-learn的digits数字集包括至少1700种0-9的手写数字图像。每个图像都有8x8像像素构成。每个像素的值是0-16,白色是0,黑色是16。

# 通过像素提取特征值

from sklearn import datasets

import matplotlib.pyplot as plt

digits = datasets.load_digits()

print(‘Digit:’,digits.target[0])

print (digits.images[0])

plt.figure()

plt.axis(‘off’)

plt.imshow(digits.images[0], cmap=plt.cm.gray_r, interpolation=‘nearest’)

plt.show()

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    705

    浏览量

    41248
  • 数字图像
    +关注

    关注

    2

    文章

    117

    浏览量

    18628
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54457
收藏 人收藏

    评论

    相关推荐

    半导体发展的四个时代

    台积电的 Suk Lee 发表了题为“摩尔定律和半导体行业的第四个时代”的主题演讲。Suk Lee表示,任何试图从半导体行业传奇而动荡的历史中发掘出一些意义的事情都会引起我的注意。正如台积电所解释
    发表于 03-27 16:17

    半导体发展的四个时代

    台积电的 Suk Lee 发表了题为“摩尔定律和半导体行业的第四个时代”的主题演讲。Suk Lee表示,任何试图从半导体行业传奇而动荡的历史中发掘出一些意义的事情都会引起我的注意。正如台积电所解释
    发表于 03-13 16:52

    求助各位大神,图片画圈圈的贴片丝印是N ,地下有四个焊点,求型号

    求助各位大神,图片画圈圈的贴片丝印是N ,地下有四个焊点,求型号
    发表于 02-27 11:14

    ADuC7060一指令周期为几个机器周期?一机器周期为多少振荡周期?

    假定使用内部32.768Khz振荡频率,倍频至10.24MHZ,内核频率为一分频即10.24MHZ,那么一指令周期是多少?一指令周期为几个机器周期?一
    发表于 01-15 07:22

    请问ad5522四个通道能做成地互相隔离的吗?

    ad5522,四个通道能做成地互相隔离的吗?现在有应用是给产品供电,然后测量产品的另外两管脚测量电阻,这两管脚都不能接地,需要像万用表那样浮地测量。这样就要求ad5522
    发表于 01-11 06:08

    SMT丝印技术的历史发展的四个阶段,你知道吗?

    SMT丝印技术的历史发展的四个阶段,你知道吗?
    的头像 发表于 12-27 10:15 214次阅读

    嵌入式程序员应知道几个基本问题

    电子发烧友网站提供《嵌入式程序员应知道几个基本问题.pdf》资料免费下载
    发表于 11-20 11:21 0次下载
    嵌入式程序员应<b class='flag-5'>知道</b>的<b class='flag-5'>几个</b>基本问题

    PCB四个角的地孔为什么要放置电源填充?目的是什么?

    PCB四个角的地孔为什么要放置电源填充?目的是什么?
    发表于 11-06 16:05

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?
    的头像 发表于 08-17 16:30 1396次阅读

    sd卡的四个引脚分别对应板子的哪几个io口?

    各位大佬,我们想知道sd卡的四个引脚,分别对应板子的哪几个io口啊,找了半天没找到。
    发表于 08-16 07:18

    创建一边缘机器学习系统

    本指南适用于系统设计人员,可能使用Arm Flexible access程序。 本指南将帮助您开发可以执行机器学习的片上系统(SoC)在边缘。本指南中介绍的SoC可以处理与机器学习相关
    发表于 08-02 11:02

    如何使用Arm CMSIS-DSP实现经典机器学习

    通常,当开发人员谈论机器学习(ML)时,他们指的是神经网络(nn)。 神经网络的巨大优势在于,不需要成为一领域专家,而且可以迅速找到一
    发表于 08-02 07:12

    嵌入式学习路线知道吗?

    嵌入式学习路线知道吗? 1打好嵌入式软件编程的基础 这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。特别
    发表于 06-14 16:00

    iMX8M Plus将机器学习库添加到Yocto精简固件映像?

    我想知道conf/local.conf有什么必要的修改,以便添加机器学习库和其他东西,以便在板上部署 AI 功能而不需要 bitbaking imx-image-full,请问?换句话
    发表于 06-07 06:16

    有关机器视觉的四个真相,你知道几个

    在人们从自然界获取的各种信息中,视觉获取量最高,约占总信息量的80%。随着信息技术的发展,人类的视觉功能逐步被赋予计算机、机器人或其他智能机器。目前正处在行业风口的机器视觉就是这样一种技术,它通过
    的头像 发表于 05-20 10:48 1191次阅读
    有关<b class='flag-5'>机器</b>视觉的<b class='flag-5'>四个</b>真相,你<b class='flag-5'>知道</b><b class='flag-5'>几个</b>