zoukankan      html  css  js  c++  java
  • 1.2_数据的特征抽取

    现实世界中多数特征都不是连续变量,比如分类、文字、图像等,为了对非连续变量做特征表述,需要对这些特征做数学化表述,因此就用到了特征提取. sklearn.feature_extraction提供了特征提取的很多方法

    分类特征变量提取

    我们将城市和环境作为字典数据,来进行特征的提取。

    sklearn.feature_extraction.DictVectorizer(sparse = True)

    将映射列表转换为Numpy数组或scipy.sparse矩阵

    • sparse 是否转换为scipy.sparse矩阵表示,默认开启

    方法

    fit_transform(X,y)

    应用并转化映射列表X,y为目标类型

    inverse_transform(X[, dict_type])

    将Numpy数组或scipy.sparse矩阵转换为映射列表

    from sklearn.feature_extraction import DictVectorizer
    onehot = DictVectorizer() # 如果结果不用toarray,请开启sparse=False
    instances = [{'city': '北京','temperature':100},{'city': '上海','temperature':60}, {'city': '深圳','temperature':30}]
    X = onehot.fit_transform(instances).toarray()
    print(onehot.inverse_transform(X))

    文本特征提取(只限于英文)

    文本的特征提取应用于很多方面,比如说文档分类、垃圾邮件分类和新闻分类。那么文本分类是通过词是否存在、以及词的概率(重要性)来表示。

    (1)文档的中词的出现

    数值为1表示词表中的这个词出现,为0表示未出现

    sklearn.feature_extraction.text.CountVectorizer()

    将文本文档的集合转换为计数矩阵(scipy.sparse matrices)

    方法

    fit_transform(raw_documents,y)

    学习词汇词典并返回词汇文档矩阵

    from sklearn.feature_extraction.text import CountVectorizer
    content = ["life is short,i like python","life is too long,i dislike python"]
    vectorizer = CountVectorizer()
    print(vectorizer.fit_transform(content).toarray())

    需要toarray()方法转变为numpy的数组形式

    温馨提示:每个文档中的词,只是整个语料库中所有词,的很小的一部分,这样造成特征向量的稀疏性(很多值为0)为了解决存储和运算速度的问题,使用Python的scipy.sparse矩阵结构

    (2)TF-IDF表示词的重要性

    TfidfVectorizer会根据指定的公式将文档中的词转换为概率表示。(朴素贝叶斯介绍详细的用法)

    class sklearn.feature_extraction.text.TfidfVectorizer()

    方法

    fit_transform(raw_documents,y)

    学习词汇和idf,返回术语文档矩阵。

    from sklearn.feature_extraction.text import TfidfVectorizer
    content = ["life is short,i like python","life is too long,i dislike python"]
    vectorizer = TfidfVectorizer(stop_words='english')
    print(vectorizer.fit_transform(content).toarray())
    print(vectorizer.vocabulary_)

    图像特征提取

  • 相关阅读:
    JS中const的使用
    JS的作用域,闭包的理解
    python中函数的默认参数是空数组
    asp.net 导出 Excel
    asp.net 导出 Excel 身份证格式显示格式问题
    HTML5
    JQuery中checkbox选择器
    JQuery中DOM操作(一)
    PL/SQL 创建用户及权限操作
    PL/SQL 表约束
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10070190.html
Copyright © 2011-2022 走看看