sklearn.datasets模块主要提供了一些导入、在线下载及本地生成数据集的方法,可以通过dir或help命令查看,我们会发现主要有三种形式:load_<dataset_name>、fetch_<dataset_name>及make_<dataset_name>的方法
① datasets.load_<dataset_name>:sklearn包自带的小数据集
- In [2]: datasets.load_*?
- datasets.load_boston#波士顿房价数据集
- datasets.load_breast_cancer#乳腺癌数据集
- datasets.load_diabetes#糖尿病数据集
- datasets.load_digits#手写体数字数据集
- datasets.load_files
- datasets.load_iris#鸢尾花数据集
- datasets.load_lfw_pairs
- datasets.load_lfw_people
- datasets.load_linnerud#体能训练数据集
- datasets.load_mlcomp
- datasets.load_sample_image
- datasets.load_sample_images
- datasets.load_svmlight_file
- datasets.load_svmlight_files
数据集文件在sklearn安装目录下datasets\data文件下
②datasets.fetch_<dataset_name>:比较大的数据集,主要用于测试解决实际问题,支持在线下载
- In [3]: datasets.fetch_*?
- datasets.fetch_20newsgroups
- datasets.fetch_20newsgroups_vectorized
- datasets.fetch_california_housing
- datasets.fetch_covtype
- datasets.fetch_kddcup99
- datasets.fetch_lfw_pairs
- datasets.fetch_lfw_people
- datasets.fetch_mldata
- datasets.fetch_olivetti_faces
- datasets.fetch_rcv1
- datasets.fetch_species_distributions
下载下来的数据,默认保存在~/scikit_learn_data文件夹下,可以通过设置环境变量SCIKIT_LEARN_DATA修改路径,datasets.get_data_home()获取下载路径
- In [5]: datasets.get_data_home()
- Out[5]: 'G:\\datasets'
③datasets.make_*?:构造数据集
- In [4]: datasets.make_*?
- datasets.make_biclusters
- datasets.make_blobs
- datasets.make_checkerboard
- datasets.make_circles
- datasets.make_classification
- datasets.make_friedman1
- datasets.make_friedman2
- datasets.make_friedman3
- datasets.make_gaussian_quantiles
- datasets.make_hastie_10_2
- datasets.make_low_rank_matrix
- datasets.make_moons
- datasets.make_multilabel_classification
- datasets.make_regression
- datasets.make_s_curve
- datasets.make_sparse_coded_signal
- datasets.make_sparse_spd_matrix
- datasets.make_sparse_uncorrelated
- datasets.make_spd_matrix
- 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标识
- In [7]: data = datasets.make_regression(5,3,2,2,1.0,coef=True)
- ...: data
- ...:
- Out[7]:
- (array([[-0.64470031, 2.24028402, -2.26147027],
- [-0.09554589, 1.4653344 , -0.8882202 ],
- [-1.36214673, 0.08935031, 0.66733545],
- [-1.30553824, 1.62553382, 0.65693763],
- [-0.81528358, 0.81659886, 1.32412053]]),
- array([[ 177.32114822, -42.34640341],
- [ 127.51997766, -1.98105497],
- [ -37.82547178, -104.69214796],
- [ 100.19123506, -95.62163254],
- [ 45.35860387, -59.94143654]]),
- array([[ 34.3135368 , 77.79161196],
- [ 88.57943632, 3.03795085],
- [ 0. , 0. ]]))
上述输出结果:元组中的三个数组分别对应输入数据X,输出数据y,coef对应数组