【发布时间】:2019-03-23 00:38:40
【问题描述】:
您可以在下面找到我在互联网上找到的用于构建简单神经网络的代码。 Everyhting 工作正常,但是当我对 y 标签进行编码时,我得到的预测结果如下:
2 0 1 2 1 2 2 0 2 1 0 0 0 1 1 1 1 1 1 1 2 1 2 1 0 1 0 1 0 2
所以现在我需要将它转换回原来的花类(Iris-virginica 等)。我需要使用 inverse_transform 方法,但你能帮忙吗?
import pandas as pd
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import classification_report, confusion_matrix
# Location of dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
# Assign colum names to the dataset
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'Class']
# Read dataset to pandas dataframe
irisdata = pd.read_csv(url, names=names)
irisdata.head()
#head_tableau=irisdata.head()
#print(head_tableau)
# Assign data from first four columns to X variable
X = irisdata.iloc[:, 0:4]
# Assign data from first fifth columns to y variable
y = irisdata.select_dtypes(include=[object])
y.head()
#afficher_y=y.head()
#print(afficher_y)
y.Class.unique()
#affiche=y.Class.unique()
#print(affiche)
le = preprocessing.LabelEncoder()
y = y.apply(le.fit_transform)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20)
mlp = MLPClassifier(hidden_layer_sizes=(10, 10, 10), max_iter=1000)
mlp.fit(X_train, y_train.values.ravel())
predictions = mlp.predict(X_test)
print(predictions)
【问题讨论】:
标签: python scikit-learn neural-network