n_iter是循环次数的意思,应该是越大越好的。我设置n_iter=100,程序跑了很久,n_iter=100000,根本就跑不出来了,等了十几个小时了,为什么这么久,SGD的优势不是速度吗?
我又试了n_iter=1,就是只用一个数据点,按照预期,应该是立即出结果,结果很差。实际上是依然等了一会,而且结果并不离谱。
所以这个n_iter到底怎么用?
2个回答
n_iter其实是epoch的意思。
比如你的训练集样本数量是10000,那么你实际的训练次数是10000 * n_iter,而不是n_iter。所以如果你设置n_iter=100000的话,就需要很久很久才能跑完了。
SofaSofa数据科学社区DS面试题库 DS面经 相关主题
sklearn里learning_rate什么意思?
2回答
GradientBoostingClassifier的每次输出结果不同
1回答
python sklearn模型中random_state参数的意义
2回答
怎么获取sklearn.linear_model.SGDRegressor的回归系数、截距?
1回答
sklearn中的predict_proba方法的返回值的意义
2回答
求sklearn.pipeline.Pipeline使用的例子
1回答
sklearn训练classifier的时候报错Unknown label type
1回答
sklearn中的Randomizedlogisticregression是什么算法?和SGDClassifier一样吗?
2回答
sklearn classification_report里的support是什么意思
1回答
查看sklearn版本
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!