人工智能 (特征数据提取)

特征工程数据提取

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。(本文是个人的笔记,有些内容是引用)

有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。说白了特征工程就是将你自己收集到的数据转化为算法需要的数据形式。下图是一个例子

特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性

接下来介绍几种比较常见的特征抽取

字典特征抽取(使用sklearn)

字典数据抽取:把字典中一些类别数据,分别进行转换成特征,因为原始数据中的有的数据是文本的或者字符串的形式存在的,这时候计算机并不能识别此类型的数据,因此需要对这些数据进行特征抽取。对于本来就是数值型的数据比如说温度等直接保留,而对于有类别的数据则要先转化为字典数据,sklearn中采用one-hot编码的方式处理。

下面是one-hot编码的举例:

原字典

{‘city’:‘北京’,‘temperature’:100},{‘city’:‘上海’,‘temperature’:20},{‘city’:‘杭州’,‘temperature’:90}

one-hot编码后的字典:

{‘city=北京’: 1.0, ‘temperature’: 100.0}, {‘city=上海’: 1.0, ‘temperature’: 20.0}, {‘city=杭州’: 1.0, ‘temperature’: 90.0}

经过sklearn处理后转化成的数组

可以清楚的看到city是用类别的,所以说先将city=城市名转化为特征名(一个类别对应一个特征名),接着如果1代表符合特征,0代表不符合。


下面是使用sklearn编写的简单字典数据抽取的代码:

字典特征抽取

作用:对字典数据进行特征值化

类:sklearn.feature_extraction.DictVectorizer

DictVectorizer(sparse=True,…)

DictVectorizer.fit_transform(X)

X:字典或者包含字典的迭代器

返回值:返回sparse矩阵

DictVectorizer.inverse_transform(X)

X:array数组或者sparse矩阵

返回值:转换之前数据格式

DictVectorizer.get_feature_names()

返回类别名称

DictVectorizer.transform(X)

按照原先的标准转换

流程

1:实例化类DictVectorizer

2:调用fit_transform方法输入数据并转换 注意返回格式

from sklearn.feature_extraction import DictVectorizer

def dictvec():"""字典数据抽取"""#实例化dict=DictVectorizer(sparse=False)data=dict.fit_transform([{'city':'北京','temperature':100},{'city':'上海','temperature':80},{'city':'广州','temperature':70}])#返回类别名称name=dict.get_feature_names()print(name)print(data)if __name__ == '__main__':dictvec()

运行结果:
在这里插入图片描述


文本特征提取

作用:对文本数据进行特征值化

类:sklearn.feature_extraction.text.CountVectorizer

CountVectorizer(max_df=1.0,min_df=1,…)

返回词频矩阵

CountVectorizer.fit_transform(X,y)      X:文本或者包含文本字符串的可迭代对象返回值:返回sparse矩阵
CountVectorizer.inverse_transform(X)X:array数组或者sparse矩阵

返回值:转换之前数据格式

CountVectorizer.get_feature_names()返回值:单词列表

实例测试:

from sklearn.feature_extraction.text import CountVectorizer
def countvec():"""对文本进行特征化:return:None"""#实例化cv=CountVectorizer()data=cv.fit_transform(["life is short,i like python","life is too long,i dislike python"])print(cv.get_feature_names())print(data.toarray())
if __name__ == '__main__':countvec()

运行结果:

['dislike', 'is', 'life', 'like', 'long', 'python', 'short', 'too']
[[0 2 1 1 0 1 1 0][1 1 1 0 1 1 0 1]]

这里的0,1代表的是统计该特征属性在这句话中出现的次数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/255721.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

jmeter-json提取器提取数据

背景 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值。 上一个接口返回的token作为下个接口的入参。 1.案例场景: 我现在有一个登陆接口A,登陆成功后返回一个token值。有一个重置支付…

jmeter的json提取器提取数据

在接口测试中有一个这样的场景:登录之后,返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值,应用在下一个接口,怎么实现? 1、一个变量获取一个数据 登录请求…

如何从网站提取数据?

网络抓取与网络爬取 在当今时代,根据数据情况来制定业务决策是许多公司的头等大事。为了推动这些决策,公司全天候跟踪,监视和记录相关数据。幸运的是,很多网站的服务器上存储了大量公共数据,可以帮助企业在竞争激烈的市…

时间序列数据的特征提取

CDA数据分析师 出品 当你想对时间序列数据做分类时,有两种选择,一个是用时间序列特定的方法,比如说说LSTM模型。另外一种方法就是来从时间序列中提取特征从而将这些特征用在有监督的模型上。在这篇文章中,我们来看下如何使用tsfre…

提取数据_提取图表曲线数据的方法

