资源经验分享sklearn数据集 及 fetch_20newsgroups() data_home参数设置问题

sklearn数据集 及 fetch_20newsgroups() data_home参数设置问题

2019-12-20 | |  110 |   0

原标题:sklearn数据集 及 fetch_20newsgroups() data_home参数设置问题

原文来自:CSDN      原文链接:https://blog.csdn.net/qq_36853469/article/details/103396758


1.sklearn数据集
    1.1 数据集的划分:
        训练集:构建模型,                                   建议75%
        测试集:检验模型,评估模型是否有效。   建议25%
    1.2 sklearn 数据集划分api
        1.2.1 sklearn.model_selection.train_test_split(*arrays,**options)
            x:数据集的特征值
            y:数据集的标签值
            test_size 测试集的大小,一般为float
            random_state 随机数种子,一般的种子会造成不同的随机采样结果,相同个种子采样结果相同。
            return 训练集特征值,测试集特征值,训练标签,测试标签(默认随机数)
        1.2.2 sklearn.datasets
            .datasets.load_*()
                获取小规模数据集,数据包含在datasets
            .datasets.fetch_*(data_home=None)
                获取大规模数据集,参数表示数据集下载目录,默认 ~/scikit_learn_data/,如数据集不存在,会自动下载,如下

                       01.png
            load* 和 fetch* 返回的数据类型datasets.base.Bunch(字典格式)
                .data 特征数据数组,二维numpy.ndarry
                .target 标签数组,是n_samples的一维numpu.ndarray数组
                .DESCR: 数据描述
                .feature_names: 特征名 数据新闻,手写数字、回归数据集没有该字段
                .target_names: 标签名

load* 个 fetch*代码

def datasets_load():
    iris = load_iris()
    # print("data特征值")
    # print(iris.data)
    '''
    [[5.1 3.5 1.4 0.2]
    ...150行
    '''
    # print("target目标值")
    # print(iris.target)
    '''
    [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
     0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
     2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
     2 2]
    '''
    # print(iris.DESCR)
 
    #训特   测特     训目标   测目标
    x_train,x_test, y_train, y_test =train_test_split(iris.data,iris.target,test_size=0.25)
 
    print("训练集特征值和目标值:",x_train,x_test)
    """
    训练集特征值和目标值: [[5.8 2.8 5.1 2.4]
     [6.1 2.6 5.6 1.4]
     [5.1 3.5 1.4 0.2]...]]
     
     
    """
    print("测试集特征值和目标值:",y_train,y_test)
    '''
    这里只有之前75%的数据了,25%拿来测试了,特征值随机了,不想之前000有规律
    测试集特征值和目标值: [2 2 0 0 2 1 0 0 0 0 2 0 2 2 0 2 1 0 1 0 1 0 0 1 2 1 1 2 1 1 0 2 1 2 1 2 2
     1 1 2 0 2 0 0 1 0 1 2 0 1 1 2 0 0 1 0 1 1 1 2 0 1 1 1 2 0 1 0 1 2 1 2 0 1
     1 0 2 0 0 2 2 1 0 0 2 1 1 1 1 0 0 1 0 2 2 2 2 1 2 0 2 2 2 0 1 2 1 1 0 0 2
     0] [2 0 2 1 1 0 1 0 1 2 2 2 2 0 2 0 2 0 0 1 2 2 0 1 1 0 0 1 2 0 2 2 2 2 0 1 1
     1]
    '''
