python - 使用 MLP 的神经网络分类器

标签 python machine-learning neural-network

我是机器学习的新手,我正在开发一个 python 应用程序,该应用程序使用数据集对扑克牌进行分类,我将发布片段。似乎效果不太好。它无法正确对手进行分类。我收到以下错误

", line 298, in fit
    raise ValueError("Multioutput target data is not supported with "
ValueError: Multioutput target data is not supported with label binarization

以下是我的代码:

import pandas as pnd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import classification_report
training = pnd.read_csv(".idea/train.csv")
training.keys()
training.shape
X = np.array(training)
y = np.array(training)
X_train, X_test, y_train, y_test = train_test_split(X, y)
scaler = StandardScaler()
# Fit only to the training data
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
mlp = MLPClassifier(hidden_layer_sizes=(30, 30, 30, 30, 30, 30, 30, 30, 30, 30))
mlp.fit(X_train, y_train)
predictions = mlp.predict(X_test)
print(classification_report(y_test, predictions))
len(mlp.coefs_)
len(mlp.coefs_[0])
len(mlp.intercepts_[0])

以下是我正在使用的数据集示例: Image here

这是数据集的描述: https://archive.ics.uci.edu/ml/datasets/Poker+Hand

有什么问题吗?如果我以正确的方式做事,我确实希望有人能够指导我。

最佳答案

只是将其保留为此处的答案。

问题是 scalet.fit 必须包含 Y_train

更改:

scaler.fit(X_train)

至:

scaler.fit(X_train, y_train)

关于python - 使用 MLP 的神经网络分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43238285/

相关文章:

python - 战舰游戏 - if/else 问题

python - 如何使用带有图像的边界框进行多标签图像训练?

machine-learning - PyTorch 批量大小在 n epoch 后突然减小

tensorflow - 在 TensorBoard 中可视化各层的激活

python - 字典数据未正确附加到另一个字典

python - Numpy uint8_t 数组到 vtkImageData

java - 定制斯坦福NER

python - Theano:如何将训练数据提供给神经网络

python - Keras 中的深度自动编码器将一个维度转换为另一个维度

python - numpy.polyfit 的额外结果是什么意思?