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

    sklearn数据集

    数据集API介绍

    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编码处理

  • 相关阅读:
    图书管理系统---基于form组件和modelform改造添加和编辑
    Keepalived和Heartbeat
    SCAN IP 解释
    Configure Active DataGuard and DG BROKER
    Oracle 11gR2
    我在管理工作中積累的九種最重要的領導力 (李開復)
    公募基金公司超融合基础架构与同城灾备建设实践
    Oracle 11g RAC for LINUX rhel 6.X silent install(静默安装)
    11gR2 静默安装RAC 集群和数据库软件
    Setting Up Oracle GoldenGate 12
  • 原文地址:https://www.cnblogs.com/xiaofengzai/p/14287765.html
Copyright © 2011-2022 走看看