前言
此系列文章旨在记录本人学习python过程中遇到的一些值得总结,方便之后及时复习的内容。
本篇博客介绍机器学习中参数调优的一些知识,即网格搜索,随即搜索等,以及一些pipeline的知识。
基础知识
有监督学习中根据因变量的连续与否,可以分为回归和分类问题:
- 回归:因变量是连续型变量,如:房价,体重等。
- 分类:因变量是离散型变量,如:是否患癌症,西瓜是好瓜还是坏瓜等。
为了更好地叙述后面的内容,我们对数据的形式作出如下约定:
第 i i i个样本: x i = ( x i 1 , x i 2 , . . . , x i p , y i ) T , i = 1 , 2 , . . . , N x_i=(x_{i1},x_{i2},...,x_{ip},y_i)^T,i=1,2,...,N xi=(xi1,xi2,...,xip,yi)T,i=1,2,...,N
因变量 y = ( y 1 , y 2 , . . . , y N ) T y=(y_1,y_2,...,y_N)^T y=(y1,y2,...,yN)T
第 k k k个特征: x ( k ) = ( x 1 k , x 2 k , . . . , x N k ) T x^{(k)}=(x_{1k},x_{2k},...,x_{Nk})^T x(k)=(x1k,x2k,...,xNk)T
特征矩阵 X = ( x 1 , x 2 , . . . , x N ) T X=(x_1,x_2,...,x_N)^T X=(x1,x2,...,xN)T
在学习机器学习中,我们经常使用scikit-learn简称sklearn工具库来探索机器学习项目,下面我们开始使用sklearn来进行讲解[1]。。
回归问题建模
数据读取了解
首先,我们先来看看有监督学习中回归的例子,我们使用sklearn内置数据集Iris数据集。sklearn中所有内置数据集都封装在datasets对象内:
返回的对象有:
- data:特征X的矩阵(ndarray)
- target:因变量的向量(ndarray)
- feature_names:特征名称(ndarray)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 在jupyter中通过下行才可方便绘图查看
%matplotlib inline
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
features = iris.feature_names
iris_data = pd.DataFrame(X,columns=features)
iris_data['target'] = y
iris_data.describe()
这里可以进行一个简单的可视化,如: