【发布时间】:2022-01-19 11:42:32
【问题描述】:
我正在构建一个预测模型来判断汽车是否是跑车。该模型工作正常,但是我想将预测值加入唯一 ID 并可视化比例等。基本上我有两个数据框:
- 使用标记数据进行测试 - test_cars
| CarId | Feature1 | Feature2 | IsSportCar |
|---|---|---|---|
| 1 | 90 | 150 | True |
| 2 | 60 | 200 | False |
| 3 | 560 | 500 | True |
- 要预测的未标记数据 - cars_new
| CarId | Feature1 | Feature2 |
|---|---|---|
| 4 | 88 | 666 |
| 5 | 55 | 458 |
| 6 | 150 | 125 |
from sklearn.neighbors import KNeighborsClassifier
# Create arrays for the features and the response variable
y = test_cars['IsSportCar'].values
X = test_cars.drop(['IsSportCar','CarId'], axis=1).values
X_new = cars_new.drop(['CarId'], axis=1).values
# Create a k-NN classifier with 10 neighbors
knn = KNeighborsClassifier(n_neighbors=10)
# Fit the classifier to the data
knn.fit(X,y)
y_pred = knn.predict(X_new)
模型工作正常,但我想将预测值加入每辆汽车 (CarId),因此 car_new 数据帧将与预测列“IsSportCar”一起输出:
| CarId | Feature1 | Feature2 | IsSportCar |
|---|---|---|---|
| 4 | 88 | 666 | False |
| 5 | 55 | 458 | True |
| 6 | 150 | 125 | True |
任何想法如何将预测值连接回唯一 ID?
【问题讨论】:
-
用
pd.concat怎么样? -
"将预测值加入每辆车 (CarId)" 是一种非常迂回的方式,简单地说 "在我的数据框“IsSportCar”中创建一个新列具有测试集中每一行/CarId 的预测值”.
标签: python pandas scikit-learn