== How to fix it in Scikit-Learn

To fix this issue, provide a predictable seed to the estimator or the utility function.

=== Code examples

==== Noncompliant code example

[source,python,diff-id=2,diff-type=noncompliant]
----
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris 

X, y = load_iris(return_X_y=True)
X_train, _, y_train, _ = train_test_split(X, y) # Noncompliant: no seed parameter is provided
----

==== Compliant solution

[source,python,diff-id=2,diff-type=compliant]
----
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris 
import numpy as np

rng = np.random.default_rng(42)
X, y = load_iris(return_X_y=True)
X_train, _, y_train, _ = train_test_split(X, y, random_state=rng.integers(1)) # Compliant
----
