sklearn数据集(鸢尾花)的使用--代码实战
1. 鸢尾花数据集
2. sklearn数据集返回值介绍
-
load和fetch返回的数据类型datasets.base.Bunch(字典格式) data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组 target:标签数组,是 n_samples 的一维 numpy.ndarray 数 DESCR:数据描述 feature_names:特征名,新闻数据,手写数字、回归数据集没有 -target_names:标签名
代码:
from sklearn.datasets import load_iris # 获取鸢尾花数据集 iris = load_iris() print(type(iris)) # print(鸢尾花数据集的返回值: , iris) # print(鸢尾花数据集的特征值: , iris[data]) print(iris[data].shape) print(鸢尾花数据集的目标值/标签值: , iris.target) print(鸢尾花数据集特征的名字: , iris.feature_names) print(鸢尾花数据集目标值的名字: , iris.target_names) print(鸢尾花数据集的描述: , iris.DESCR)
部分结果:
3.划分数据集
3.1 数据集划分的API
-
sklearn.model_selection.train_test_split(arrays, *options) x 数据集的特征值 y 数据集的标签值 test_size 测试集的大小,一般为float random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。 return 测试集特征训练集特征值值,训练标签,测试标签(默认随机取) 注意:当要做对比实验的时候,要将random_state设置为一个固定的值,这样才能到达控制变量的效果
完整代码:
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split def datasets_demo(): # 1.获取鸢尾花数据集 iris = load_iris() # print(type(iris)) # print(鸢尾花数据集的返回值: , iris) # print(鸢尾花数据集的特征值: , iris[data]) # print(iris[data].shape) # print(鸢尾花数据集的目标值/标签值: , iris.target) # print(鸢尾花数据集特征的名字: , iris.feature_names) # print(鸢尾花数据集目标值的名字: , iris.target_names) # print(鸢尾花数据集的描述: , iris.DESCR) # 2. 对鸢尾花数据集进行划分 # 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_test # test_size 默认为0.25 x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22) print(x_train: , x_train.shape) # 设置随机数种子 x_train1, x_test1, y_train1, y_test1 = train_test_split(iris.data, iris.target, test_size=0.2, random_state=6) x_train2, x_test2, y_train2, y_test2 = train_test_split(iris.data, iris.target, test_size=0.2, random_state=6) print(随机数种子不一致: , x_train == x_train1) print(随机数种子一致: , x_train2 == x_train1) return None if __name__ == __main__: datasets_demo()
参考:b站sklearn菜菜的课程。