机器学习基础
Posted linranran
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习基础相关的知识,希望对你有一定的参考价值。
sklearn的数据集
- 数据集划分
- 数据集接口介绍
数据集划分
- 前提:机器学习就是从数据中自动分析获得规律,并利用规律对未知数据进行预测。换句话说,我们的模型一定是要经过样本数据对其进行训练,才可以对未知数据进行预测的。
- 问题:我们得到数据后,是否将数据全部用来训练模型呢?
- 当然不是!因为我们如果模型(数据的规律)都是从数据中得来的,那么该模型的性能评估如何进行呢?还是基于对原先的数据进行预测吗?可想不是的,如果模型对原先的数据进行预测,由于模型(数据的规律)本来就是从该数据中获取的,所以预测的精度几乎会是百分之百。所以想要评估模型的好坏,需要使用一组新数据对模型进行评估。
- 因此我们需要将原先的样本数据拆分成两部分:
- 训练集:训练模型
- 测试集:评估模型
- 不同类型的模型对应的评估方式是不一样的
- 数据集划分的API
- from sklearn.model_selection import train_test_split
- train_test_split(x,y,test_size,random_state)参数介绍:
- x:特征
- y:目标
- test_size:测试集的比例
- random_state:打乱的随机种子
- 返回值:训练特征,测试特征,训练目标,测试目标
数据集接口介绍
- sklearn.datasets.load_*():获取小规模的数据集
- sklearn.datasets.fetch_*(data_home=None,subset):获取大规模的数据集data_home表示数据集下载目录,None为默认值表示的是家目录/scikit_learn_data(自动创建该文件夹)下。需要从网络下载.subset为需要下载的数据集,可以为train,test,all
#方式1:获取小规模的数据集 import sklearn.datasets as datasets iris = datasets.load_iris() #提取样本数据 feature = iris[‘data‘] target = iris[‘target‘] feature.shape (150, 4) target.shape (150,) target array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]) #切分样本数据 from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_test = train_test_split(feature,target,test_size=0.2,random_state=2020) x_train,y_train #训练集数据
x_test,y_test #测试集数据
#方式2:获取较大规模的数据集 datasets.fetch_20newsgroups(data_home=‘数据集保存路径‘,subset=‘all‘)
以上是关于机器学习基础的主要内容,如果未能解决你的问题,请参考以下文章
[vscode]--HTML代码片段(基础版,reactvuejquery)