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

  • 相关阅读:
    【Python-虫师】自动化测试模型--参数化
    【Loadrunner】【浙江移动项目手写代码】代码备份
    虫师的性能测试思想html网页学习
    Loadrunner之https协议录制回放报错如何解决?(九)
    【Python虫师】多窗口定位
    【虫师讲Selenium+Python】第三讲:操作测试对象
    【虫师Python】第二讲:元素定位
    【小甲鱼】【Python】正则表达式(三)
    【小甲鱼】【Python】正则表达式(二)
    js提交数据时需判断是点击事件还是回车键
  • 原文地址:https://www.cnblogs.com/xiaofengzai/p/14287765.html
Copyright © 2011-2022 走看看