def METHOD_NAME(
    x: np.ndarray, x_predict: np.ndarray, contamination: float = 0.05
) -> Tuple[IsolationForest, np.ndarray, np.ndarray]:
    """
    Identify outlier items using SkLearn IsolationForest.
    Arguments
    ---------
    x : np.ndarray
            Input data
    x_predict : np.ndarray
        Model
    contamination : float
        Percentage contamination (default: {0.05})
    Returns
    -------
    Tuple[IsolationForest, np.ndarray, np.ndarray]
        IsolationForest model, X_Outliers,
        y_pred_outliers
    """
    # pylint: disable=no-member
    rng = np.random.RandomState(42)
    # fit the model
    rows, cols = x.shape
    max_samples = min(100, cols)
    max_features = math.floor(math.sqrt(rows))
    clf = IsolationForest(
        max_samples=max_samples,
        max_features=max_features,
        random_state=rng,
        contamination=contamination,
    )
    # fit and train the model
    clf.fit(x)
    clf.predict(x)
    y_pred_outliers = clf.predict(x_predict)
    x_outliers = x_predict[y_pred_outliers == -1]
    return clf, x_outliers, y_pred_outliers