我一直在尝试使用Sklearn的神经网络MLPClassifier.我有一个大小为1000个实例的数据集(带有二进制输出),我想应用一个带有1个隐藏层的基本神经网络.
问题是我的数据实例并非同时全部可用.在任何时间点,我只能访问1个数据实例.我认为MLPClassifier的partial_fit方法可以用于此,所以我用1000个输入的虚数据集模拟了这个问题,并且一次一个地循环输入,并且每个实例都有一个partial_fit但是当我运行代码时,神经网络什么都不学习并且预测的输出全为零.
我对可能导致问题的原因一无所知.任何想法都非常感激.
from __future__ import division
import numpy as np
from sklearn.datasets import make_classification
from sklearn.neural_network import MLPClassifier
#Creating an imaginary dataset
input, output = make_classification(1000, 30, n_informative=10, n_classes=2)
input= input / input.max(axis=0)
N = input.shape[0]
train_input = input[0:N/2,:]
train_target = output[0:N/2]
test_input= input[N/2:N,:]
test_target = output[N/2:N]
#Creating and training the Neural Net
clf = MLPClassifier(activation='tanh', algorithm='sgd', learning_rate='constant',
alpha=1e-4, hidden_layer_sizes=(15,), random_state=1, batch_size=1,verbose= True,
max_iter=1, warm_start=True)
classes=[0,1]
for j in xrange(0,100):
for i in xrange(0,train_input.shape[0]):
input_inst = [train_input[i,:]]
input_inst = …Run Code Online (Sandbox Code Playgroud)