二.数据集、数据集的划分(sklearn数据集)
1.数据集
学习是可能用到的数据集
训练集分为训练集和测试集
Kaggle
https://www.kaggle.com/datasets
大数据竞赛平台
80 万科学家
真实数据
数据量巨大
UCI
http://archive.ics.uci.edu/ml/
收录了 559 个数据集
覆盖科学、生活、经济等领域
数据量几十万
scikit-learn
http://scikit-learn.org/stable/datasets/index.html#datasets(opens new window)
数据量较小
方便学习
2 sklearn
2.1 内容
Classification 分类
Regresslon 回归
Clustering 聚类
Dimenslonality reduction 降维
Model Selection 模型选择
Preprocessing 特征工程
2.2 介绍
sklearn.datasets
加载获取流行数据集
datasets.load_*()
获取小规模数据集,数据包含在datasets里
datasets.fetch_*(data_home=None)
获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home表示数据下载的目录,默认是~/scikit_learn_data/
2.3小数据集
sklearn.datasets.load_iris()
加载并返回鸢尾花数据集
sklearn.datasets.load_boston()
加载并返回波士顿房价数据集
2.4 大数据集**
sklearn.datasets.fetch_20newsgroups(data_home=None, subset='train')
subset: 'train' 或者 'test', 'all' ,可选,选择要加载的数据集
训练集的“训练”,测试集的“测试,两都的”全部“
2.5 使用
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
def datasets_demo():
"""
sklearn数据集的使用
:return:
"""
# 获取数据集
iris = load_iris()
print("鸢尾花数据集:\n", iris)
print("查看数据集的描述:\n", iris["DESCR"])
print("查看特特征值的名字:\n", iris.feature_names)
print("查看特征值:\n",iris.data, iris.data.shape)
return
if __name__ == "__main__":
# 代码1:sklearn()数据集的使用
datasets_demo()
2.5 数据集的划分
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效
测试集 20%~30%
sklearn.model_selection.train_test_split(arrays, *options)
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为 float
random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同
返回值 训练集特征值,测试集特征值,训练集目标集,测试集目标集
返回值 x_train, x_test, y_train, y_test
代码
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def datasets_demo():
"""
sklearn数据集的使用
:return:
"""
# 获取数据集
iris = load_iris()
print("鸢尾花数据集:\n", iris)
print("查看数据集的描述:\n", iris["DESCR"])
print("查看特特征值的名字:\n", iris.feature_names)
print("查看特征值:\n",iris.data, iris.data.shape)
# 数据集的划分
x_train, x_test, y_train, y_test=train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
print("训练集的特征值:\n", x_train, x_train.shape)
return
if __name__ == "__main__":
# 代码1:sklearn()数据集的使用
datasets_demo()
下一节是特征工程:链接