Python-如何在使用train_test_split分割数据后,反转使用LabelEncoder编码的数据的编码?

Python-如何在使用train_test_split分割数据后,反转使用LabelEncoder编码的数据的编码?,python,label-encoding,inverse-transform,Python,Label Encoding,Inverse Transform,我正在尝试导出一个数据集的未编码版本,该数据集是使用LabelEncoder编码的(来自sklearn.preprocessing,以启用机器学习算法的应用),随后被拆分为训练和测试数据集(使用“训练-测试-拆分”) 我想将测试数据导出到excel,但要使用原始值。到目前为止,我发现的示例仅对一个变量使用LabelEncoder的逆变换方法。我想将它自动应用于最初编码的多个列 以下是一个示例数据: # data code = ('A B C D A B C D E F').split() sp

我正在尝试导出一个数据集的未编码版本,该数据集是使用LabelEncoder编码的(来自
sklearn.preprocessing
,以启用机器学习算法的应用),随后被拆分为训练和测试数据集(使用“训练-测试-拆分”)

我想将测试数据导出到excel,但要使用原始值。到目前为止,我发现的示例仅对一个变量使用
LabelEncoder的
逆变换
方法。我想将它自动应用于最初编码的多个列

以下是一个示例数据:

# data
code = ('A B C D A B C D E F').split()
sp = ('animal bird animal animal animal bird animal animal bird thing').split()
res = ('yes, yes, yes, yes, no, no, yes, no, yes, no').split(", ")
 
data =pd.DataFrame({'code':code, 'sp':sp, 'res':res})
data
假设“res”是目标变量,“code”和“sp”是特性。

给你:

# data
code = ('A B C D A B C D E F').split()
sp = ('animal bird animal animal animal bird animal animal bird thing').split()
res = ('yes, yes, yes, yes, no, no, yes, no, yes, no').split(", ")
 
data = pd.DataFrame({'code':code, 'sp':sp, 'res':res})
data

您可以对测试数据执行相同的操作

# reversal of encoding of data
dfr_test = X_test.copy()
for column in X.columns:
    le.fit(data[column])
    dfr_test[column] = le.inverse_transform(X_test[column])
dfr_test
以下是用于导出的完整培训数据(功能+变量):

# reverse encoding of target variable y
le.fit(data['res'])
dfr_train['res'] = le.inverse_transform(y_train)
dfr_train     # unencoded training data, ready for export
给你:

# data
code = ('A B C D A B C D E F').split()
sp = ('animal bird animal animal animal bird animal animal bird thing').split()
res = ('yes, yes, yes, yes, no, no, yes, no, yes, no').split(", ")
 
data = pd.DataFrame({'code':code, 'sp':sp, 'res':res})
data

您可以对测试数据执行相同的操作

# reversal of encoding of data
dfr_test = X_test.copy()
for column in X.columns:
    le.fit(data[column])
    dfr_test[column] = le.inverse_transform(X_test[column])
dfr_test
以下是用于导出的完整培训数据(功能+变量):

# reverse encoding of target variable y
le.fit(data['res'])
dfr_train['res'] = le.inverse_transform(y_train)
dfr_train     # unencoded training data, ready for export