gpt4 book ai didi

python - 训练和预测后恢复实例的 ID

转载 作者:行者123 更新时间:2023-12-01 01:47:42 25 4
gpt4 key购买 nike

我有一个数据集,每个样本都有一个 ID 列,如下例所示:

id score1 score2 score3
1 0.41 0.37 0.04
2 0.19 0.33 0.277
3 0.21 0.33 0.037
4 0.49 0.23 0.378
5 0.51 0.78 0.041

为了根据该数据拟合和预测 ML 分类器,我必须从数据中删除 ID 列

X = np.array(df.drop(['id'], 1)) 
X_train, X_test = model_selection.train_test_split(X, test_size=0.2)`
clf.fit(X_train)
pred = clf.predict(X_test)

我想知道如何恢复预测结果中的 ID,以便我可以识别每个样本是否被正确分类?因为我已经知道 sample 的正确标签。或者,是否有办法在训练中保留 ID(可以是数字或非数字)?

我找到了this相关问题,但我不明白该怎么做,因为他们正在谈论其他事情,例如人口普查估算器等,并且我正在使用 numpy 和 scikit-learn 库运行一个非常简单的 Python 脚本。

最佳答案

您可以使用 Pandas 的功能来执行此操作。我使用了 iris 数据集,下面的代码运行良好。 label 列是实际的标签。

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
df = pd.read_csv("ids.csv", sep=",")
clf = LogisticRegression()

X = df
y = df['label']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
X_train_data = X_train.iloc[:,1:5]
X_test_data = X_test.iloc[:,1:5]
clf.fit(X_train_data, y_train)
pred = clf.predict(X_test_data)
sub = pd.DataFrame(data=X_test)
sub['pred'] = pred
sub.head() #Shows the first few rows

结果看起来像这样

id   f1   f2   f3   f4   label  pred
144 6.8 3.2 5.9 2.3 2 2
68 5.8 2.7 4.1 1.0 1 1
10 4.9 3.1 1.5 0.1 0 0
137 6.3 3.4 5.6 2.4 2 2
46 4.8 3.0 1.4 0.3 0 0

关于python - 训练和预测后恢复实例的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51078742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com