Understand the idea
predict_proba columns follow classes_, not a guessed order. Thresholds turn binary probabilities into labels; multiclass prediction usually chooses the largest class score.
What the syntax does
model.classes_- Gives the fitted class order used by probability columns.
Supplied for this practice
These objects are prepared afresh before your editor runs.
X- Feature dataframe for the declared population, preserving row indices.
X = df[['length', 'width']] y- Target series, aligned with
X.y = df.label X_train/X_test/y_train/y_test- Training feature rows from the declared split. Final-test feature rows from the declared split. Training targets, aligned with
X_train. Final-test targets, aligned withX_test.X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y) model- Already fitted on
X_train,y_train. Fitted estimator or pipeline for the requested model family. Fitted onX_train,y_train; reuse without refitting.
Outputs you create
answer- The requested result, with the values, labels and row order described by this task.
length | width | label |
|---|---|---|
| 236.033 | -0.805568 | A |
| 581.297 | 0.728558 | A |
| -1511.27 | -1.00866 | A |
| 99.0248 | -0.24496 | A |
| -13.0141 | -0.660765 | A |
| 681.179 | 0.602475 | A |
| 51.1472 | 0.873157 | A |
| 362.131 | -0.665605 | A |
- Create a dataframe of test probabilities with the actual class labels as columns.
answerHints
Think: Probability columns follow the estimator’s fitted class order.
Tools: predict_proba, classes_ and dataframe index.
Approach: Build the probability table with test-row indices and fitted class names.
Explained solution
answer=pd.DataFrame(model.predict_proba(X_test),index=X_test.index,columns=model.classes_)
Explicit row and class labels prevent a probability column from being attributed to the wrong observation or class.