sklearn datasets模块学习

sklearn.datasets模块主要提供了一些导入、在线下载及本地生成数据集的方法,可以通过dir或help命令查看,我们会发现主要有三种形式:load_<dataset_name>、fetch_<dataset_name>及make_<dataset_name>的方法

① datasets.load_<dataset_name>:sklearn包自带的小数据集

  1. In [2]: datasets.load_*?
  2. datasets.load_boston#波士顿房价数据集
  3. datasets.load_breast_cancer#乳腺癌数据集
  4. datasets.load_diabetes#糖尿病数据集
  5. datasets.load_digits#手写体数字数据集
  6. datasets.load_files
  7. datasets.load_iris#鸢尾花数据集
  8. datasets.load_lfw_pairs
  9. datasets.load_lfw_people
  10. datasets.load_linnerud#体能训练数据集
  11. datasets.load_mlcomp
  12. datasets.load_sample_image
  13. datasets.load_sample_images
  14. datasets.load_svmlight_file
  15. datasets.load_svmlight_files

数据集文件在sklearn安装目录下datasets\data文件下

sklearn datasets模块学习

②datasets.fetch_<dataset_name>:比较大的数据集,主要用于测试解决实际问题,支持在线下载

  1. In [3]: datasets.fetch_*?
  2. datasets.fetch_20newsgroups
  3. datasets.fetch_20newsgroups_vectorized
  4. datasets.fetch_california_housing
  5. datasets.fetch_covtype
  6. datasets.fetch_kddcup99
  7. datasets.fetch_lfw_pairs
  8. datasets.fetch_lfw_people
  9. datasets.fetch_mldata
  10. datasets.fetch_olivetti_faces
  11. datasets.fetch_rcv1
  12. datasets.fetch_species_distributions

下载下来的数据,默认保存在~/scikit_learn_data文件夹下,可以通过设置环境变量SCIKIT_LEARN_DATA修改路径,datasets.get_data_home()获取下载路径

  1. In [5]: datasets.get_data_home()
  2. Out[5]: 'G:\\datasets'

③datasets.make_*?:构造数据集

  1. In [4]: datasets.make_*?
  2. datasets.make_biclusters
  3. datasets.make_blobs
  4. datasets.make_checkerboard
  5. datasets.make_circles
  6. datasets.make_classification
  7. datasets.make_friedman1
  8. datasets.make_friedman2
  9. datasets.make_friedman3
  10. datasets.make_gaussian_quantiles
  11. datasets.make_hastie_10_2
  12. datasets.make_low_rank_matrix
  13. datasets.make_moons
  14. datasets.make_multilabel_classification
  15. datasets.make_regression
  16. datasets.make_s_curve
  17. datasets.make_sparse_coded_signal
  18. datasets.make_sparse_spd_matrix
  19. datasets.make_sparse_uncorrelated
  20. datasets.make_spd_matrix
  21. datasets.make_swiss_roll

下面以make_regression()函数为例,首先看看函数语法:

make_regression(n_samples=100, n_features=100, n_informative=10, n_targets=1, bias=0.0, effective_rank=None, tail_strength=0.5, noise=0.0, shuffle=True, coef=False, random_state=None)

参数说明:

n_samples:样本数

n_features:特征数(自变量个数)

n_informative:相关特征(相关自变量个数)即参与了建模型的特征数

n_targets:因变量个数

bias:偏差(截距)

coef:是否输出coef标识

  1. In [7]: data = datasets.make_regression(5,3,2,2,1.0,coef=True)
  2. ...: data
  3. ...:
  4. Out[7]:
  5. (array([[-0.64470031,  2.24028402, -2.26147027],
  6. [-0.09554589,  1.4653344 , -0.8882202 ],
  7. [-1.36214673,  0.08935031,  0.66733545],
  8. [-1.30553824,  1.62553382,  0.65693763],
  9. [-0.81528358,  0.81659886,  1.32412053]]),
  10. array([[ 177.32114822,  -42.34640341],
  11. [ 127.51997766,   -1.98105497],
  12. [ -37.82547178, -104.69214796],
  13. [ 100.19123506,  -95.62163254],
  14. [  45.35860387,  -59.94143654]]),
  15. array([[ 34.3135368 ,  77.79161196],
  16. [ 88.57943632,   3.03795085],
  17. [  0.        ,   0.        ]]))

上述输出结果:元组中的三个数组分别对应输入数据X,输出数据y,coef对应数组

上一篇:tiny6410 启动参数


下一篇:路飞学城-Python开发集训-第3章