机器学习之sklearn数据集

本篇文章主要介绍sklearn数据集及其分类,快速获取用于学习的数据。

数据集划分

机器学习一般的数据集会划分为两个部分:

训练数据:用于训练,构建模型

测试数据:在模型检验时使用,用于评估模型是否有效

训练数据和测试数据出自同一数据源,只是会把数据源的百分之八十左右当做训练数据,剩下当做测试数据。数据的划分无需自己动手划分,sklearn有对应的api自动划分。评估模型算法不同,评估的方式也不同。

数据划分api

划分api:

sklearn.model_selection.train_test_split


数据集api:

sklearn.datasets

• 加载获取流行数据集

• datasets.load_*()

• 获取小规模数据集,数据包含在datasets里

• datasets.fetch_*(data_home=None)

• 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据下载的目录,默认是 ~/scikit_learn_data/

• load*和fetch*返回的数据类型datasets.base.Bunch(字典格式)

• data:特征数据数组,是 [n_samples * n_features] 的二维

numpy.ndarray 数组

• target:目标值,标签数组,是 n_samples 的一维 numpy.ndarray 数组

• DESCR:数据描述

• feature_names:特征名,新闻数据,手写数字、回归数据集没有

• target_names:标签名,回归数据集没有

分类数据集

sklearn.datasets.load_iris() 加载并返回鸢尾花数据集

机器学习之sklearn数据集

样本信息

少量数据实例:

from sklearn.datasets import load_iris

li = load_iris()
print("特征数据数组")
print(li.data)
print("目标值")
print(li.target)
print("特征名")
print(li.feature_names)
print("目标值")
print(li.target_names)
# print("数据描述")
# print(li.DESCR)

# x表示特征值,y表示目标值
x_train, x_test, y_train, y_test = model_selection.train_test_split(li.data, li.target, test_size=0.25)
print("训练集的特征值和目标值", x_train, y_train)
print("测试集的特征值和目标值", x_test, y_test)
机器学习之sklearn数据集

执行结果

大数据集实例:

from sklearn.datasets import fetch_20newsgroups

news = fetch_20newsgroups(subset='all')
print(news.data)
print(news.target)

需要下载数据,执行结果会比较多,数量大

回归数据集

sklearn.datasets.load_boston() 加载并返回波士顿房价数据集


机器学习之sklearn数据集

样本信息

from sklearn.datasets import load_iris, fetch_20newsgroups, load_boston

lb = load_boston()
print("获取特征值")
print(lb.data)
print("目标值")
print(lb.target)
 
机器学习之sklearn数据集

执行结果

后续会持续更新由浅入深机器学习的技术文章,有兴趣的朋友可看我之前的文章,关注我随时了解人工智能


机器学习之sklearn数据集


分享到:


相關文章: