机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
本讲介绍模型复杂度怎样影响预测精度和计算性能。我们使用的数据集仍然是波士顿房价数据集。对于模型的每一类,我们通过选择有关的模型参数,度量计算性能和预测功效的影响,以此考察模型的复杂度。下面,我们用Python代码解释原理。
代码详解
首先,加载必须的Python函数库。
print(__doc__)
# Author: Eustache Diemert <eustache@diemert.fr>
# License: BSD 3 clause
import time
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.parasite_axes import host_subplot
from mpl_toolkits.axisartist.axislines import Axes
from scipy.sparse.csr import csr_matrix
from sklearn import datasets
from sklearn.utils import shuffle
from sklearn.metrics import mean_squared_error
from sklearn.svm.classes import NuSVR
from sklearn.ensemble.gradient_boosting import GradientBoostingRegressor
from sklearn.linear_model.stochastic_gradient import SGDClassifier
from sklearn.metrics import hamming_loss
为了产生模拟数据集,初始化随机数生成器。
np.random.seed(0)
定义函数generate_data
, 用来产生用于回归或分类问题的模拟数据。该函数有两个输入参数,其中,case
指定回归还是分类问题,sparse
是一个逻辑参数,用来指定数据是否是稀疏的,该参数默认值为False
. 函数输出模拟的数据集。
def generate_data(case, sparse=False):
"""Generate regression/classification data."""
bunch = None
if case == 'regression':