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

    文章

    809

    浏览量

    42799
  • 数字图像
    +关注

    关注

    2

    文章

    121

    浏览量

    19511
  • 编码
    +关注

    关注

    6

    文章

    1015

    浏览量

    56655
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TOF传感器(VL53L5),无法得到data ready怎么解决?

    data not ready。 我想知道这四个值分别代表什么意义?我查了我已知的文档(DS13754,um2884等)未找到相关的寄存器说明。 为何出现这样的原因,以及我应该如何调试?
    发表于 07-10 08:18

    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为提供()用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为提供()用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    电子发烧友网为提供()用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA相关产品参数、数据手册,更有用于
    发表于 05-28 18:31
    用于<b class='flag-5'>四</b>频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有<b class='flag-5'>四个</b>线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    PLC产品故障问题测试的四个部分

    ,必须对故障问题进行系统化测试。本文将详细介绍PLC产品故障问题测试的四个关键部分,帮助技术人员快速定位和解决问题。 一、硬件测试 硬件测试是PLC故障诊断的首要环节,主要针对PLC设备的物理部件进行检查。首先,需要检查电源模块是否
    的头像 发表于 05-11 17:00 1149次阅读
    PLC产品故障问题测试的<b class='flag-5'>四个</b>部分

    ADS1211如何给道的初始化、四个通道又是如何轮流进行A/D转换?

    使用的。 而我设计的板卡中,ADS1211是通道轮流工作。在此,小弟急需知晓ADS1211如何给道的初始化、四个通道又是如何轮流进行A/D转换?具体的流程是怎样的?恳切希望TI
    发表于 02-13 07:53

    如何采用六线制的方式来实现一称重的应用?

    传感器的反馈端返回,这四个反馈端又怎么和AD芯片的REF正负连? 还是说,需要实现这种应用,就必须用片ADS1232?
    发表于 02-13 07:33

    ADS1211获取四个通道全部数据的最短时间是多少?

    看pdf没看出什么门道,想问下这款ADC四个差分通道同步采样,获取四个通道全部数据的最短时间是多少!
    发表于 02-10 07:24

    Meta组建大专研小组,深入探索DeepSeek模型

    近日,据报道,脸书母公司Meta为了提升其大模型Llama的性能,专门成立了四个研究小组,深入探索量化巨头幻方量化旗下的国产大模型DeepSeek的工作原理。 据悉,Meta组建的这四个小组各有侧重
    的头像 发表于 02-05 14:02 705次阅读

    模数转换电路的四个过程

    模数转换(Analog-to-Digital Conversion,简称ADC)是将模拟信号转换为数字信号的关键过程,广泛应用于通信、数据采集、信号处理等领域。模数转换电路的设计与实现涉及多个关键步骤,通常可以分为四个主要过程:采样、保持、量化和编码。本文将详细分析这四个
    的头像 发表于 02-03 16:12 2354次阅读

    请问DAC3484四个通道能否独立使用?

    请问,DAC3484 四个通道能否独立使用?即当把DAC的NCO频率设置为fs/2时,IQ两通道是否就可以独立了?
    发表于 01-23 07:35

    请问AD9852四个输出口有什么差别?

    AD9852四个输出口有什么差别?是不是IOUT1是余弦输出,IOUT2是DAC控制输出,需要设置DAC控制寄存器?
    发表于 01-16 06:59

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN这四个管脚什么作用呢?

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN这四个管脚什么作用呢,如果我用单端5V供电,2.5V基准源,是否要按照datasheet里那种用运放的接法吗?
    发表于 01-01 06:39

    TLV5614的四个通道输出电压都一大堆杂波,请问是芯片的问题吗?

    最近用TLV5614芯片,他的四个通道输出电压都一大堆杂波,请问是芯片的问题吗?
    发表于 12-26 08:22

    开源项目!OpenCat—— 一全能的平价机器

    的消费市场。可以把它想象成一有腿的安卓手机或Alexa,带有一可供第三方扩展的应用商店。它可以以约每秒 2.6 身体长度的速度持续运行 60分钟,或者坐着播放视频
    发表于 12-16 11:44