Вы можете создать оператор преобразования, чтобы преобразовать ваш TextureID
в std::string
operator std::string() const {
// logic to create a string to return
}
или создать явную функцию для преобразования
std::string to_string() const {
// logic to create a string to return
}
Я бы предложил использовать стратифицированное разбиение между поездом и тестовым набором данных, потому что некоторые классы могут искажать представление в обучении.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
Это опечатка на вашей стороне, вы назначаете X_train
дважды:
X_train, X_train, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
Правильный ответ будет:
X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
Кстати. fetch_mldata
устареет в ближайшее время, было бы лучше использовать:
from sklearn.datasets import fetch_openml
X, y = fetch_openml("mnist_784", version=1, return_X_y=True)