я построил dict.keys (), как показано ниже, с их формой ниже
dict_keys(['Train_Input', 'Test_Input', 'Train_Target', 'Test_Target', 'Train_TargetName', 'Test_TargetName'])
(240, 7200) (60, 7200) (240,) (60,) (240,) (60,)
а затем я использую sciki-learn MLP для обучения
from sklearn.neural_network import MLPClassifier
from sklearn.datasets import fetch_mldata
import numpy as np
import pickle
X_train = Input_Data['Train_Input']
X_test = Input_Data['Test_Input']
Y_train = Input_Data['Train_Target']
Y_test = Input_Data['Test_Target']
mlp = MLPClassifier(solver='sgd', activation='relu',alpha=1e-4,
hidden_layer_sizes=(8,8), random_state=1,
max_iter=10, verbose=10, learning_rate_init=0.001)
mlp.fit(X_train, Y_train)
print(mlp.score(X_test, Y_test))
print(mlp.n_layers_)
print(mlp.n_iter_)
print(mlp.loss_)
print(mlp.out_activation_)
есть ошибка:
Unknown label type: (array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
dtype=object),)
я проверил их типы
print(type(X_train))
print(type(Y_train))
print(type(X_test))
print(type(Y_test))
<class 'pandas.core.frame.DataFrame'>
<class 'numpy.ndarray'>
<class 'pandas.core.frame.DataFrame'>
<class 'numpy.ndarray'>
как я могу это решить? какой np.dtype
я должен поменять Y?
Я пробовал это y = y.astype ('int'), но это та же проблема.
Где y
в показанном вами коде? Вы пробовали Y_train = Y_train.astype('int')
?
Я также пробовал это: Y_train = Y_train.tostring (), с ошибкой: dtype = '| S1920') не может считаться действительной коллекцией.
да, я вместо Y_train, Y_test to y
Измените ваши
Y_train
иY_test
dtypes на что-нибудь кроме объекта. Строки или целые числа должны работать.