赞
踩
在实际的数据分析工作中,我们可能拥有一手数据,但却不知道用什么方法、模型来分析更合适。
这时就产生一个疑问:我们所用的模型合不合适呢?参数匹不匹配呢?
这个问题在Python中已经得到解决。
在模型训练技巧中,针对模型效果的验证寻找合适的参数主要有3种方式,分别是K折交叉验证、参数网格搜索,以及训练集、验证集和测试集的引入。
3种方法都为训练出更好的模型、判断模型效果提供帮助。
下面,我们将借助鸢尾花数据集结合相关模型,探讨3种方法的应用。
首先,在Jupyter Notebook中导入相关的库,并从sklearn.datasets中获取鸢尾花数据(此数据包为内置):
- import numpy as np
- import pandas as pd
- import matplotlib.pyplot as plt
- from mpl_toolkits.mplot3d import Axes3D
- import seaborn as sns
- %matplotlib inline
- %config InlineBackend.figure_format = "retina"
- from matplotlib.font_manager import FontProperties
- fonts = FontProperties(fname="C:WindowsFontsSimHei.ttf", size=14)
- from sklearn import metrics
- from sklearn.model_selection import train_test_split
- from sklearn.datasets import load_iris
- Iris = load_iris()
- Iris.data.shape
运行后将看到数据集有150个样本,共4个特征:
再用Iris.target查看分类,可知数据集分为3类,每类数据50个:
一、K折交叉验证
K折交叉验证是采用某种方式将数据集切分为k个子集,每次采用其中的一个子集作为模型的测试集,其余的k-1个子集用于模型训练的验证方法。
这个过程是这样的:重复k次,每次选取作为测试集的子集均不相同,直到每个子集都测试过后,将k次测试集的测试结果的均值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。