大数据特征提取方法,数据挖掘 特征提取

  大数据特征提取方法,数据挖掘 特征提取

  工程数据提取:

  机器学习(Machine Learning,ML)是一门交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂性理论等诸多学科。本文研究的是专门的计算机如何模拟或实现人类的学习行为,从而获得新的知识或技能,并重组已有的知识结构,以不断提高自身的性能。它是人工智能的核心,是让计算机智能化的根本途径。它广泛应用于人工智能的各个领域,主要是用归纳和综合来代替演绎。(本文为个人笔记,部分内容引用)

  业内广为流传一句话:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。特征工程到底是什么?甜萝莉,其本质是一种工程活动,目的是最大限度地从原始数据中提取特征,供算法和模型使用。说白了,特征工程就是把自己收集的数据转化成算法要求的数据形式。下图就是一个例子。

  工程是将原始数据转化为更好地代表预测模型潜在问题的特征,从而提高未知数据的模型精度的过程。

  接下来,介绍几种常见的特征提取。

  字典特征提取(使用sklearn)

  字典数据提取:字典中的某些类别的数据被分别转换成特征,因为原始数据中的某些数据是以文本或字符串的形式存在的。此时计算机无法识别这类数据,所以需要从这些数据中提取特征。对于原本是数值型的数据,比如温度,直接保留,对于分类数据,先转换成字典数据。sklearn使用一键编码进行处理。

  以下是一键编码的示例:

  原版词典

  {城市:北京,温度:100}、{城市:上海,温度:20}、{城市:杭州、温度:90}}

  一键编码词典:

  { 城市=北京:1.0,温度:100.0},{ 城市=上海:1.0,温度:20.0},{ 城市=杭州:1.0,温度:90.0}}

  sklearn处理转换的数组。

  :可以很清楚的看到,city使用的是类别,所以先把city=city name转换成特征名(一个类别对应一个特征名),然后如果1表示符合特征,0表示不符合。

  下面是sklearn写的简单字典数据提取的代码:

  词典特征提取

  功能:特征值字典数据。

  class:sk learn . feature _ extraction . dict vector

  字典矢量器(稀疏=真,…)

  DictVectorizer.fit_transform(X)

  x:字典或包含字典的迭代器

  返回值:返回稀疏矩阵

  dict vectorizer . inverse _ transform(X)

  x:数组或稀疏矩阵

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

  dict vectorizer . get _ feature _ names()

  返回类别名称

  DictVectorizer.transform(X)

  按原标准转换

  流动

  1:实例化DictVectorizer类

  2.调用fit_transform方法输入数据并转换返回格式。

  从sklearn.feature_extraction导入字典矢量器

  Def dictvec(): 字典数据提取 # instantiation dict=dict vectorzer(spare=false)data=dict . fit _ transform([{ city : Beijing , temperature:100},{ city : Shanghai )Temperature :80 },{city: Guangzhou , Temperature :70 })#返回类别名称=dict . get _ feature _ names()print(name)print(data)if _ _ name _= _ main _

  文本特征提取

  功能:特征值文本数据。

  class:sk learn . feature _ extraction . text . count vectorer

  Countorizer (max _ df=1.0,min _ df=1,…)返回词频矩阵。

  计数矢量器。fit _ transform (x,y) x:文本或包含文本字符串的迭代对象。返回值:返回稀疏矩阵计数矢量器。Inverse _ transform (x) x:数组数组或稀疏矩阵。返回值:转换前的数据格式。

  Countorizer.get _ feature _ names()返回值:单词列表实例测试:

  从sk学习。特征提取。文本导入计数矢量定义计数矢量(): 对文本进行特征化:返回:无 #实例化cv=计数矢量器()数据=cv。fit _ transform([生命短暂,我喜欢python ,生命太长,我不喜欢python ])打印(简历。get _ feature _ names())打印(数据。to array())if _ _ name _ _= _ _ main _ _ :count vec()运行结果:

  [不喜欢,是,生活,喜欢,长, python ,短,太][[0 2 1 1 0 1 1 0 1 0][1 1 1 0 1 0 1]这里的0,1代表的是统计该特征属性在这句话中出现的次数

大数据特征提取方法,数据挖掘 特征提取