回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>好吧,我想说的是,刚开始我对SciKit学习和数据科学完全陌生。但这是问题和我目前对这个问题的研究。代码在底部。在</p>
<h2>摘要</h2>
<p>我尝试用BernoulliRBM进行类型识别(比如数字),并尝试用GridSearchCV找到正确的参数。但是我看不出有什么事发生。我看到了很多使用详细设置的例子,我看到了输出和进度,但我的例子只是说</p>
<pre><code>Fitting 3 folds for each of 15 candidates, totalling 45 fits
</code></pre>
<p>然后它坐在那里什么也不做…永远(或8个小时,我用高详细设置等待的最长时间)。在</p>
<p>我有一个相当大的数据集(1000个2D数组,每个数组的大小为428×428),所以这可能是问题所在,但我也将verbosity设置为10,所以我觉得我应该看到某种输出或进展。另外,就我的“目标”而言,它要么是0,要么是1,要么是我要找的对象(1),要么不是(0)。在</p>
<h2>以前的研究</h2>
<ul>
<li>我调查了sklearn.预处理为了看看这是否有必要,这似乎不是问题所在(但我再次重申,我对此完全陌生)。在</li>
<li>我增加了冗长</li>
<li>我从使用3D数据列表切换到使用scipy csr矩阵列表。在</li>
<li>我等了8个小时,设置得很详细,我还是看不到任何事情发生。在</li>
<li>我从不使用管道改为使用管道</li>
<li><p>我篡改了gridsearchcv的各种参数,并尝试创建假的(较小的)数据集来练习。在</p>
<pre><code>def network_trainer(self, data, files):
train_x, test_x, train_y, test_y = train_test_split(data, files, test_size=0.2, random_state=0)
parameters = {'learning_rate':np.arange(.25, .75, .1), 'n_iter':[5, 10, 20]}
model = BernoulliRBM(random_state=0, verbose=True)
model.cv = 2
model.n_components = 2
logistic = linear_model.LogisticRegression()
pipeline = Pipeline(steps=[('model', model), ('clf', logistic)])
gscv = grid_search.GridSearchCV(pipeline, parameters, n_jobs=-1, verbose=10)
gscv.fit(train_x, train_y)
print gscv.best_params_
</code></pre></li>
</ul>
<p>我真的很感激你能给我一个正确的方向。谢谢你考虑我的问题。在</p>