ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据集和特征提取

2021-08-05 19:02:21  阅读:321  来源: 互联网

标签:__ iris datasets data feature 特征提取 数据 sklearn


目录

sklearn数据集

一、scikit-learn数据集API介绍

  • sklearn.datasets
    加载获取流行数据集
    datasets.load_*()
    – 获取小规模数据
  • datasets.fetch_*(data_home=None)
    获取大规模数据集,需要从网络上下载,函数第一个参数是data_home,表示数据集下载的目录,默认是 ~/sickit_learn_data/

二、sklearn大数据集

  • sklearn.datasets.fetch_20newsgroups'data_home=None, subset=“train”)
    – subset:“train”或者“test”,“all”,可选

三、sklearn返回值

  • load和fetch返回的数据集类型datasets.base.Bunch(字典格式)
  • data:特征数据集,是二维数组numpy.ndarray
  • target:标签数组,一维
  • DESCR:数据描述
  • feature_names:特征名
  • target_names:标签名
from sklearn.datasets import load_iris

def datasets_demo():
    '''
    sklear数据集使用
    '''
    iris = load_iris()
    print("花:\n",iris)
    print("特征值名:\n",iris.feature_names)
    print("类型:\n",iris.data.shape[0])
    print("第二:\n",iris.target.shape[0])
    return None

if __name__ == "__main__":
    datasets_demo()

数据集划分api

  • sklearn.model_selection.train_test_split(arrays,*options)
  • x 数据集的特征值
  • y 数据集的标签值
  • test_size (一般float类型)
  • random_state 随机数种子
  • return 训练集特征值,测试集特征值,训练集目标值,测试集目标值
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

def datasets_demo():
    '''
    sklear数据集使用
    '''
    iris = load_iris()
    x, y, train_name, test_name = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
    print("训练集的特征值:\n",x.shape)
    print("测试集的特征值:\n",y.shape)
    return None

if __name__ == "__main__":
    datasets_demo()

补充:shape用法

特征值提取

特征提取APIsklearn.feature_extraction

一、字典特征提取

  • sklearn.feature_extraction.DictVectorizer(sparse=Ture)
  • DictVectorizer.fit_transform(x) X:包含字典的迭代器返回值,返回sparse(稀疏)矩阵
  • DictVectorizer.inverse_transform(x) X:array数组或者sparse矩阵,返回值:转换之前的数据格式
  • DictVectorizer.get_feature_names()返回类别名称
from sklearn.feature_extraction import DictVectorizer

def dict_demo():
    '''
    字典特征抽取
    '''
    data = [{'city':'北京','temperature':100}, {'city':'上海','temperature':60}, {'city':'深圳','temperature':30}]
    tranfer = DictVectorizer(sparse=False)
    data_new = tranfer.fit_transform(data)
    print("data_new:\n", data_new)
    print(transfer.get_feature_names())
    return None

if __name__ == "__main__":
    dict_demo()

二、文本特征提取

  • sklearn.feature_extranction.text.CountVectorizer(stop_words=[停用词])
    返回词频矩阵

  • CountVectorizer.fit_transform(x) X

  • CountVectorizer.inverse_transform(x) X

  • CountVectorizer.get_feature_names()

  • 代码和“字典”类似

  • import jieba自动分词(中午)

def cut_word(text):
   '''中文分词函数'''
   return " ".join( list ( jieba.cut (text) ) )

join函数用法

三、Tf-idf文本特征提取(找关键词)

  1. TF-IDF:衡量一个词的重要性
  2. 公式——TF:词频(term frequency),某一个词在该文章的频率。
    IDF:逆向文档频率(inverse document frequency),是一个词普遍重要性的度量。可由总文件数目除以包含该词之文件的数目,再将得到的商除以10为底的对数得到

API

  • sklearn.feature_extraction.text.TfidfVectorizer(stop_words=None…)
  • 返回词的权重矩阵
  • TfidfVectorizer.fit_transform(X): "X"文本或者包含文本字符串的可迭代对象 "返回值"返回sparse矩阵
  • TfidfVectorizer.inverse_transform(X)"X"array数组或者sparse矩阵"返回值"转换之前的数据格式
  • TfidfVectorizer.get_feature_names()

标签:__,iris,datasets,data,feature,特征提取,数据,sklearn
来源: https://blog.csdn.net/m0_54786792/article/details/119363540

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有