我正在訓(xùn)練一個模型來根據(jù)一些數(shù)據(jù)預(yù)測真假。在訓(xùn)練和測試模型時,我從功能列表中刪除了產(chǎn)品編號。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)我有什么辦法可以恢復(fù)已通過或未通過的項目的產(chǎn)品編號及其功能嗎?如何獲取 y_pred 的結(jié)果/將其與其對應(yīng)的產(chǎn)品編號關(guān)聯(lián)起來?我還計劃使用交叉驗證,以便對數(shù)據(jù)進(jìn)行洗牌,我還有辦法恢復(fù)每個測試項目的產(chǎn)品編號嗎?
1 回答

守候你守候我
TA貢獻(xiàn)1802條經(jīng)驗 獲得超10個贊
我意識到我使用交叉驗證只是為了評估模型的性能,因此我決定只運(yùn)行代碼,而不重新整理數(shù)據(jù)以查看每個數(shù)據(jù)點的結(jié)果。
編輯:對于沒有交叉驗證的評估,只有當(dāng)我將其傳遞給分類器時,我才會刪除不相關(guān)的列,如下所示:
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后預(yù)測來檢查哪些數(shù)據(jù)點被錯誤分類。
添加回答
舉報
0/150
提交
取消