Python 如何将正确的ID分配给y_pred?

Python 如何将正确的ID分配给y_pred?,python,pandas,dataframe,scikit-learn,Python,Pandas,Dataframe,Scikit Learn,我有一个带有列的pd.Dataframe数据集: index, text, label, ID ID是以特定的方式给出的,因此可以通过ID将文本分组。 我对文本进行了预处理,制作了一个管道,做了一个sklearn.model\u selection.train\u test\u split,并使用gridsearch进行了预测(gs.fit(x\u train,y\u train))。 现在我有了我的原始数据集,x_序列,x_测试,y_序列,y_测试和y_pred.其中y_pred是y_pre

我有一个带有列的
pd.Dataframe
数据集:

index, text, label, ID
ID是以特定的方式给出的,因此可以通过ID将文本分组。 我对文本进行了预处理,制作了一个
管道
,做了一个
sklearn.model\u selection.train\u test\u split
,并使用gridsearch进行了预测(
gs.fit(x\u train,y\u train)
)。 现在我有了我的原始数据集,x_序列,x_测试,y_序列,y_测试y_pred.其中y_pred是
y_pred=gs_fit.best_estimator_u.predict(x_测试)

以下是我想要的:

现在我想找出我的y_pred的对应ID,看看是否有一些ID中的组比其他组预测得更好

我这里的问题是,我不再有索引,预处理后的文本不同,因此我不确定如何找出哪个y\u pred连接到哪个ID
你知道怎么做吗?

我相信
索引被保留了下来<代码>X_测试.index==y_测试.index

#。。。假设您拆分了数据帧,并且没有重置索引
十、 y=df[['feature_1','feature_2']],df[['target']]
#列车尺寸或试验尺寸
X_列车,X_试验,y_列车,y_试验=列车试验(
十、 y,序列号=0.8,随机状态=42)
#保留索引。所以
打印(全部(X_test.index==y_test.index))#真
因此,只需使用index来定位ID。
y\u pred
将以与X\u test.index相同的外观进行排序

# return only test IDs and their predictions
results = df[df.index == X_test.index][['ID']]
results['y_pred'] = y_pred
print(results)
如果
索引
由于使用了Pandas以外的另一种数据结构而丢失,那么另一个技巧是将
ID
预先附加到文本
AC123 |此处输入的文本
。文本函数必须排除
|
之前的所有文本。对后者进行任何文本预处理。然后可以使用第一部分查找ID