def loadboston():
    boston = load_boston()
    print(boston.data)
    '''
    [[6.3200e-03 1.8000e+01 2.3100e+00 ... 1.5300e+01 3.9690e+02 4.9800e+00]
     [2.7310e-02 0.0000e+00 7.0700e+00 ... 1.7800e+01 3.9690e+02 9.1400e+00]
     [2.7290e-02 0.0000e+00 7.0700e+00 ... 1.7800e+01 3.9283e+02 4.0300e+00]
     ...
     [6.0760e-02 0.0000e+00 1.1930e+01 ... 2.1000e+01 3.9690e+02 5.6400e+00]
     [1.0959e-01 0.0000e+00 1.1930e+01 ... 2.1000e+01 3.9345e+02 6.4800e+00]
     [4.7410e-02 0.0000e+00 1.1930e+01 ... 2.1000e+01 3.9690e+02 7.8800e+00]]
    '''
    print(boston.target)
    '''
    [24.  21.6 34.7 33.4 36.2 28.7 22.9 27.1 16.5 18.9 15.  18.9 21.7 20.4
     18.2 19.9 23.1 17.5 20.2 18.2 13.6 19.6 15.2 14.5 15.6 13.9 16.6 14.8
     18.4 21.  12.7 14.5 13.2 13.1 13.5 18.9 20.  21.  24.7 30.8 34.9 26.6
     25.3 24.7 21.2 19.3 20.  16.6 14.4 19.4 19.7 20.5 25.  23.4 18.9 35.4
     24.7 31.6 23.3 19.6 18.7 16.  22.2 25.  33.  23.5 19.4 22.  17.4 20.9
     24.2 21.7 22.8 23.4 24.1 21.4 20.  20.8 21.2 20.3 28.  23.9 24.8 22.9
     23.9 26.6 22.5 22.2 23.6 28.7 22.6 22.  22.9 25.  20.6 28.4 21.4 38.7
     43.8 33.2 27.5 26.5 18.6 19.3 20.1 19.5 19.5 20.4 19.8 19.4 21.7 22.8
     18.8 18.7 18.5 18.3 21.2 19.2 20.4 19.3 22.  20.3 20.5 17.3 18.8 21.4
     15.7 16.2 18.  14.3 19.2 19.6 23.  18.4 15.6 18.1 17.4 17.1 13.3 17.8
     14.  14.4 13.4 15.6 11.8 13.8 15.6 14.6 17.8 15.4 21.5 19.6 15.3 19.4
     17.  15.6 13.1 41.3 24.3 23.3 27.  50.  50.  50.  22.7 25.  50.  23.8
     23.8 22.3 17.4 19.1 23.1 23.6 22.6 29.4 23.2 24.6 29.9 37.2 39.8 36.2
     37.9 32.5 26.4 29.6 50.  32.  29.8 34.9 37.  30.5 36.4 31.1 29.1 50.
     33.3 30.3 34.6 34.9 32.9 24.1 42.3 48.5 50.  22.6 24.4 22.5 24.4 20.
     21.7 19.3 22.4 28.1 23.7 25.  23.3 28.7 21.5 23.  26.7 21.7 27.5 30.1
     44.8 50.  37.6 31.6 46.7 31.5 24.3 31.7 41.7 48.3 29.  24.  25.1 31.5
     23.7 23.3 22.  20.1 22.2 23.7 17.6 18.5 24.3 20.5 24.5 26.2 24.4 24.8
     29.6 42.8 21.9 20.9 44.  50.  36.  30.1 33.8 43.1 48.8 31.  36.5 22.8
     30.7 50.  43.5 20.7 21.1 25.2 24.4 35.2 32.4 32.  33.2 33.1 29.1 35.1
     45.4 35.4 46.  50.  32.2 22.  20.1 23.2 22.3 24.8 28.5 37.3 27.9 23.9
     21.7 28.6 27.1 20.3 22.5 29.  24.8 22.  26.4 33.1 36.1 28.4 33.4 28.2
     22.8 20.3 16.1 22.1 19.4 21.6 23.8 16.2 17.8 19.8 23.1 21.  23.8 23.1
     20.4 18.5 25.  24.6 23.  22.2 19.3 22.6 19.8 17.1 19.4 22.2 20.7 21.1
     19.5 18.5 20.6 19.  18.7 32.7 16.5 23.9 31.2 17.5 17.2 23.1 24.5 26.6
     22.9 24.1 18.6 30.1 18.2 20.6 17.8 21.7 22.7 22.6 25.  19.9 20.8 16.8
     21.9 27.5 21.9 23.1 50.  50.  50.  50.  50.  13.8 13.8 15.  13.9 13.3
     13.1 10.2 10.4 10.9 11.3 12.3  8.8  7.2 10.5  7.4 10.2 11.5 15.1 23.2
      9.7 13.8 12.7 13.1 12.5  8.5  5.   6.3  5.6  7.2 12.1  8.3  8.5  5.
     11.9 27.9 17.2 27.5 15.  17.2 17.9 16.3  7.   7.2  7.5 10.4  8.8  8.4
     16.7 14.2 20.8 13.4 11.7  8.3 10.2 10.9 11.   9.5 14.5 14.1 16.1 14.3
     11.7 13.4  9.6  8.7  8.4 12.8 10.5 17.1 18.4 15.4 10.8 11.8 14.9 12.6
     14.1 13.  13.4 15.2 16.1 17.8 14.9 14.1 12.7 13.5 14.9 20.  16.4 17.7
     19.5 20.2 21.4 19.9 19.  19.1 19.1 20.1 19.9 19.6 23.2 29.8 13.8 13.3
     16.7 12.  14.6 21.4 23.  23.7 25.  21.8 20.6 21.2 19.1 20.6 15.2  7.
      8.1 13.6 20.1 21.8 24.5 23.1 19.7 18.3 21.2 17.5 16.8 22.4 20.6 23.9
     22.  11.9]
    '''


            sklearn.datasets.fetch_20newsgroups(data_home=None,subset="train")
                .subset:"train" 或者 "test","all",可选,选择要加载的数据集。
                训练集的"训练",测试集的"测试",两者的"全部"
            .datasets.clear_data_home(data_home=None)
                .清除目录下的数据

这里需要将下载文件放到  C:Users(你的user_name)scikit_learn_data20news_home目录下

会自行创建,没有的话自己建一个。下载的文件叫20news-bydate.tar.gz你下载的叫20newsbydate.tar.gz,记得修改名字为一样的。

                                                  03.png

进入Python安装文件夹lib中找twenty_newsgroups.py  例如我的是E:Python3.7Libsite-packagessklearndatasets

                                                                       04.png

用任意文本编辑器打开它
找到download_20newsgroups函数

                                 05.png             

暂时注释掉下载部分,添加上文件路径

06.png

 

def fetch_20ng():
news = fetch_20newsgroups(data_home="./scikit_learn_data/",subset="all")
print(news.data)
print(news.target)

 运行代码,结果:

01.png

其中第一行代表的是每篇文章,第二行数字代表的是文章的类别

 

 

sklearn其他API等参考官网https://scikit-learn.org/stable/datasets/

 

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:解决centos7 安装mysqlclient报错问题

下一篇:机器学习----数据特征预处理---数据降维

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...