1 scikit-learn数据集API介绍
from sklearn.datasets import *
1、获取小规模数据集,数据包含在datasets里
datasets.load_*()
2、获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/
datasets.fetch_*(data_home=None)
eg:sklearn.datasets.load_iris():加载并返回鸢尾花数据集
sklearn.datasets.load_boston():加载并返回波士顿房价数据集 sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
注:subset:‘train’或者’test’,‘all’,可选,选择要加载的数据集。
训练集的“训练”,测试集的“测试”,两者的“全部”
3、介绍一下sklearn数据集的返回值
获取数据集的两种方法:load_,fetch_,无论是load还是fetch返回的都是bunch类型的数据,数据里面有五个键,分别为:特征值,目标值,特征值的名字,目标值的名字以及对数据的描述可以通过两种方式获得相应的键值对,一种是字典通过中括号索引,一种是点属性的方式
from sklearn.datasets import load_iris
def datasets_demo():
#获取数据集
#获取数据集的两种方法:load_*,fetch_*,无论是load还是fetch返回的都是bunch类型的数据,数据里面有五个键,
#分别为:特征值,目标值,特征值的名字,目标值的名字以及对数据的描述
#可以通过两种方式获得相应的键值对,一种是字典通过中括号索引,一种是点属性的方式
iris=load_iris()#小规模load 大规模fetch
print("鸢尾花数据集:\n",iris)
print("查看数据集的描述:\n",iris["DESCR"])#两种表示方式都可以 1)iris["DESCR"],iris.DESCR
print("查看特征值的名字:\n",iris.feature_names)
print("查看特征值:\n",iris.data ,iris.data.shape)
return None
if __name__ == '__main__':
#代码一:sklearn数据集使用
datasets_demo()
4、 数据集的划分
from sklearn.model_selection import train_test_spilt
数据集划分api:
sklearn.model_selection.train_test_split(arrays, *options)
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为float
random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
return 测试集特征训练集特征值值,训练标签,测试标签(默认随机取)
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def datasets_demo():
"""
对鸢尾花数据集的演示
:return: None
"""
# 1、获取鸢尾花数据集
iris = load_iris()
print("鸢尾花数据集的返回值:\n", iris)
# 返回值是一个继承自字典的Bench
print("鸢尾花的特征值:\n", iris["data"])
print("鸢尾花的目标值:\n", iris.target)
print("鸢尾花特征的名字:\n", iris.feature_names)
print("鸢尾花目标值的名字:\n", iris.target_names)
print("鸢尾花的描述:\n", iris.DESCR)
# 2、对鸢尾花数据集进行分割
# 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_test
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22)
print("x_train:\n", x_train.shape)
return None
if __name__ == '__main__':
#代码一:sklearn数据集使用
datasets_demo()