The best model and final model in RANSAC are not same.

### Describe the bug

The best model and final model in RANSAC are not same. Therefore, the final model inliers may not be same as the best model inliers.

In `_ransac.py`,  the following code snippet computes the final model using all inliers so the final model is not same as the best model computed using the selected samples before.

```python
        estimator.fit(X_inlier_best, y_inlier_best, **fit_params_best_idxs_subset)

        self.estimator_ = estimator
        self.inlier_mask_ = inlier_mask_best
```

### Steps/Code to Reproduce

Please debug the code using a custom loss function.  Probably, you would observe the difference for default loss functions as well.

### Expected Results

Different `estimator.coef_` and `estimator.intercept_` for the best and final estimators. Accordingly, `inlier_mask_best` are not same for the best estimator and the final estimator. However, the code uses the best estimator's `inlier_mask_best` for the final estimator.

### Actual Results

The best estimator:

```python
estimator.coef_
array([0.03249012], dtype=float32)
estimator.intercept_
-0.0016712397
```

The final estimator:

```python
estimator.coef_
array([0.03334882], dtype=float32)
estimator.intercept_
-0.0047605336
```

### Versions

```shell
System:
    python: 3.10.9 | packaged by conda-forge | (main, Feb  2 2023, 20:20:04) [GCC 11.3.0]
executable: /opt/conda/bin/python
   machine: Linux

Python dependencies:
      sklearn: 1.5.2
          pip: 24.2
   setuptools: 75.1.0
        numpy: 1.26.4
        scipy: 1.13.0
       Cython: None
       pandas: 2.1.1
   matplotlib: 3.5.3
       joblib: 1.4.2
threadpoolctl: 3.5.0

Built with OpenMP: True

threadpoolctl info:
       user_api: openmp
   internal_api: openmp
    num_threads: 8
         prefix: libgomp
       filepath: /opt/conda/lib/libgomp.so.1.0.0
        version: None

       user_api: blas
   internal_api: mkl
    num_threads: 4
         prefix: libmkl_rt
       filepath: /opt/conda/lib/libmkl_rt.so.2
        version: 2023.1-Product
threading_layer: intel

       user_api: openmp
   internal_api: openmp
    num_threads: 4
         prefix: libomp
       filepath: /opt/conda/lib/libomp.so
        version: None

       user_api: blas
   internal_api: openblas


       num_threads: 8
       prefix: libopenblas
       filepath: /opt/conda/lib/python3.10/site-packages/scipy.libs/libopenblasp-r0-24bff013.3.26.dev.so
        version: 0.3.26.dev
threading_layer: pthreads
   architecture: SkylakeX

       user_api: openmp
   internal_api: openmp
    num_threads: 8
         prefix: libgomp
       filepath: /opt/conda/lib/python3.10/site-packages/scikit_learn.libs/libgomp-a34b3233.so.1.0.0
        version: None
```

COMMENT:
I agree with @glemaitre here. This is a common pattern where we choose an estimator by using a subset of the data / cross validation, and in the end we fit an estimator on the whole dataset. 

There's also no real reproducer in the issue description, which would help fixing the docs.

Feel free to submit a PR improving the docs @I3aer

Labels: Easy, Documentation