机器学习怎么进行数据选择(机器学习之sklearn数据集)
机器学习怎么进行数据选择(机器学习之sklearn数据集)数据集api:训练数据和测试数据出自同一数据源,只是会把数据源的百分之八十左右当做训练数据,剩下当做测试数据。数据的划分无需自己动手划分,sklearn有对应的api自动划分。评估模型算法不同,评估的方式也不同。划分api:sklearn.model_selection.train_test_split
本篇文章主要介绍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() 加载并返回鸢尾花数据集
样本信息
少量数据实例:
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)
执行结果
大数据集实例:
from sklearn.datasets import fetch_20newsgroups news = fetch_20newsgroups(subset='all') print(news.data) print(news.target)
需要下载数据,执行结果会比较多,数量大
回归数据集
sklearn.datasets.load_boston() 加载并返回波士顿房价数据集
样本信息
from sklearn.datasets import load_iris fetch_20newsgroups load_boston lb = load_boston() print("获取特征值") print(lb.data) print("目标值") print(lb.target)
执行结果
后续会持续更新由浅入深机器学习的技术文章,有兴趣的朋友可看我之前的文章,关注我随时了解人工智能