Python使用sklearn实现的各种回归算法示例
本文实例讲述了Python使用sklearn实现的各种回归算法。分享给大家供大家参考,具体如下:
使用sklearn做各种回归
基本回归:线性、决策树、SVM、KNN
集成方法:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
1. 数据准备
为了实验用,我自己写了一个二元函数,y=0.5np.sin(x1)+ 0.5np.cos(x2)+0.1*x1+3。其中x1的取值范围是050,x2的取值范围是-1010,x1和x2的训练集一共有500个,测试集有100个。其中,在训练集的上加了一个-0.5~0.5的噪声。生成函数的代码如下:
def` `f(x1, x2):`` ``y ``=` `0.5` `*` `np.sin(x1) ``+` `0.5` `*` `np.cos(x2) ``+` `0.1` `*` `x1 ``+` `3`` ``return` `y``def` `load_data():`` ``x1_train ``=` `np.linspace(``0``,``50``,``500``)`` ``x2_train ``=` `np.linspace(``-``10``,``10``,``500``)`` ``data_train ``=` `np.array([[x1,x2,f(x1,x2) ``+` `(np.random.random(``1``)``-``0.5``)] ``for` `x1,x2 ``in` `zip``(x1_train, x2_train)])`` ``x1_test ``=` `np.linspace(``0``,``50``,``100``)``+` `0.5` `*` `np.random.random(``100``)`` ``x2_test ``=` `np.linspace(``-``10``,``10``,``100``) ``+` `0.02` `*`