sklearn数据集
sklearn:
Python语言的机器学习工具
Scikit-learn包括许多知名的机器学习算法的实现
Scikit-learn文档完善,容易上手,丰富的API
sklearn数据集使用:
sklearn.datasets 加载获取流行数据集
datasets.load_()
获取小规模数据集,数据包含在datasets里
datasets.fetch_(data_home=None) 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/
示例:
from sklearn.datasets import load_iris
def datasets_demo():
iris=load_iris()
print(iris)
if __name__ == '__main__':
datasets_demo()
加载常用的鸢尾花数据集并输出,查看控制台
数据还是蛮多的,那我们稍微处理一下,查看一下他的特征值和目标值就好
from sklearn.datasets import load_iris
def datasets_demo():
iris=load_iris()
print(iris.data)
print(iris.target)
if __name__ == '__main__':
datasets_demo()
上面特征值的数组代表每一个特征值,我们输出一下看看特征值名称是什么
print(iris.feature_names)
所以说 每一个数字代表的就是每一个特征值的数据
在鸢尾花中 一共分为三种,所以目标值中的0 1 2也各自代表着不同的鸢尾花类别
综上所述,这里的鸢尾花数据集是通过每一朵花的不同特征的数据来识别出它是属于哪一种类型的鸢尾花
数据集的划分
机器学习一般的数据集会划分为两个部分:
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效
数据集划分api
sklearn.model_selection.train_test_split(arrays, *options)
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为float,默认是测试数据占百分之二十五
random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
代码示例:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def datasets_demo():
iris=load_iris()
# # 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_test
x_train,x_test,y_tarin,y_test=train_test_split(iris.data,iris.target,random_state=22)
print(x_train,x_test)
if __name__ == '__main__':
datasets_demo()
训练集和测试集的取值是有顺序要求的,顺序要求如上述代码