zoukankan      html  css  js  c++  java
  • 机器学习sklearn和字典特征抽取

    sklean数据集

    sklearn.datasets

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

    sklearn小数据集


    • sklearn.datasets.load_iris()

      加载并返回鸢尾花数据集

    • sklearn.datasets.load_boston()

      加载并返回波士顿房价数据集

    sklearn大数据集


    • sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
      • subset:'train'或者'test','all',可选,选择要加载的数据集。
      • 训练集的“训练”,测试集的“测试”,两者的“全部”

    sklearn数据集的使用


    sklearn数据集返回值介绍

    • load和fetch返回的数据类型datasets.base.Bunch(字典格式)如下:
    • data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
    • target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
    • DESCR:数据描述
    • feature_names:特征名,新闻数据,手写数字、回归数据集没有
    • target_names:标签名
     
    def datasets_demo(): """ sklearn数据集使用 """ #获取数据集 iris=load_iris() print("鸢尾花数据集: ",iris) print("查看数据集描述: ",iris.DESCR) print("查看特征值的名字: ",iris.feature_names) print("查看特征值: ",iris.data,iris.data.shape) #数据集划分 # 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_test x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.2,random_state=22) #训练集的特征值 print("训练集的特征值: ",x_train,x_train.shape ) # 随机数种子 x_train1, x_test1, y_train1, y_test1 = train_test_split(iris.data, iris.target, random_state=6) x_train2, x_test2, y_train2, y_test2 = train_test_split(iris.data, iris.target, random_state=6) print("如果随机数种子不一致: ", x_train == x_train1) print("如果随机数种子一致: ", x_train1 == x_train2) return None
     

    特征提取


    字典特征提取


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

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

    我们对以下数据进行特征提取

    [{'city': '北京','temperature':100} {'city': '上海','temperature':60} {'city': '深圳','temperature':30}]
     
    def dict_demo(): """ 对字典类型的数据进行特征抽取 :return: None """ data = [{'city': '北京', 'temperature': 100}, {'city': '上海', 'temperature': 60}, {'city': '深圳', 'temperature': 30}] # 1、实例化一个转换器类 transfer = DictVectorizer(sparse=False) # 2、调用fit_transform data = transfer.fit_transform(data) print("返回的结果: ", data) # 打印特征名字 print("特征名字: ", transfer.get_feature_names()) return None
     

     对于特征当中存在类别信息的我们都会做one-hot编码处理

  • 相关阅读:
    Nodejs下载和第一个Nodejs示例
    永久关闭Win10工具栏的TaskbarSearch控件
    对称加密,非对称加密,散列算法,签名算法
    【转】TTL和RS232之间的详细对比
    zlg核心板linux系统中查看系统内存等使用信息
    Power BI后台自动刷新数据报错 The operation was throttled by Power BI Premium because there were too many datasets being processed concurrently.
    剪切板和上传文件内容获取
    CSS, LESS, SCSS, SASS总结
    文字程序
    electron 打包“ERR_ELECTRON_BUILDER_CANNOT_EXECUTE”
  • 原文地址:https://www.cnblogs.com/dd110343/p/14341570.html
Copyright © 2011-2022 走看看