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菜菜的课程。
