我正在訓練一個模型來根據一些數據預測真假。在訓練和測試模型時,我從功能列表中刪除了產品編號。X = df.drop(columns = 'Product Number', axis = 1)y = df['result']X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)SVC = LinearSVC(max_iter = 1200)SVC.fit(X_train, y_train)y_pred = SVC.predict(X_test)我有什么辦法可以恢復已通過或未通過的項目的產品編號及其功能嗎?如何獲取 y_pred 的結果/將其與其對應的產品編號關聯起來?我還計劃使用交叉驗證,以便對數據進行洗牌,我還有辦法恢復每個測試項目的產品編號嗎?
1 回答

守候你守候我
TA貢獻1802條經驗 獲得超10個贊
我意識到我使用交叉驗證只是為了評估模型的性能,因此我決定只運行代碼,而不重新整理數據以查看每個數據點的結果。
編輯:對于沒有交叉驗證的評估,只有當我將其傳遞給分類器時,我才會刪除不相關的列,如下所示:
cols = ['id', 'label']
X = train_data.copy()
y = train_data['label']
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=2)
knn = make_pipeline(StandardScaler(),KNeighborsClassifier(n_neighbors=10))
y_val_pred = knn.fit(X_train.drop(columns=cols), y_train).predict(X_val.drop(columns=cols))
X_val['y_val_pred'] = y_val_pred
我加入y_val_pred后預測來檢查哪些數據點被錯誤分類。
添加回答
舉報
0/150
提交
取消