美文网首页
06-数据的划分与sklearn中的数据集介绍

06-数据的划分与sklearn中的数据集介绍

作者: jxvl假装 | 来源:发表于2019-10-01 14:48 被阅读0次
    """
    数据的两部分:
        训练集:用于训练,构建模型
        测试集:在模型检验时使用,用于评估模型是否有效
        训练集与测试集的常用数据量比:7-3、8-2、7.5-2.5(此比例较好,使用较多)
        划分数据的api:sklearn.model_selection.train_test_split
        数据集:
            sklearn.datasets
                加载获取流行数据集
                datasets.load_*()
                    获取小规模数据集,数据包含在datasets里。即本地已经有了
    
                datasets.fetch_*(data_home=None)
                    获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集
                    下载的目录,默认是 ~/scikit_learn_data/
            sklearn获取数据集的格式:
                load*和fetch*返回的数据类型datasets.base.Bunch(字典格式)
    
                data:特征数据数组,是 [n_samples * n_features] 的二维
                      numpy.ndarray 数组
    
                target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
    
                DESCR:数据描述
    
                feature_names:特征名,新闻数据,手写数字、回归数据集没有
    
                target_names:标签名,回归数据集没有
        sklearn分类数据集:
            离散数据集:
                sklearn.datasets.load_iris()    #加载并返回鸢尾花数据集
                sklarrn.datasets.lodd_digits()  #加载并返回数字数据集
            大数据集:
                sklearn.datasets.fetch_20newgroups(data_home, subset)    #用于分类的大数据集,新闻数据集,新闻有20个类别,subset一般取all,然后自己split
            回归数据集:
                sklearn.datasets.load_boston()  #加载并返回波士顿房价数据集
                sklearn.datasets.load_diabetes()    #加载和返回糖尿病数据集
    
        数据集的分割:
            sklearn.model_selection.train_test_split(*arrays, **options)
    
            x   数据集的特征值
            y   数据集的标签值
            test_size   测试集的大小,一般为float,比如20%,30%等
            random_state   随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
            return  训练集特征值,测试集特征值,训练标签,测试标签
            (默认随机取)
    
    
    
    
    """
    
    from sklearn.datasets import load_iris
    li = load_iris()    #li的类型为datasets.base.Bunch(字典格式)
    print("特征值:", li.data)  #获取特征值,二维数组。每一个子列表就是一个特征值
    print("目标值:", li.target)    #获取目标值,其值有0、1、2,代表3个类别。数据都是整数(离散型数据)
    """注意:特征值和目标值是一一对应的"""
    
    print("描述:", li.DESCR) #描述
    print("特征名:", li.feature_names)
    print("标签名:", li.target_names)
    
    """"-------------------------------------------------------------------------------------------------------------"""
    #划分数据集
    from sklearn.model_selection import train_test_split
    x_train, x_test, y_train, y_test = train_test_split(li.data, li.target, test_size=0.25)
    #参数:特征值、目标值、测试集大小。其返回值即有测试集,又有训练集,即他们的特征值(x)和目标值(y)。数据默认是乱序
    
    print("训练集特征值和目标值:\n", x_train, y_train)
    print("测试集特 征值和目标值:\n", x_test, y_test)
    
    """"-------------------------------------------------------------------------------------------------------------"""
    #用于分类的大数据集(新闻数据集,20个类)
    from sklearn.datasets import fetch_20newsgroups
    news = fetch_20newsgroups(subset="all")
    print("特征值:\n", news.data)
    print("目标值:\n", news.target)
    
    """"-------------------------------------------------------------------------------------------------------------"""
    
    from sklearn.datasets import load_boston
    lb = load_boston()
    print("特征值:\n", lb.data)
    print("目标值:\n", lb.target)
    print("描述:\n", lb.DESCR)
    

    相关文章

      网友评论

          本文标题:06-数据的划分与sklearn中的数据集介绍

          本文链接:https://www.haomeiwen.com/subject/rqluuctx.html