读取一个sklearn数据集
通过datasets.fetch(),我们可以从网上获取数据集并保存到本地,data_home为保存路径,当为None时,会放在根目录下的 scikit_learn_data 文件夹中
from sklearn import datasets
datasets.fetch_20newsgroups(data_home=None, subset='all')
scikit_learn_data 在作者电脑上的位置则是
C:\Users\Lenovo
小型数据集可以直接读取,这里我们读取一个鸢尾花数据集,其返回值是一个字典,我们可以看到有以下几个键值:
iris = datasets.load_iris()
print(iris.keys())
简要介绍以下这几个键值:
- data: 特征值
- target: 目标值
- feature_names: 特征值的含义(特征名)
- target_names:目标值的含义(目标名)
- DESCR: 数据集的描述信息
其中特征值是一个二维数组
上一次我们说到,拿到的数据集一般要进行划分。
在不考虑验证集的情况下,可以将数据集划分为训练集和测试集,一般训练集占所有数据的 70%~80% 左右。
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)
按照代码进行划分时,可以加入random_state来让每次划分的训练集和测试集不变。返回值有四个,从左至右分别是特征值(训练集),特征值(测试集),目标值(训练集),目标值(测试集)。
这里的特征维度很少,只有四个,实际上特征值数量可以达到数千以上,我们使用机器学习正是要挖掘出这些特征蕴含的信息。