采用计算机模拟预测电池性能时,一般都需要利用实验数据验证模型的准确性。如果自己无法获取实验数据,那就只能利用文献报道的数据来校正模型。本文介绍从图表曲线中提取数据的小软件及其操作步骤。 操作步骤介绍 (1)软件介绍:Engauge是一款开源软件,用于从文献曲线图或地图…

python如何提取数据_python提取数据的常用方法

在我们要对某一种情况进行分析时,需要大批量的数据材料作为分析的基础,在使用python爬取时,就会涉及到不同的抓取方法。在抓取数据的类型时,又会分为不同的情况进行讨论,本篇整理了三种提取数据方法:正则表达式、BeautifulSoup、lxml。下面就这些方法进行详解。 假设我们…

Tableau数据连接与加载(数据提取)

文章目录 一、实时连接与数据加载二、创建数据提取三、刷新数据提取四、向数据提取添加数据 一、实时连接与数据加载 1、区别 Tableau加载数据有两种基本方式,一种是实时连接,即Tableau从数据源获取查询结果,本身不存储源数据;另…

数据提取-数据提取软件

数据提取,数据提取主要是用来收集数据。这也是数据提取最直接和最常见的用途。由于数据提取是一个工具是一个软件,程序运行速度极快,而且不会因为做重复的事情而感到疲劳,所以使用数据提取来获取大量的数据就变得非常容易和快速。…

科研神器----数据提取软件WebPlotDigitizer的使用

今天介绍一款在写论文时很有帮助的数据提取软件WebPlotDigitizer,在我们查阅参考文献的时候,经常会看到文献中相关的数据图,而这类图通常是只有图形没有具体数据的。为了进一步进行分析处理,我们往往需要获取到图表原始的数据&…

大学四年,因为这8个网站,我成为同学眼中的学霸

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 大学期间,几乎每一个教过我的老师都反应,我的学习态度不好&#x…

chatgpt赋能python:Python:输出0-9的数字

Python:输出0-9的数字 Python是一种简单易用的编程语言,也是一种高级、解释性、交互式和面向对象的动态编程语言。在这篇文章中,我们将介绍如何使用Python编写代码来输出0-9的数字。 安装Python 在使用Python之前,首先要安装它…

2023 简约ChatGPT网页全开源源码

全开源的,很简约,密钥在chat.php里面输入就可以用了,分享给大家自己拿去玩玩,对接的是gpt3.5的版本。 。。。

查看网页源代码 / 查看框架源代码

网页源代码---是父级网页的代码,可在页面内右击或使用快捷键CtrlU 也可以在你想要查看的网页地址栏前面加上入view-source: 框架源代码---网页中有一种节点叫iframe,相当于网页的子页面,他的结构和外部网页的结构完全一致,框架源代…

谷歌浏览器查看网页源代码

Mac OS 苹果系统: optionU 快捷键 Windows系统: 方法一:在谷歌浏览器的任一页面上右键,查看源代码,即可看到该页面的html代码。 方法二:在谷歌浏览器的任一页面中按下快捷键ctrlU,即可看到该页面的html代…

【html代码】Windows网页版界面源码

介绍: Windows12 源码模拟网页win12 ,无需安装,打开start.html即可,功能可以自行增加或者二开等等。 程序下载:https://qumaw.lanzoul.com/i9cMX0dlxygd

查看网页源代码的方法

方法一:右键查看网页源代码 方法二:F12开发者工具 方法三:view-source:url 查看网络数据包: 在开发者工具下选择network就可以查看网络数据包。F5刷新一下可以的到数据包。 转载于:https://www.cnblogs.com/csm21/p/10579543.html…

Python爬虫获取网页源代码出现乱码

发现用python用requests在百度中获得的代码有乱码 import requests # 0.通过如下代码,会发现获取的网页源代码出现乱码 url https://www.baidu.com res requests.get(url).text print(res)出现乱码 查看python获得的编码格式 import requests # 0.通过如下代码…

php网页能实现飘窗吗,网页飘窗源代码

网页飘窗源代码 具体代码如下所示: //link "http://www.myexceptions.net"; //document.getElementById("lka").hreflink; var x 50,y 60 var xin true, yin true var step 1 var delay 20 var objdocument.getElementById("codefa…

如何用java获取网页源代码

如何用java爬取网页源代码 分为3个步骤: 分析实现方式代码展示结果展示 1、分析 以b站为例 抓取b站的源代码是这样的 那么我可以用URL对象获取HttpURLConnection对象 HttpURLConnection对象:它继承自URLConnection,可用于向指定网站发送GE…

Android获取网页源代码

工程目录&#xff1a; 清单文件增加访问网络权限&#xff0c;防止Cleartext HTTP traffic to xxx not permitted错误设置CleartextTraffic“true” <uses-permission android:name"android.permission.INTERNET"/>android:usesCleartextTraffic"true&qu…