正在为纠结怎么学习sklearn这个包(也就是scikit-learn)里面的算法包的时候,看到了百度贴吧的这篇文章,很好的入门了。原文地址http://tieba.baidu.com/p/3226108693
当然,学了也有一点点经验。
关于sklearn调用算法包的过程:
1.准备好测试集、训练集
2.提取好训练集、测试集的特征值和因变量的值
3.把训练集特征值和因变量的值传入算法中计算
4.把测试集的特征值传入算法做预测
5.计算误差
【注意】
1.特征值的格式:行装入的是每一个特征的值,也就是说,列的个数就是特征的个数,而行数就是样本的个数,也就是训练集的数量
2.最好在做误差计算的时候,先看返回的预测值所构成的向量是行向量还是列向量
3.因为Python是面向对象编程的,所以,sklearn的算法包也是这样的。因此在调用的时候先指定对象。如在线性回归的预测中,可以先执行下面的代码
dd = sklearn.linear_model.LinearRegression()
#这行代码先指定线性回归的对象dd,然后在执行dd.fit()就可以进行回归了
4.关于选择最佳参数(模型):
ridgeRegression = sklearn.linear_model.RidgeCV(alphas=[0.01, 0.05, 0.1, 0.5, 1.0, 10.0])
#在岭回归中,通过调用RidgeCV来直接交叉验证要测试的几个惩罚因子
#每个线性回归模型都有相应的VC方法来交叉验证参数。
ridgeRegression.alpha_
#这行代码是可以查看上行代码带选取的最佳的惩罚因子