一、安装
pip3 install Scikit-learn
注:安装scikit-learn需要Numpy, Scipy等库
二、获取数据
1,sklearn.datasets.load_* 获取小规模数据集
# 例如获取鸢尾花数据集
sklearn.datasets.load_iris()
2,sklearn.datasets.fetch_* 获取大规模数据集,需要从网络上下载
# 例如获取20类新闻文本
sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
data_home:表示数据集下载的目录,默认是~/scikit learn.data/
subset:‘train’或者’test’,‘all’,选择要加载的数据集。分别为训练集,测试集,两者全部
三、数据集的返回值
返回的数据类型:datasets.base.Bunch(继承自字典)
data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR:数据描述
feature_names:特征名
target_names:标签名
四、数据集划分
思考:从sklearn拿到的数据是否全部都用来训练一个模型?
当然是不行的,数据对于开发人员来说是非常珍贵的,我们需要把数据分为训练数据和测试数据。训练数据用于训练,构建模型,测试数据在模型检验时使用,用于评估模型是否有效,一般测试集占全部数据的 20%~30%
1,数据集划分api
sklearn.model_selection.train_test_split(arrays, *options)
# 参数说明
# x:数据集的特征值
# y:数据集的标签值
# random_state:随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
2,返回数据
x_train, x_test, y_train, y_test:训练集特征值,测试集特征值,训练集目标值,测试集目标值
五、实操
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 获取鸢尾花数据集
iris = load_iris()
# 查看返回的字典
print("鸢尾花数据集的返回值:\n", iris)
# 返回值是一个继承自字典的Bunch
print("鸢尾花的特征值:\n", iris["data"])
print("鸢尾花的目标值:\n", iris.target)
print("鸢尾花的描述:\n", iris.DESCR)
print("鸢尾花特征的名字:\n", iris.feature_names)
print("鸢尾花目标值的名字:\n", iris.target_names)
# 划分鸢尾花数据集,随机分子为5
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=5)
# 查看训练集特征值数量
print("x_train:\n", x_train.shape)