我正在尝试训练一个分类模型来对图像进行分类,但我的图像是 1 和 0 的 Numpy 数组,如图所示,
目前,我已经尝试过,
x1_data=[]
def create_array(columns=5,rows=5,randomness=.3):
board = np.zeros([rows,columns],dtype='int64')
for i in range(rows):
for j in range(columns):
if np.random.random() <= randomness:
board[i,j] = 1
return board
for i in range(5):
x1_data.append(create_array())
这给了我5个数组`
array([[[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[1, 0, 0, 0, 0],
[0, 0, 0, 0, 1],
[0, 0, 0, 0, 1]],
[[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 1, 0],
[0, 1, 0, 0, 0]],
[[1, 0, 0, 1, 0],
[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 0]],
[[0, 0, 0, 0, 0],
[1, 0, 0, 1, 1],
[0, 0, 1, 1, 1],
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 1]],
[[0, 0, 0, 0, 1],
[0, 0, 0, 0, 0],
[0, 0, 0, 1, 0],
[0, 1, 1, 0, 0],
[0, 0, 0, 0, 1]],
[[1, 0, 0, 1, 1],
[0, 0, 1, 1, 0],
[0, 0, 1, 0, 0],
[1, 0, 0, 0, 0],
[1, 1, 0, 0, 0]]]
对于 A 类,类似地,我为 B 类生成了 5 个数组,然后将它们堆叠为单个 X 数组。
我的输出 y 是:
y = np.random.choice([0, 1], size=(10,), p=[1./3, 2./3])
array([0, 1, 1, 1, 1, 0, 0, 0, 0, 0])
如何预处理这些数据以在 sklearn 中训练 MLP 我收到此错误
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)
clf.fit(g, h)
#Error
Found array with dim 3. Estimator expected <= 2.