私はScikit-Learn(sklearn)を使って1対全ロジスティック回帰分類子で遊んでいます。私は大規模なデータセットを持っています。トレーニングが進むにつれて学習曲線を勉強したいと思っています。scikitでバッチ勾配降下learn(sklearn)
バッチ勾配降下を使用して、分類器を500サンプルのバッチで訓練したいと考えています。これを行うためにsklearnを使用する方法がありますか?またはsklearnを放棄して "自分自身をロールバックする"べきですか?
これは私がこれまで持っているものです。
from sklearn.linear_model import LogisticRegression
from sklearn.multiclass import OneVsRestClassifier
# xs are subsets of my training data, ys are ground truth for same; I have more
# data available for further training and cross-validation:
xs.shape, ys.shape
# => ((500, 784), (500))
lr = OneVsRestClassifier(LogisticRegression())
lr.fit(xs, ys)
lr.predict(xs[0,:])
# => [ 1.]
ys[0]
# => 1.0
すなわち、トレーニングサンプルを正しく識別します(はい、新しいデータで評価する方が良いことがわかりました - これは簡単な煙検査です)。
R.e.バッチ勾配降下:私は学習曲線を作成するまでは得られませんでしたが、後で訓練データのサブセットでfit
を繰り返し実行することはできますか?あるいはバッチで訓練する他の機能がありますか?ドキュメントとGoogleは、この件に関してかなり静かである。ありがとう!
おそらく、このライブラリのソースコードを調べることができます。 – Arcturus