sklearn.linear_model.SGDClassifier中的参数n_iter设置问题

  统计/机器学习 监督式学习 Python    浏览次数:6497        分享
1

n_iter是循环次数的意思,应该是越大越好的。我设置n_iter=100,程序跑了很久,n_iter=100000,根本就跑不出来了,等了十几个小时了,为什么这么久,SGD的优势不是速度吗?

我又试了n_iter=1,就是只用一个数据点,按照预期,应该是立即出结果,结果很差。实际上是依然等了一会,而且结果并不离谱。

所以这个n_iter到底怎么用?

 

水煮鱼   2017-04-11 22:10



   2个回答 
3

n_iter其实是epoch的意思。

比如你的训练集样本数量是10000,那么你实际的训练次数是10000 * n_iter,而不是n_iter。所以如果你设置n_iter=100000的话,就需要很久很久才能跑完了。

SofaSofa数据科学社区DS面试题库 DS面经

batmanX   2017-04-12 09:52

2

这个n_iter和训练神经网络时的epoch是一个意思

SofaSofa数据科学社区DS面试题库 DS面经

五道口少年   2017-04-13 07:28



  相关主题

sklearn分类模型中预测结果怎么调整概率的阈值   1回答

sklearn中的Randomizedlogisticregression是什么算法?和SGDClassifier一样吗?   2回答

sklearn中的predict_proba方法的返回值的意义   2回答

sklearn错误ImportError: cannot import name 'joblib'   1回答

sklearn里的LabelEncoder什么用?   3回答

怎么获取sklearn.linear_model.SGDRegressor的回归系数、截距?   1回答

sklearn的模型如何保存下来?   2回答

sklearn中除了sgd以外,还有什么可以使用partial_fit方法吗?   1回答

sklearn SGDClassifier的partial_fit是什么意思?   3回答

python sklearn模型中random_state参数的意义   2回答

怎么自定义sklearn GridSearchCV中评估函数的阈值   1回答

提取sklearn逻辑回归的模型系数   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!