首页 > 编程知识 正文

如何使用scikit训练线性回归,scikitlearn数据分析

时间:2023-05-05 17:52:08 阅读:258863 作者:399

scikit-learn中有非常多的曲线,对于调参非常有用处,我经常用到的曲线是学习曲线,验证曲线以及交叉验证曲线。

使用这些曲线的代码格式非常固定:

返回值 = 曲线名字(模型对象,X, Y, 交叉验证数量,评分标准.....)

它们只是返回值不同以及其中设置的参数略有不同。

学习曲线:(learning curve)

这条曲线的主要作用是观察数据集的大小对于模型性能的影响。

使用代码如下:

train_sizes, train_scores, valid_scores = learning_curve(SVC(kernel='linear'), X, y, train_sizes=[50, 80, 110], cv=5,scoring='r2')

其中train_sizes=[50, 80, 110]的意思是选择50个、80个、110个样本数据,还可以[0.1,0.2,1.0]这样设置,这就是按照比例来分割数据的意思。

验证曲线:(validation curve)

这条曲线的用处主要是观察超参数对模型带来的影响,为模型选择合适的超参数。

使用代码如下:

sklearn.learning_curve.validation_curve(estimator, X, y, param_name, param_range, cv=None, scoring=None, n_jobs=1, pre_dispatch='all', verbose=0)

train_scores, valid_scores = validation_curve(Ridge(), X, y, "超参数的名称", np.logspace(-7, 3, 3)) 交叉验证曲线 (cross_val_score)


from sklearn.cross_validation import cross_val_score

scores = cross_val_score(knn, X, y, cv=10, scoring='accuracy')

以上是调节模型参数的三种曲线,使用非常方便。

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。