scikit-learn API Reference

Full documentation for scikit-learn (1.5.2)

scikit-learn.base
Python Library Documentation: module sklearn.base in sklearn

NAME
    sklearn.base - Base classes for all estimators and various utility functions.

CLASSES
    builtins.object
        BiclusterMixin
        ClassNamePrefixFeaturesOutMixin
        ClassifierMixin
        ClusterMixin
        DensityMixin
        MetaEstimatorMixin
        MultiOutputMixin
        OneToOneFeatureMixin
        OutlierMixin
        RegressorMixin
    sklearn.utils._estimator_html_repr._HTMLDocumentationLinkMixin(builtins.object)
        BaseEstimator(sklearn.utils._estimator_html_repr._HTMLDocumentationLinkMixin, sklearn.utils._metadata_requests._MetadataRequester)
    sklearn.utils._metadata_requests._MetadataRequester(builtins.object)
        BaseEstimator(sklearn.utils._estimator_html_repr._HTMLDocumentationLinkMixin, sklearn.utils._metadata_requests._MetadataRequester)
    sklearn.utils._set_output._SetOutputMixin(builtins.object)
        TransformerMixin

    class BaseEstimator(sklearn.utils._estimator_html_repr._HTMLDocumentationLinkMixin, sklearn.utils._metadata_requests._MetadataRequester)
     |  Base class for all estimators in scikit-learn.
     |
     |  Inheriting from this class provides default implementations of:
     |
     |  - setting and getting parameters used by `GridSearchCV` and friends;
     |  - textual and HTML representation displayed in terminals and IDEs;
     |  - estimator serialization;
     |  - parameters validation;
     |  - data validation;
     |  - feature names validation.
     |
     |  Read more in the :ref:`User Guide <rolling_your_own_estimator>`.
     |
     |
     |  Notes
     |  -----
     |  All estimators should specify all the parameters that can be set
     |  at the class level in their ``__init__`` as explicit keyword
     |  arguments (no ``*args`` or ``**kwargs``).
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import BaseEstimator
     |  >>> class MyEstimator(BaseEstimator):
     |  ...     def __init__(self, *, param=1):
     |  ...         self.param = param
     |  ...     def fit(self, X, y=None):
     |  ...         self.is_fitted_ = True
     |  ...         return self
     |  ...     def predict(self, X):
     |  ...         return np.full(shape=X.shape[0], fill_value=self.param)
     |  >>> estimator = MyEstimator(param=2)
     |  >>> estimator.get_params()
     |  {'param': 2}
     |  >>> X = np.array([[1, 2], [2, 3], [3, 4]])
     |  >>> y = np.array([1, 0, 1])
     |  >>> estimator.fit(X, y).predict(X)
     |  array([2, 2, 2])
     |  >>> estimator.set_params(param=3).fit(X, y).predict(X)
     |  array([3, 3, 3])
     |
     |  Method resolution order:
     |      BaseEstimator
     |      sklearn.utils._estimator_html_repr._HTMLDocumentationLinkMixin
     |      sklearn.utils._metadata_requests._MetadataRequester
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __repr__(self, N_CHAR_MAX=700)
     |      Return repr(self).
     |
     |  __setstate__(self, state)
     |
     |  __sklearn_clone__(self)
     |
     |  get_params(self, deep=True)
     |      Get parameters for this estimator.
     |
     |      Parameters
     |      ----------
     |      deep : bool, default=True
     |          If True, will return the parameters for this estimator and
     |          contained subobjects that are estimators.
     |
     |      Returns
     |      -------
     |      params : dict
     |          Parameter names mapped to their values.
     |
     |  set_params(self, **params)
     |      Set the parameters of this estimator.
     |
     |      The method works on simple estimators as well as on nested objects
     |      (such as :class:`~sklearn.pipeline.Pipeline`). The latter have
     |      parameters of the form ``<component>__<parameter>`` so that it's
     |      possible to update each component of a nested object.
     |
     |      Parameters
     |      ----------
     |      **params : dict
     |          Estimator parameters.
     |
     |      Returns
     |      -------
     |      self : estimator instance
     |          Estimator instance.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from sklearn.utils._estimator_html_repr._HTMLDocumentationLinkMixin:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from sklearn.utils._metadata_requests._MetadataRequester:
     |
     |  get_metadata_routing(self)
     |      Get metadata routing of this object.
     |
     |      Please check :ref:`User Guide <metadata_routing>` on how the routing
     |      mechanism works.
     |
     |      Returns
     |      -------
     |      routing : MetadataRequest
     |          A :class:`~sklearn.utils.metadata_routing.MetadataRequest` encapsulating
     |          routing information.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from sklearn.utils._metadata_requests._MetadataRequester:
     |
     |  __init_subclass__(**kwargs)
     |      Set the ``set_{method}_request`` methods.
     |
     |      This uses PEP-487 [1]_ to set the ``set_{method}_request`` methods. It
     |      looks for the information available in the set default values which are
     |      set using ``__metadata_request__*`` class attributes, or inferred
     |      from method signatures.
     |
     |      The ``__metadata_request__*`` class attributes are used when a method
     |      does not explicitly accept a metadata through its arguments or if the
     |      developer would like to specify a request value for those metadata
     |      which are different from the default ``None``.
     |
     |      References
     |      ----------
     |      .. [1] https://www.python.org/dev/peps/pep-0487

    class BiclusterMixin(builtins.object)
     |  Mixin class for all bicluster estimators in scikit-learn.
     |
     |  This mixin defines the following functionality:
     |
     |  - `biclusters_` property that returns the row and column indicators;
     |  - `get_indices` method that returns the row and column indices of a bicluster;
     |  - `get_shape` method that returns the shape of a bicluster;
     |  - `get_submatrix` method that returns the submatrix corresponding to a bicluster.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import BaseEstimator, BiclusterMixin
     |  >>> class DummyBiClustering(BiclusterMixin, BaseEstimator):
     |  ...     def fit(self, X, y=None):
     |  ...         self.rows_ = np.ones(shape=(1, X.shape[0]), dtype=bool)
     |  ...         self.columns_ = np.ones(shape=(1, X.shape[1]), dtype=bool)
     |  ...         return self
     |  >>> X = np.array([[1, 1], [2, 1], [1, 0],
     |  ...               [4, 7], [3, 5], [3, 6]])
     |  >>> bicluster = DummyBiClustering().fit(X)
     |  >>> hasattr(bicluster, "biclusters_")
     |  True
     |  >>> bicluster.get_indices(0)
     |  (array([0, 1, 2, 3, 4, 5]), array([0, 1]))
     |
     |  Methods defined here:
     |
     |  get_indices(self, i)
     |      Row and column indices of the `i`'th bicluster.
     |
     |      Only works if ``rows_`` and ``columns_`` attributes exist.
     |
     |      Parameters
     |      ----------
     |      i : int
     |          The index of the cluster.
     |
     |      Returns
     |      -------
     |      row_ind : ndarray, dtype=np.intp
     |          Indices of rows in the dataset that belong to the bicluster.
     |      col_ind : ndarray, dtype=np.intp
     |          Indices of columns in the dataset that belong to the bicluster.
     |
     |  get_shape(self, i)
     |      Shape of the `i`'th bicluster.
     |
     |      Parameters
     |      ----------
     |      i : int
     |          The index of the cluster.
     |
     |      Returns
     |      -------
     |      n_rows : int
     |          Number of rows in the bicluster.
     |
     |      n_cols : int
     |          Number of columns in the bicluster.
     |
     |  get_submatrix(self, i, data)
     |      Return the submatrix corresponding to bicluster `i`.
     |
     |      Parameters
     |      ----------
     |      i : int
     |          The index of the cluster.
     |      data : array-like of shape (n_samples, n_features)
     |          The data.
     |
     |      Returns
     |      -------
     |      submatrix : ndarray of shape (n_rows, n_cols)
     |          The submatrix corresponding to bicluster `i`.
     |
     |      Notes
     |      -----
     |      Works with sparse matrices. Only works if ``rows_`` and
     |      ``columns_`` attributes exist.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  biclusters_
     |      Convenient way to get row and column indicators together.
     |
     |      Returns the ``rows_`` and ``columns_`` members.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class ClassNamePrefixFeaturesOutMixin(builtins.object)
     |  Mixin class for transformers that generate their own names by prefixing.
     |
     |  This mixin is useful when the transformer needs to generate its own feature
     |  names out, such as :class:`~sklearn.decomposition.PCA`. For example, if
     |  :class:`~sklearn.decomposition.PCA` outputs 3 features, then the generated feature
     |  names out are: `["pca0", "pca1", "pca2"]`.
     |
     |  This mixin assumes that a `_n_features_out` attribute is defined when the
     |  transformer is fitted. `_n_features_out` is the number of output features
     |  that the transformer will return in `transform` of `fit_transform`.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import ClassNamePrefixFeaturesOutMixin
     |  >>> class MyEstimator(ClassNamePrefixFeaturesOutMixin):
     |  ...     def fit(self, X, y=None):
     |  ...         self._n_features_out = X.shape[1]
     |  ...         return self
     |  >>> X = np.array([[1, 2], [3, 4]])
     |  >>> MyEstimator().fit(X).get_feature_names_out()
     |  array(['myestimator0', 'myestimator1'], dtype=object)
     |
     |  Methods defined here:
     |
     |  get_feature_names_out(self, input_features=None)
     |      Get output feature names for transformation.
     |
     |      The feature names out will prefixed by the lowercased class name. For
     |      example, if the transformer outputs 3 features, then the feature names
     |      out are: `["class_name0", "class_name1", "class_name2"]`.
     |
     |      Parameters
     |      ----------
     |      input_features : array-like of str or None, default=None
     |          Only used to validate feature names with the names seen in `fit`.
     |
     |      Returns
     |      -------
     |      feature_names_out : ndarray of str objects
     |          Transformed feature names.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class ClassifierMixin(builtins.object)
     |  Mixin class for all classifiers in scikit-learn.
     |
     |  This mixin defines the following functionality:
     |
     |  - `_estimator_type` class attribute defaulting to `"classifier"`;
     |  - `score` method that default to :func:`~sklearn.metrics.accuracy_score`.
     |  - enforce that `fit` requires `y` to be passed through the `requires_y` tag.
     |
     |  Read more in the :ref:`User Guide <rolling_your_own_estimator>`.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import BaseEstimator, ClassifierMixin
     |  >>> # Mixin classes should always be on the left-hand side for a correct MRO
     |  >>> class MyEstimator(ClassifierMixin, BaseEstimator):
     |  ...     def __init__(self, *, param=1):
     |  ...         self.param = param
     |  ...     def fit(self, X, y=None):
     |  ...         self.is_fitted_ = True
     |  ...         return self
     |  ...     def predict(self, X):
     |  ...         return np.full(shape=X.shape[0], fill_value=self.param)
     |  >>> estimator = MyEstimator(param=1)
     |  >>> X = np.array([[1, 2], [2, 3], [3, 4]])
     |  >>> y = np.array([1, 0, 1])
     |  >>> estimator.fit(X, y).predict(X)
     |  array([1, 1, 1])
     |  >>> estimator.score(X, y)
     |  0.66...
     |
     |  Methods defined here:
     |
     |  score(self, X, y, sample_weight=None)
     |      Return the mean accuracy on the given test data and labels.
     |
     |      In multi-label classification, this is the subset accuracy
     |      which is a harsh metric since you require for each sample that
     |      each label set be correctly predicted.
     |
     |      Parameters
     |      ----------
     |      X : array-like of shape (n_samples, n_features)
     |          Test samples.
     |
     |      y : array-like of shape (n_samples,) or (n_samples, n_outputs)
     |          True labels for `X`.
     |
     |      sample_weight : array-like of shape (n_samples,), default=None
     |          Sample weights.
     |
     |      Returns
     |      -------
     |      score : float
     |          Mean accuracy of ``self.predict(X)`` w.r.t. `y`.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class ClusterMixin(builtins.object)
     |  Mixin class for all cluster estimators in scikit-learn.
     |
     |  - `_estimator_type` class attribute defaulting to `"clusterer"`;
     |  - `fit_predict` method returning the cluster labels associated to each sample.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import BaseEstimator, ClusterMixin
     |  >>> class MyClusterer(ClusterMixin, BaseEstimator):
     |  ...     def fit(self, X, y=None):
     |  ...         self.labels_ = np.ones(shape=(len(X),), dtype=np.int64)
     |  ...         return self
     |  >>> X = [[1, 2], [2, 3], [3, 4]]
     |  >>> MyClusterer().fit_predict(X)
     |  array([1, 1, 1])
     |
     |  Methods defined here:
     |
     |  fit_predict(self, X, y=None, **kwargs)
     |      Perform clustering on `X` and returns cluster labels.
     |
     |      Parameters
     |      ----------
     |      X : array-like of shape (n_samples, n_features)
     |          Input data.
     |
     |      y : Ignored
     |          Not used, present for API consistency by convention.
     |
     |      **kwargs : dict
     |          Arguments to be passed to ``fit``.
     |
     |          .. versionadded:: 1.4
     |
     |      Returns
     |      -------
     |      labels : ndarray of shape (n_samples,), dtype=np.int64
     |          Cluster labels.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class DensityMixin(builtins.object)
     |  Mixin class for all density estimators in scikit-learn.
     |
     |  This mixin defines the following functionality:
     |
     |  - `_estimator_type` class attribute defaulting to `"DensityEstimator"`;
     |  - `score` method that default that do no-op.
     |
     |  Examples
     |  --------
     |  >>> from sklearn.base import DensityMixin
     |  >>> class MyEstimator(DensityMixin):
     |  ...     def fit(self, X, y=None):
     |  ...         self.is_fitted_ = True
     |  ...         return self
     |  >>> estimator = MyEstimator()
     |  >>> hasattr(estimator, "score")
     |  True
     |
     |  Methods defined here:
     |
     |  score(self, X, y=None)
     |      Return the score of the model on the data `X`.
     |
     |      Parameters
     |      ----------
     |      X : array-like of shape (n_samples, n_features)
     |          Test samples.
     |
     |      y : Ignored
     |          Not used, present for API consistency by convention.
     |
     |      Returns
     |      -------
     |      score : float
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MetaEstimatorMixin(builtins.object)
     |  Mixin class for all meta estimators in scikit-learn.
     |
     |  This mixin defines the following functionality:
     |
     |  - define `_required_parameters` that specify the mandatory `estimator` parameter.
     |
     |  Examples
     |  --------
     |  >>> from sklearn.base import MetaEstimatorMixin
     |  >>> from sklearn.datasets import load_iris
     |  >>> from sklearn.linear_model import LogisticRegression
     |  >>> class MyEstimator(MetaEstimatorMixin):
     |  ...     def __init__(self, *, estimator=None):
     |  ...         self.estimator = estimator
     |  ...     def fit(self, X, y=None):
     |  ...         if self.estimator is None:
     |  ...             self.estimator_ = LogisticRegression()
     |  ...         else:
     |  ...             self.estimator_ = self.estimator
     |  ...         return self
     |  >>> X, y = load_iris(return_X_y=True)
     |  >>> estimator = MyEstimator().fit(X, y)
     |  >>> estimator.estimator_
     |  LogisticRegression()
     |
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class MultiOutputMixin(builtins.object)
     |  Mixin to mark estimators that support multioutput.
     |
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class OneToOneFeatureMixin(builtins.object)
     |  Provides `get_feature_names_out` for simple transformers.
     |
     |  This mixin assumes there's a 1-to-1 correspondence between input features
     |  and output features, such as :class:`~sklearn.preprocessing.StandardScaler`.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import OneToOneFeatureMixin
     |  >>> class MyEstimator(OneToOneFeatureMixin):
     |  ...     def fit(self, X, y=None):
     |  ...         self.n_features_in_ = X.shape[1]
     |  ...         return self
     |  >>> X = np.array([[1, 2], [3, 4]])
     |  >>> MyEstimator().fit(X).get_feature_names_out()
     |  array(['x0', 'x1'], dtype=object)
     |
     |  Methods defined here:
     |
     |  get_feature_names_out(self, input_features=None)
     |      Get output feature names for transformation.
     |
     |      Parameters
     |      ----------
     |      input_features : array-like of str or None, default=None
     |          Input features.
     |
     |          - If `input_features` is `None`, then `feature_names_in_` is
     |            used as feature names in. If `feature_names_in_` is not defined,
     |            then the following input feature names are generated:
     |            `["x0", "x1", ..., "x(n_features_in_ - 1)"]`.
     |          - If `input_features` is an array-like, then `input_features` must
     |            match `feature_names_in_` if `feature_names_in_` is defined.
     |
     |      Returns
     |      -------
     |      feature_names_out : ndarray of str objects
     |          Same as input features.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class OutlierMixin(builtins.object)
     |  Mixin class for all outlier detection estimators in scikit-learn.
     |
     |  This mixin defines the following functionality:
     |
     |  - `_estimator_type` class attribute defaulting to `outlier_detector`;
     |  - `fit_predict` method that default to `fit` and `predict`.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import BaseEstimator, OutlierMixin
     |  >>> class MyEstimator(OutlierMixin):
     |  ...     def fit(self, X, y=None):
     |  ...         self.is_fitted_ = True
     |  ...         return self
     |  ...     def predict(self, X):
     |  ...         return np.ones(shape=len(X))
     |  >>> estimator = MyEstimator()
     |  >>> X = np.array([[1, 2], [2, 3], [3, 4]])
     |  >>> estimator.fit_predict(X)
     |  array([1., 1., 1.])
     |
     |  Methods defined here:
     |
     |  fit_predict(self, X, y=None, **kwargs)
     |      Perform fit on X and returns labels for X.
     |
     |      Returns -1 for outliers and 1 for inliers.
     |
     |      Parameters
     |      ----------
     |      X : {array-like, sparse matrix} of shape (n_samples, n_features)
     |          The input samples.
     |
     |      y : Ignored
     |          Not used, present for API consistency by convention.
     |
     |      **kwargs : dict
     |          Arguments to be passed to ``fit``.
     |
     |          .. versionadded:: 1.4
     |
     |      Returns
     |      -------
     |      y : ndarray of shape (n_samples,)
     |          1 for inliers, -1 for outliers.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class RegressorMixin(builtins.object)
     |  Mixin class for all regression estimators in scikit-learn.
     |
     |  This mixin defines the following functionality:
     |
     |  - `_estimator_type` class attribute defaulting to `"regressor"`;
     |  - `score` method that default to :func:`~sklearn.metrics.r2_score`.
     |  - enforce that `fit` requires `y` to be passed through the `requires_y` tag.
     |
     |  Read more in the :ref:`User Guide <rolling_your_own_estimator>`.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import BaseEstimator, RegressorMixin
     |  >>> # Mixin classes should always be on the left-hand side for a correct MRO
     |  >>> class MyEstimator(RegressorMixin, BaseEstimator):
     |  ...     def __init__(self, *, param=1):
     |  ...         self.param = param
     |  ...     def fit(self, X, y=None):
     |  ...         self.is_fitted_ = True
     |  ...         return self
     |  ...     def predict(self, X):
     |  ...         return np.full(shape=X.shape[0], fill_value=self.param)
     |  >>> estimator = MyEstimator(param=0)
     |  >>> X = np.array([[1, 2], [2, 3], [3, 4]])
     |  >>> y = np.array([-1, 0, 1])
     |  >>> estimator.fit(X, y).predict(X)
     |  array([0, 0, 0])
     |  >>> estimator.score(X, y)
     |  0.0
     |
     |  Methods defined here:
     |
     |  score(self, X, y, sample_weight=None)
     |      Return the coefficient of determination of the prediction.
     |
     |      The coefficient of determination :math:`R^2` is defined as
     |      :math:`(1 - \frac{u}{v})`, where :math:`u` is the residual
     |      sum of squares ``((y_true - y_pred)** 2).sum()`` and :math:`v`
     |      is the total sum of squares ``((y_true - y_true.mean()) ** 2).sum()``.
     |      The best possible score is 1.0 and it can be negative (because the
     |      model can be arbitrarily worse). A constant model that always predicts
     |      the expected value of `y`, disregarding the input features, would get
     |      a :math:`R^2` score of 0.0.
     |
     |      Parameters
     |      ----------
     |      X : array-like of shape (n_samples, n_features)
     |          Test samples. For some estimators this may be a precomputed
     |          kernel matrix or a list of generic objects instead with shape
     |          ``(n_samples, n_samples_fitted)``, where ``n_samples_fitted``
     |          is the number of samples used in the fitting for the estimator.
     |
     |      y : array-like of shape (n_samples,) or (n_samples, n_outputs)
     |          True values for `X`.
     |
     |      sample_weight : array-like of shape (n_samples,), default=None
     |          Sample weights.
     |
     |      Returns
     |      -------
     |      score : float
     |          :math:`R^2` of ``self.predict(X)`` w.r.t. `y`.
     |
     |      Notes
     |      -----
     |      The :math:`R^2` score used when calling ``score`` on a regressor uses
     |      ``multioutput='uniform_average'`` from version 0.23 to keep consistent
     |      with default value of :func:`~sklearn.metrics.r2_score`.
     |      This influences the ``score`` method of all the multioutput
     |      regressors (except for
     |      :class:`~sklearn.multioutput.MultiOutputRegressor`).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class TransformerMixin(sklearn.utils._set_output._SetOutputMixin)
     |  Mixin class for all transformers in scikit-learn.
     |
     |  This mixin defines the following functionality:
     |
     |  - a `fit_transform` method that delegates to `fit` and `transform`;
     |  - a `set_output` method to output `X` as a specific container type.
     |
     |  If :term:`get_feature_names_out` is defined, then :class:`BaseEstimator` will
     |  automatically wrap `transform` and `fit_transform` to follow the `set_output`
     |  API. See the :ref:`developer_api_set_output` for details.
     |
     |  :class:`OneToOneFeatureMixin` and
     |  :class:`ClassNamePrefixFeaturesOutMixin` are helpful mixins for
     |  defining :term:`get_feature_names_out`.
     |
     |  Examples
     |  --------
     |  >>> import numpy as np
     |  >>> from sklearn.base import BaseEstimator, TransformerMixin
     |  >>> class MyTransformer(TransformerMixin, BaseEstimator):
     |  ...     def __init__(self, *, param=1):
     |  ...         self.param = param
     |  ...     def fit(self, X, y=None):
     |  ...         return self
     |  ...     def transform(self, X):
     |  ...         return np.full(shape=len(X), fill_value=self.param)
     |  >>> transformer = MyTransformer()
     |  >>> X = [[1, 2], [2, 3], [3, 4]]
     |  >>> transformer.fit_transform(X)
     |  array([1, 1, 1])
     |
     |  Method resolution order:
     |      TransformerMixin
     |      sklearn.utils._set_output._SetOutputMixin
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  fit_transform(self, X, y=None, **fit_params)
     |      Fit to data, then transform it.
     |
     |      Fits transformer to `X` and `y` with optional parameters `fit_params`
     |      and returns a transformed version of `X`.
     |
     |      Parameters
     |      ----------
     |      X : array-like of shape (n_samples, n_features)
     |          Input samples.
     |
     |      y :  array-like of shape (n_samples,) or (n_samples, n_outputs),                 default=None
     |          Target values (None for unsupervised transformations).
     |
     |      **fit_params : dict
     |          Additional fit parameters.
     |
     |      Returns
     |      -------
     |      X_new : ndarray array of shape (n_samples, n_features_new)
     |          Transformed array.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from sklearn.utils._set_output._SetOutputMixin:
     |
     |  set_output(self, *, transform=None)
     |      Set output container.
     |
     |      See :ref:`sphx_glr_auto_examples_miscellaneous_plot_set_output.py`
     |      for an example on how to use the API.
     |
     |      Parameters
     |      ----------
     |      transform : {"default", "pandas", "polars"}, default=None
     |          Configure output of `transform` and `fit_transform`.
     |
     |          - `"default"`: Default output format of a transformer
     |          - `"pandas"`: DataFrame output
     |          - `"polars"`: Polars output
     |          - `None`: Transform configuration is unchanged
     |
     |          .. versionadded:: 1.4
     |              `"polars"` option was added.
     |
     |      Returns
     |      -------
     |      self : estimator instance
     |          Estimator instance.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from sklearn.utils._set_output._SetOutputMixin:
     |
     |  __init_subclass__(auto_wrap_output_keys=('transform',), **kwargs)
     |      This method is called when a class is subclassed.
     |
     |      The default implementation does nothing. It may be
     |      overridden to extend subclasses.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from sklearn.utils._set_output._SetOutputMixin:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

FUNCTIONS
    clone(estimator, *, safe=True)
        Construct a new unfitted estimator with the same parameters.

        Clone does a deep copy of the model in an estimator
        without actually copying attached data. It returns a new estimator
        with the same parameters that has not been fitted on any data.

        .. versionchanged:: 1.3
            Delegates to `estimator.__sklearn_clone__` if the method exists.

        Parameters
        ----------
        estimator : {list, tuple, set} of estimator instance or a single             estimator instance
            The estimator or group of estimators to be cloned.
        safe : bool, default=True
            If safe is False, clone will fall back to a deep copy on objects
            that are not estimators. Ignored if `estimator.__sklearn_clone__`
            exists.

        Returns
        -------
        estimator : object
            The deep copy of the input, an estimator if input is an estimator.

        Notes
        -----
        If the estimator's `random_state` parameter is an integer (or if the
        estimator doesn't have a `random_state` parameter), an *exact clone* is
        returned: the clone and the original estimator will give the exact same
        results. Otherwise, *statistical clone* is returned: the clone might
        return different results from the original estimator. More details can be
        found in :ref:`randomness`.

        Examples
        --------
        >>> from sklearn.base import clone
        >>> from sklearn.linear_model import LogisticRegression
        >>> X = [[-1, 0], [0, 1], [0, -1], [1, 0]]
        >>> y = [0, 0, 1, 1]
        >>> classifier = LogisticRegression().fit(X, y)
        >>> cloned_classifier = clone(classifier)
        >>> hasattr(classifier, "classes_")
        True
        >>> hasattr(cloned_classifier, "classes_")
        False
        >>> classifier is cloned_classifier
        False

    is_classifier(estimator)
        Return True if the given estimator is (probably) a classifier.

        Parameters
        ----------
        estimator : object
            Estimator object to test.

        Returns
        -------
        out : bool
            True if estimator is a classifier and False otherwise.

        Examples
        --------
        >>> from sklearn.base import is_classifier
        >>> from sklearn.svm import SVC, SVR
        >>> classifier = SVC()
        >>> regressor = SVR()
        >>> is_classifier(classifier)
        True
        >>> is_classifier(regressor)
        False

    is_outlier_detector(estimator)
        Return True if the given estimator is (probably) an outlier detector.

        Parameters
        ----------
        estimator : estimator instance
            Estimator object to test.

        Returns
        -------
        out : bool
            True if estimator is an outlier detector and False otherwise.

    is_regressor(estimator)
        Return True if the given estimator is (probably) a regressor.

        Parameters
        ----------
        estimator : estimator instance
            Estimator object to test.

        Returns
        -------
        out : bool
            True if estimator is a regressor and False otherwise.

        Examples
        --------
        >>> from sklearn.base import is_regressor
        >>> from sklearn.svm import SVC, SVR
        >>> classifier = SVC()
        >>> regressor = SVR()
        >>> is_regressor(classifier)
        False
        >>> is_regressor(regressor)
        True

VERSION
    1.5.2

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\sklearn\base.py

scikit-learn.clone
Python Library Documentation: function clone in module sklearn.base

clone(estimator, *, safe=True)
    Construct a new unfitted estimator with the same parameters.

    Clone does a deep copy of the model in an estimator
    without actually copying attached data. It returns a new estimator
    with the same parameters that has not been fitted on any data.

    .. versionchanged:: 1.3
        Delegates to `estimator.__sklearn_clone__` if the method exists.

    Parameters
    ----------
    estimator : {list, tuple, set} of estimator instance or a single             estimator instance
        The estimator or group of estimators to be cloned.
    safe : bool, default=True
        If safe is False, clone will fall back to a deep copy on objects
        that are not estimators. Ignored if `estimator.__sklearn_clone__`
        exists.

    Returns
    -------
    estimator : object
        The deep copy of the input, an estimator if input is an estimator.

    Notes
    -----
    If the estimator's `random_state` parameter is an integer (or if the
    estimator doesn't have a `random_state` parameter), an *exact clone* is
    returned: the clone and the original estimator will give the exact same
    results. Otherwise, *statistical clone* is returned: the clone might
    return different results from the original estimator. More details can be
    found in :ref:`randomness`.

    Examples
    --------
    >>> from sklearn.base import clone
    >>> from sklearn.linear_model import LogisticRegression
    >>> X = [[-1, 0], [0, 1], [0, -1], [1, 0]]
    >>> y = [0, 0, 1, 1]
    >>> classifier = LogisticRegression().fit(X, y)
    >>> cloned_classifier = clone(classifier)
    >>> hasattr(classifier, "classes_")
    True
    >>> hasattr(cloned_classifier, "classes_")
    False
    >>> classifier is cloned_classifier
    False
scikit-learn.config_context
Python Library Documentation: function config_context in module sklearn._config

config_context(*, assume_finite=None, working_memory=None, print_changed_only=None, display=None, pairwise_dist_chunk_size=None, enable_cython_pairwise_dist=None, array_api_dispatch=None, transform_output=None, enable_metadata_routing=None, skip_parameter_validation=None)
    Context manager for global scikit-learn configuration.

    Parameters
    ----------
    assume_finite : bool, default=None
        If True, validation for finiteness will be skipped,
        saving time, but leading to potential crashes. If
        False, validation for finiteness will be performed,
        avoiding error. If None, the existing value won't change.
        The default value is False.

    working_memory : int, default=None
        If set, scikit-learn will attempt to limit the size of temporary arrays
        to this number of MiB (per job when parallelised), often saving both
        computation time and memory on expensive operations that can be
        performed in chunks. If None, the existing value won't change.
        The default value is 1024.

    print_changed_only : bool, default=None
        If True, only the parameters that were set to non-default
        values will be printed when printing an estimator. For example,
        ``print(SVC())`` while True will only print 'SVC()', but would print
        'SVC(C=1.0, cache_size=200, ...)' with all the non-changed parameters
        when False. If None, the existing value won't change.
        The default value is True.

        .. versionchanged:: 0.23
           Default changed from False to True.

    display : {'text', 'diagram'}, default=None
        If 'diagram', estimators will be displayed as a diagram in a Jupyter
        lab or notebook context. If 'text', estimators will be displayed as
        text. If None, the existing value won't change.
        The default value is 'diagram'.

        .. versionadded:: 0.23

    pairwise_dist_chunk_size : int, default=None
        The number of row vectors per chunk for the accelerated pairwise-
        distances reduction backend. Default is 256 (suitable for most of
        modern laptops' caches and architectures).

        Intended for easier benchmarking and testing of scikit-learn internals.
        End users are not expected to benefit from customizing this configuration
        setting.

        .. versionadded:: 1.1

    enable_cython_pairwise_dist : bool, default=None
        Use the accelerated pairwise-distances reduction backend when
        possible. Global default: True.

        Intended for easier benchmarking and testing of scikit-learn internals.
        End users are not expected to benefit from customizing this configuration
        setting.

        .. versionadded:: 1.1

    array_api_dispatch : bool, default=None
        Use Array API dispatching when inputs follow the Array API standard.
        Default is False.

        See the :ref:`User Guide <array_api>` for more details.

        .. versionadded:: 1.2

    transform_output : str, default=None
        Configure output of `transform` and `fit_transform`.

        See :ref:`sphx_glr_auto_examples_miscellaneous_plot_set_output.py`
        for an example on how to use the API.

        - `"default"`: Default output format of a transformer
        - `"pandas"`: DataFrame output
        - `"polars"`: Polars output
        - `None`: Transform configuration is unchanged

        .. versionadded:: 1.2
        .. versionadded:: 1.4
            `"polars"` option was added.

    enable_metadata_routing : bool, default=None
        Enable metadata routing. By default this feature is disabled.

        Refer to :ref:`metadata routing user guide <metadata_routing>` for more
        details.

        - `True`: Metadata routing is enabled
        - `False`: Metadata routing is disabled, use the old syntax.
        - `None`: Configuration is unchanged

        .. versionadded:: 1.3

    skip_parameter_validation : bool, default=None
        If `True`, disable the validation of the hyper-parameters' types and values in
        the fit method of estimators and for arguments passed to public helper
        functions. It can save time in some situations but can lead to low level
        crashes and exceptions with confusing error messages.

        Note that for data parameters, such as `X` and `y`, only type validation is
        skipped but validation with `check_array` will continue to run.

        .. versionadded:: 1.3

    Yields
    ------
    None.

    See Also
    --------
    set_config : Set global scikit-learn configuration.
    get_config : Retrieve current values of the global configuration.

    Notes
    -----
    All settings, not just those presently modified, will be returned to
    their previous values when the context manager is exited.

    Examples
    --------
    >>> import sklearn
    >>> from sklearn.utils.validation import assert_all_finite
    >>> with sklearn.config_context(assume_finite=True):
    ...     assert_all_finite([float('nan')])
    >>> with sklearn.config_context(assume_finite=True):
    ...     with sklearn.config_context(assume_finite=False):
    ...         assert_all_finite([float('nan')])
    Traceback (most recent call last):
    ...
    ValueError: Input contains NaN...
scikit-learn.exceptions
Python Library Documentation: module sklearn.exceptions in sklearn

NAME
    sklearn.exceptions - Custom warnings and errors used across scikit-learn.

CLASSES
    builtins.AttributeError(builtins.Exception)
        NotFittedError(builtins.ValueError, builtins.AttributeError)
    builtins.RuntimeWarning(builtins.Warning)
        FitFailedWarning
    builtins.UserWarning(builtins.Warning)
        ConvergenceWarning
        DataConversionWarning
        DataDimensionalityWarning
        EfficiencyWarning
        PositiveSpectrumWarning
        SkipTestWarning
        UndefinedMetricWarning
    builtins.ValueError(builtins.Exception)
        NotFittedError(builtins.ValueError, builtins.AttributeError)
        UnsetMetadataPassedError

    class ConvergenceWarning(builtins.UserWarning)
     |  Custom warning to capture convergence problems
     |
     |  .. versionchanged:: 0.18
     |     Moved from sklearn.utils.
     |
     |  Method resolution order:
     |      ConvergenceWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class DataConversionWarning(builtins.UserWarning)
     |  Warning used to notify implicit data conversions happening in the code.
     |
     |  This warning occurs when some input data needs to be converted or
     |  interpreted in a way that may not match the user's expectations.
     |
     |  For example, this warning may occur when the user
     |      - passes an integer array to a function which expects float input and
     |        will convert the input
     |      - requests a non-copying operation, but a copy is required to meet the
     |        implementation's data-type expectations;
     |      - passes an input whose shape can be interpreted ambiguously.
     |
     |  .. versionchanged:: 0.18
     |     Moved from sklearn.utils.validation.
     |
     |  Method resolution order:
     |      DataConversionWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class DataDimensionalityWarning(builtins.UserWarning)
     |  Custom warning to notify potential issues with data dimensionality.
     |
     |  For example, in random projection, this warning is raised when the
     |  number of components, which quantifies the dimensionality of the target
     |  projection space, is higher than the number of features, which quantifies
     |  the dimensionality of the original source space, to imply that the
     |  dimensionality of the problem will not be reduced.
     |
     |  .. versionchanged:: 0.18
     |     Moved from sklearn.utils.
     |
     |  Method resolution order:
     |      DataDimensionalityWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class EfficiencyWarning(builtins.UserWarning)
     |  Warning used to notify the user of inefficient computation.
     |
     |  This warning notifies the user that the efficiency may not be optimal due
     |  to some reason which may be included as a part of the warning message.
     |  This may be subclassed into a more specific Warning class.
     |
     |  .. versionadded:: 0.18
     |
     |  Method resolution order:
     |      EfficiencyWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class FitFailedWarning(builtins.RuntimeWarning)
     |  Warning class used if there is an error while fitting the estimator.
     |
     |  This Warning is used in meta estimators GridSearchCV and RandomizedSearchCV
     |  and the cross-validation helper function cross_val_score to warn when there
     |  is an error while fitting the estimator.
     |
     |  .. versionchanged:: 0.18
     |     Moved from sklearn.cross_validation.
     |
     |  Method resolution order:
     |      FitFailedWarning
     |      builtins.RuntimeWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.RuntimeWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.RuntimeWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.RuntimeWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class NotFittedError(builtins.ValueError, builtins.AttributeError)
     |  Exception class to raise if estimator is used before fitting.
     |
     |  This class inherits from both ValueError and AttributeError to help with
     |  exception handling and backward compatibility.
     |
     |  Examples
     |  --------
     |  >>> from sklearn.svm import LinearSVC
     |  >>> from sklearn.exceptions import NotFittedError
     |  >>> try:
     |  ...     LinearSVC().predict([[1, 2], [2, 3], [3, 4]])
     |  ... except NotFittedError as e:
     |  ...     print(repr(e))
     |  NotFittedError("This LinearSVC instance is not fitted yet. Call 'fit' with
     |  appropriate arguments before using this estimator."...)
     |
     |  .. versionchanged:: 0.18
     |     Moved from sklearn.utils.validation.
     |
     |  Method resolution order:
     |      NotFittedError
     |      builtins.ValueError
     |      builtins.AttributeError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.ValueError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.ValueError:
     |
     |  __new__(*args, **kwargs) class method of builtins.ValueError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.AttributeError:
     |
     |  __getstate__(...)
     |      Helper for pickle.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.AttributeError:
     |
     |  name
     |      attribute name
     |
     |  obj
     |      object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class PositiveSpectrumWarning(builtins.UserWarning)
     |  Warning raised when the eigenvalues of a PSD matrix have issues
     |
     |  This warning is typically raised by ``_check_psd_eigenvalues`` when the
     |  eigenvalues of a positive semidefinite (PSD) matrix such as a gram matrix
     |  (kernel) present significant negative eigenvalues, or bad conditioning i.e.
     |  very small non-zero eigenvalues compared to the largest eigenvalue.
     |
     |  .. versionadded:: 0.22
     |
     |  Method resolution order:
     |      PositiveSpectrumWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class SkipTestWarning(builtins.UserWarning)
     |  Warning class used to notify the user of a test that was skipped.
     |
     |  For example, one of the estimator checks requires a pandas import.
     |  If the pandas package cannot be imported, the test will be skipped rather
     |  than register as a failure.
     |
     |  Method resolution order:
     |      SkipTestWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class UndefinedMetricWarning(builtins.UserWarning)
     |  Warning used when the metric is invalid
     |
     |  .. versionchanged:: 0.18
     |     Moved from sklearn.base.
     |
     |  Method resolution order:
     |      UndefinedMetricWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class UnsetMetadataPassedError(builtins.ValueError)
     |  UnsetMetadataPassedError(*, message, unrequested_params, routed_params)
     |
     |  Exception class to raise if a metadata is passed which is not explicitly         requested (metadata=True) or not requested (metadata=False).
     |
     |  .. versionadded:: 1.3
     |
     |  Parameters
     |  ----------
     |  message : str
     |      The message
     |
     |  unrequested_params : dict
     |      A dictionary of parameters and their values which are provided but not
     |      requested.
     |
     |  routed_params : dict
     |      A dictionary of routed parameters.
     |
     |  Method resolution order:
     |      UnsetMetadataPassedError
     |      builtins.ValueError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, *, message, unrequested_params, routed_params)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.ValueError:
     |
     |  __new__(*args, **kwargs) class method of builtins.ValueError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

DATA
    __all__ = ['NotFittedError', 'ConvergenceWarning', 'DataConversionWarn...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\sklearn\exceptions.py

scikit-learn.externals
Python Library Documentation: package sklearn.externals in sklearn

NAME
    sklearn.externals - External, bundled dependencies.

PACKAGE CONTENTS
    _arff
    _packaging (package)
    _scipy (package)
    conftest

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\sklearn\externals\__init__.py

scikit-learn.get_config
Python Library Documentation: function get_config in module sklearn._config

get_config()
    Retrieve current values for configuration set by :func:`set_config`.

    Returns
    -------
    config : dict
        Keys are parameter names that can be passed to :func:`set_config`.

    See Also
    --------
    config_context : Context manager for global scikit-learn configuration.
    set_config : Set global scikit-learn configuration.

    Examples
    --------
    >>> import sklearn
    >>> config = sklearn.get_config()
    >>> config.keys()
    dict_keys([...])
scikit-learn.logger
Python Library Documentation: Logger in module logging object

class Logger(Filterer)
 |  Logger(name, level=0)
 |
 |  Instances of the Logger class represent a single logging channel. A
 |  "logging channel" indicates an area of an application. Exactly how an
 |  "area" is defined is up to the application developer. Since an
 |  application can have any number of areas, logging channels are identified
 |  by a unique string. Application areas can be nested (e.g. an area
 |  of "input processing" might include sub-areas "read CSV files", "read
 |  XLS files" and "read Gnumeric files"). To cater for this natural nesting,
 |  channel names are organized into a namespace hierarchy where levels are
 |  separated by periods, much like the Java or Python package namespace. So
 |  in the instance given above, channel names might be "input" for the upper
 |  level, and "input.csv", "input.xls" and "input.gnu" for the sub-levels.
 |  There is no arbitrary limit to the depth of nesting.
 |
 |  Method resolution order:
 |      Logger
 |      Filterer
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, name, level=0)
 |      Initialize the logger with a name and an optional level.
 |
 |  __reduce__(self)
 |      Helper for pickle.
 |
 |  __repr__(self)
 |      Return repr(self).
 |
 |  addHandler(self, hdlr)
 |      Add the specified handler to this logger.
 |
 |  callHandlers(self, record)
 |      Pass a record to all relevant handlers.
 |
 |      Loop through all handlers for this logger and its parents in the
 |      logger hierarchy. If no handler was found, output a one-off error
 |      message to sys.stderr. Stop searching up the hierarchy whenever a
 |      logger with the "propagate" attribute set to zero is found - that
 |      will be the last logger whose handlers are called.
 |
 |  critical(self, msg, *args, **kwargs)
 |      Log 'msg % args' with severity 'CRITICAL'.
 |
 |      To pass exception information, use the keyword argument exc_info with
 |      a true value, e.g.
 |
 |      logger.critical("Houston, we have a %s", "major disaster", exc_info=True)
 |
 |  debug(self, msg, *args, **kwargs)
 |      Log 'msg % args' with severity 'DEBUG'.
 |
 |      To pass exception information, use the keyword argument exc_info with
 |      a true value, e.g.
 |
 |      logger.debug("Houston, we have a %s", "thorny problem", exc_info=True)
 |
 |  error(self, msg, *args, **kwargs)
 |      Log 'msg % args' with severity 'ERROR'.
 |
 |      To pass exception information, use the keyword argument exc_info with
 |      a true value, e.g.
 |
 |      logger.error("Houston, we have a %s", "major problem", exc_info=True)
 |
 |  exception(self, msg, *args, exc_info=True, **kwargs)
 |      Convenience method for logging an ERROR with exception information.
 |
 |  fatal(self, msg, *args, **kwargs)
 |      Don't use this method, use critical() instead.
 |
 |  findCaller(self, stack_info=False, stacklevel=1)
 |      Find the stack frame of the caller so that we can note the source
 |      file name, line number and function name.
 |
 |  getChild(self, suffix)
 |      Get a logger which is a descendant to this one.
 |
 |      This is a convenience method, such that
 |
 |      logging.getLogger('abc').getChild('def.ghi')
 |
 |      is the same as
 |
 |      logging.getLogger('abc.def.ghi')
 |
 |      It's useful, for example, when the parent logger is named using
 |      __name__ rather than a literal string.
 |
 |  getChildren(self)
 |
 |  getEffectiveLevel(self)
 |      Get the effective level for this logger.
 |
 |      Loop through this logger and its parents in the logger hierarchy,
 |      looking for a non-zero logging level. Return the first one found.
 |
 |  handle(self, record)
 |      Call the handlers for the specified record.
 |
 |      This method is used for unpickled records received from a socket, as
 |      well as those created locally. Logger-level filtering is applied.
 |
 |  hasHandlers(self)
 |      See if this logger has any handlers configured.
 |
 |      Loop through all handlers for this logger and its parents in the
 |      logger hierarchy. Return True if a handler was found, else False.
 |      Stop searching up the hierarchy whenever a logger with the "propagate"
 |      attribute set to zero is found - that will be the last logger which
 |      is checked for the existence of handlers.
 |
 |  info(self, msg, *args, **kwargs)
 |      Log 'msg % args' with severity 'INFO'.
 |
 |      To pass exception information, use the keyword argument exc_info with
 |      a true value, e.g.
 |
 |      logger.info("Houston, we have a %s", "notable problem", exc_info=True)
 |
 |  isEnabledFor(self, level)
 |      Is this logger enabled for level 'level'?
 |
 |  log(self, level, msg, *args, **kwargs)
 |      Log 'msg % args' with the integer severity 'level'.
 |
 |      To pass exception information, use the keyword argument exc_info with
 |      a true value, e.g.
 |
 |      logger.log(level, "We have a %s", "mysterious problem", exc_info=True)
 |
 |  makeRecord(self, name, level, fn, lno, msg, args, exc_info, func=None, extra=None, sinfo=None)
 |      A factory method which can be overridden in subclasses to create
 |      specialized LogRecords.
 |
 |  removeHandler(self, hdlr)
 |      Remove the specified handler from this logger.
 |
 |  setLevel(self, level)
 |      Set the logging level of this logger.  level must be an int or a str.
 |
 |  warn(self, msg, *args, **kwargs)
 |
 |  warning(self, msg, *args, **kwargs)
 |      Log 'msg % args' with severity 'WARNING'.
 |
 |      To pass exception information, use the keyword argument exc_info with
 |      a true value, e.g.
 |
 |      logger.warning("Houston, we have a %s", "bit of a problem", exc_info=True)
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  manager = <logging.Manager object>
 |
 |  root = <RootLogger root (WARNING)>
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from Filterer:
 |
 |  addFilter(self, filter)
 |      Add the specified filter to this handler.
 |
 |  filter(self, record)
 |      Determine if a record is loggable by consulting all the filters.
 |
 |      The default is to allow the record to be logged; any filter can veto
 |      this by returning a false value.
 |      If a filter attached to a handler returns a log record instance,
 |      then that instance is used in place of the original log record in
 |      any further processing of the event by that handler.
 |      If a filter returns any other true value, the original log record
 |      is used in any further processing of the event by that handler.
 |
 |      If none of the filters return false values, this method returns
 |      a log record.
 |      If any of the filters return a false value, this method returns
 |      a false value.
 |
 |      .. versionchanged:: 3.2
 |
 |         Allow filters to be just callables.
 |
 |      .. versionchanged:: 3.12
 |         Allow filters to return a LogRecord instead of
 |         modifying it in place.
 |
 |  removeFilter(self, filter)
 |      Remove the specified filter from this handler.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from Filterer:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
scikit-learn.logging
Python Library Documentation: package logging

NAME
    logging

MODULE REFERENCE
    https://docs.python.org/3.12/library/logging.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    Logging package for Python. Based on PEP 282 and comments thereto in
    comp.lang.python.

    Copyright (C) 2001-2022 Vinay Sajip. All Rights Reserved.

    To use, simply 'import logging' and log away!

PACKAGE CONTENTS
    config
    handlers

CLASSES
    builtins.object
        BufferingFormatter
        Filter
        Formatter
        LogRecord
        LoggerAdapter
    Filterer(builtins.object)
        Handler
            NullHandler
            StreamHandler
                FileHandler
        Logger

    class BufferingFormatter(builtins.object)
     |  BufferingFormatter(linefmt=None)
     |
     |  A formatter suitable for formatting a number of records.
     |
     |  Methods defined here:
     |
     |  __init__(self, linefmt=None)
     |      Optionally specify a formatter which will be used to format each
     |      individual record.
     |
     |  format(self, records)
     |      Format the specified records and return the result as a string.
     |
     |  formatFooter(self, records)
     |      Return the footer string for the specified records.
     |
     |  formatHeader(self, records)
     |      Return the header string for the specified records.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class FileHandler(StreamHandler)
     |  FileHandler(filename, mode='a', encoding=None, delay=False, errors=None)
     |
     |  A handler class which writes formatted logging records to disk files.
     |
     |  Method resolution order:
     |      FileHandler
     |      StreamHandler
     |      Handler
     |      Filterer
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, filename, mode='a', encoding=None, delay=False, errors=None)
     |      Open the specified file and use it as the stream for logging.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  close(self)
     |      Closes the stream.
     |
     |  emit(self, record)
     |      Emit a record.
     |
     |      If the stream was not opened because 'delay' was specified in the
     |      constructor, open it before calling the superclass's emit.
     |
     |      If stream is not open, current mode is 'w' and `_closed=True`, record
     |      will not be emitted (see Issue #42378).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from StreamHandler:
     |
     |  flush(self)
     |      Flushes the stream.
     |
     |  setStream(self, stream)
     |      Sets the StreamHandler's stream to the specified value,
     |      if it is different.
     |
     |      Returns the old stream, if the stream was changed, or None
     |      if it wasn't.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from StreamHandler:
     |
     |  __class_getitem__ = GenericAlias(...)
     |      Represent a PEP 585 generic type
     |
     |      E.g. for t = list[int], t.__origin__ is list and t.__args__ is (int,).
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from StreamHandler:
     |
     |  terminator = '\n'
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Handler:
     |
     |  acquire(self)
     |      Acquire the I/O thread lock.
     |
     |  createLock(self)
     |      Acquire a thread lock for serializing access to the underlying I/O.
     |
     |  format(self, record)
     |      Format the specified record.
     |
     |      If a formatter is set, use it. Otherwise, use the default formatter
     |      for the module.
     |
     |  get_name(self)
     |
     |  handle(self, record)
     |      Conditionally emit the specified logging record.
     |
     |      Emission depends on filters which may have been added to the handler.
     |      Wrap the actual emission of the record with acquisition/release of
     |      the I/O thread lock.
     |
     |      Returns an instance of the log record that was emitted
     |      if it passed all filters, otherwise a false value is returned.
     |
     |  handleError(self, record)
     |      Handle errors which occur during an emit() call.
     |
     |      This method should be called from handlers when an exception is
     |      encountered during an emit() call. If raiseExceptions is false,
     |      exceptions get silently ignored. This is what is mostly wanted
     |      for a logging system - most users will not care about errors in
     |      the logging system, they are more interested in application errors.
     |      You could, however, replace this with a custom handler if you wish.
     |      The record which was being processed is passed in to this method.
     |
     |  release(self)
     |      Release the I/O thread lock.
     |
     |  setFormatter(self, fmt)
     |      Set the formatter for this handler.
     |
     |  setLevel(self, level)
     |      Set the logging level of this handler.  level must be an int or a str.
     |
     |  set_name(self, name)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Handler:
     |
     |  name
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Filterer:
     |
     |  addFilter(self, filter)
     |      Add the specified filter to this handler.
     |
     |  filter(self, record)
     |      Determine if a record is loggable by consulting all the filters.
     |
     |      The default is to allow the record to be logged; any filter can veto
     |      this by returning a false value.
     |      If a filter attached to a handler returns a log record instance,
     |      then that instance is used in place of the original log record in
     |      any further processing of the event by that handler.
     |      If a filter returns any other true value, the original log record
     |      is used in any further processing of the event by that handler.
     |
     |      If none of the filters return false values, this method returns
     |      a log record.
     |      If any of the filters return a false value, this method returns
     |      a false value.
     |
     |      .. versionchanged:: 3.2
     |
     |         Allow filters to be just callables.
     |
     |      .. versionchanged:: 3.12
     |         Allow filters to return a LogRecord instead of
     |         modifying it in place.
     |
     |  removeFilter(self, filter)
     |      Remove the specified filter from this handler.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Filterer:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Filter(builtins.object)
     |  Filter(name='')
     |
     |  Filter instances are used to perform arbitrary filtering of LogRecords.
     |
     |  Loggers and Handlers can optionally use Filter instances to filter
     |  records as desired. The base filter class only allows events which are
     |  below a certain point in the logger hierarchy. For example, a filter
     |  initialized with "A.B" will allow events logged by loggers "A.B",
     |  "A.B.C", "A.B.C.D", "A.B.D" etc. but not "A.BB", "B.A.B" etc. If
     |  initialized with the empty string, all events are passed.
     |
     |  Methods defined here:
     |
     |  __init__(self, name='')
     |      Initialize a filter.
     |
     |      Initialize with the name of the logger which, together with its
     |      children, will have its events allowed through the filter. If no
     |      name is specified, allow every event.
     |
     |  filter(self, record)
     |      Determine if the specified record is to be logged.
     |
     |      Returns True if the record should be logged, or False otherwise.
     |      If deemed appropriate, the record may be modified in-place.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Formatter(builtins.object)
     |  Formatter(fmt=None, datefmt=None, style='%', validate=True, *, defaults=None)
     |
     |  Formatter instances are used to convert a LogRecord to text.
     |
     |  Formatters need to know how a LogRecord is constructed. They are
     |  responsible for converting a LogRecord to (usually) a string which can
     |  be interpreted by either a human or an external system. The base Formatter
     |  allows a formatting string to be specified. If none is supplied, the
     |  style-dependent default value, "%(message)s", "{message}", or
     |  "${message}", is used.
     |
     |  The Formatter can be initialized with a format string which makes use of
     |  knowledge of the LogRecord attributes - e.g. the default value mentioned
     |  above makes use of the fact that the user's message and arguments are pre-
     |  formatted into a LogRecord's message attribute. Currently, the useful
     |  attributes in a LogRecord are described by:
     |
     |  %(name)s            Name of the logger (logging channel)
     |  %(levelno)s         Numeric logging level for the message (DEBUG, INFO,
     |                      WARNING, ERROR, CRITICAL)
     |  %(levelname)s       Text logging level for the message ("DEBUG", "INFO",
     |                      "WARNING", "ERROR", "CRITICAL")
     |  %(pathname)s        Full pathname of the source file where the logging
     |                      call was issued (if available)
     |  %(filename)s        Filename portion of pathname
     |  %(module)s          Module (name portion of filename)
     |  %(lineno)d          Source line number where the logging call was issued
     |                      (if available)
     |  %(funcName)s        Function name
     |  %(created)f         Time when the LogRecord was created (time.time()
     |                      return value)
     |  %(asctime)s         Textual time when the LogRecord was created
     |  %(msecs)d           Millisecond portion of the creation time
     |  %(relativeCreated)d Time in milliseconds when the LogRecord was created,
     |                      relative to the time the logging module was loaded
     |                      (typically at application startup time)
     |  %(thread)d          Thread ID (if available)
     |  %(threadName)s      Thread name (if available)
     |  %(taskName)s        Task name (if available)
     |  %(process)d         Process ID (if available)
     |  %(message)s         The result of record.getMessage(), computed just as
     |                      the record is emitted
     |
     |  Methods defined here:
     |
     |  __init__(self, fmt=None, datefmt=None, style='%', validate=True, *, defaults=None)
     |      Initialize the formatter with specified format strings.
     |
     |      Initialize the formatter either with the specified format string, or a
     |      default as described above. Allow for specialized date formatting with
     |      the optional datefmt argument. If datefmt is omitted, you get an
     |      ISO8601-like (or RFC 3339-like) format.
     |
     |      Use a style parameter of '%', '{' or '$' to specify that you want to
     |      use one of %-formatting, :meth:`str.format` (``{}``) formatting or
     |      :class:`string.Template` formatting in your format string.
     |
     |      .. versionchanged:: 3.2
     |         Added the ``style`` parameter.
     |
     |  format(self, record)
     |      Format the specified record as text.
     |
     |      The record's attribute dictionary is used as the operand to a
     |      string formatting operation which yields the returned string.
     |      Before formatting the dictionary, a couple of preparatory steps
     |      are carried out. The message attribute of the record is computed
     |      using LogRecord.getMessage(). If the formatting string uses the
     |      time (as determined by a call to usesTime(), formatTime() is
     |      called to format the event time. If there is exception information,
     |      it is formatted using formatException() and appended to the message.
     |
     |  formatException(self, ei)
     |      Format and return the specified exception information as a string.
     |
     |      This default implementation just uses
     |      traceback.print_exception()
     |
     |  formatMessage(self, record)
     |
     |  formatStack(self, stack_info)
     |      This method is provided as an extension point for specialized
     |      formatting of stack information.
     |
     |      The input data is a string as returned from a call to
     |      :func:`traceback.print_stack`, but with the last trailing newline
     |      removed.
     |
     |      The base implementation just returns the value passed in.
     |
     |  formatTime(self, record, datefmt=None)
     |      Return the creation time of the specified LogRecord as formatted text.
     |
     |      This method should be called from format() by a formatter which
     |      wants to make use of a formatted time. This method can be overridden
     |      in formatters to provide for any specific requirement, but the
     |      basic behaviour is as follows: if datefmt (a string) is specified,
     |      it is used with time.strftime() to format the creation time of the
     |      record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used.
     |      The resulting string is returned. This function uses a user-configurable
     |      function to convert the creation time to a tuple. By default,
     |      time.localtime() is used; to change this for a particular formatter
     |      instance, set the 'converter' attribute to a function with the same
     |      signature as time.localtime() or time.gmtime(). To change it for all
     |      formatters, for example if you want all logging times to be shown in GMT,
     |      set the 'converter' attribute in the Formatter class.
     |
     |  usesTime(self)
     |      Check if the format uses the creation time of the record.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  converter = localtime(...)
     |      localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,
     |                                tm_sec,tm_wday,tm_yday,tm_isdst)
     |
     |      Convert seconds since the Epoch to a time tuple expressing local time.
     |      When 'seconds' is not passed in, convert the current time instead.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  default_msec_format = '%s,%03d'
     |
     |  default_time_format = '%Y-%m-%d %H:%M:%S'

    class Handler(Filterer)
     |  Handler(level=0)
     |
     |  Handler instances dispatch logging events to specific destinations.
     |
     |  The base handler class. Acts as a placeholder which defines the Handler
     |  interface. Handlers can optionally use Formatter instances to format
     |  records as desired. By default, no formatter is specified; in this case,
     |  the 'raw' message as determined by record.message is logged.
     |
     |  Method resolution order:
     |      Handler
     |      Filterer
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, level=0)
     |      Initializes the instance - basically setting the formatter to None
     |      and the filter list to empty.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  acquire(self)
     |      Acquire the I/O thread lock.
     |
     |  close(self)
     |      Tidy up any resources used by the handler.
     |
     |      This version removes the handler from an internal map of handlers,
     |      _handlers, which is used for handler lookup by name. Subclasses
     |      should ensure that this gets called from overridden close()
     |      methods.
     |
     |  createLock(self)
     |      Acquire a thread lock for serializing access to the underlying I/O.
     |
     |  emit(self, record)
     |      Do whatever it takes to actually log the specified logging record.
     |
     |      This version is intended to be implemented by subclasses and so
     |      raises a NotImplementedError.
     |
     |  flush(self)
     |      Ensure all logging output has been flushed.
     |
     |      This version does nothing and is intended to be implemented by
     |      subclasses.
     |
     |  format(self, record)
     |      Format the specified record.
     |
     |      If a formatter is set, use it. Otherwise, use the default formatter
     |      for the module.
     |
     |  get_name(self)
     |
     |  handle(self, record)
     |      Conditionally emit the specified logging record.
     |
     |      Emission depends on filters which may have been added to the handler.
     |      Wrap the actual emission of the record with acquisition/release of
     |      the I/O thread lock.
     |
     |      Returns an instance of the log record that was emitted
     |      if it passed all filters, otherwise a false value is returned.
     |
     |  handleError(self, record)
     |      Handle errors which occur during an emit() call.
     |
     |      This method should be called from handlers when an exception is
     |      encountered during an emit() call. If raiseExceptions is false,
     |      exceptions get silently ignored. This is what is mostly wanted
     |      for a logging system - most users will not care about errors in
     |      the logging system, they are more interested in application errors.
     |      You could, however, replace this with a custom handler if you wish.
     |      The record which was being processed is passed in to this method.
     |
     |  release(self)
     |      Release the I/O thread lock.
     |
     |  setFormatter(self, fmt)
     |      Set the formatter for this handler.
     |
     |  setLevel(self, level)
     |      Set the logging level of this handler.  level must be an int or a str.
     |
     |  set_name(self, name)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  name
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Filterer:
     |
     |  addFilter(self, filter)
     |      Add the specified filter to this handler.
     |
     |  filter(self, record)
     |      Determine if a record is loggable by consulting all the filters.
     |
     |      The default is to allow the record to be logged; any filter can veto
     |      this by returning a false value.
     |      If a filter attached to a handler returns a log record instance,
     |      then that instance is used in place of the original log record in
     |      any further processing of the event by that handler.
     |      If a filter returns any other true value, the original log record
     |      is used in any further processing of the event by that handler.
     |
     |      If none of the filters return false values, this method returns
     |      a log record.
     |      If any of the filters return a false value, this method returns
     |      a false value.
     |
     |      .. versionchanged:: 3.2
     |
     |         Allow filters to be just callables.
     |
     |      .. versionchanged:: 3.12
     |         Allow filters to return a LogRecord instead of
     |         modifying it in place.
     |
     |  removeFilter(self, filter)
     |      Remove the specified filter from this handler.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Filterer:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class LogRecord(builtins.object)
     |  LogRecord(name, level, pathname, lineno, msg, args, exc_info, func=None, sinfo=None, **kwargs)
     |
     |  A LogRecord instance represents an event being logged.
     |
     |  LogRecord instances are created every time something is logged. They
     |  contain all the information pertinent to the event being logged. The
     |  main information passed in is in msg and args, which are combined
     |  using str(msg) % args to create the message field of the record. The
     |  record also includes information such as when the record was created,
     |  the source line where the logging call was made, and any exception
     |  information to be logged.
     |
     |  Methods defined here:
     |
     |  __init__(self, name, level, pathname, lineno, msg, args, exc_info, func=None, sinfo=None, **kwargs)
     |      Initialize a logging record with interesting information.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  getMessage(self)
     |      Return the message for this LogRecord.
     |
     |      Return the message for this LogRecord after merging any user-supplied
     |      arguments with the message.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class Logger(Filterer)
     |  Logger(name, level=0)
     |
     |  Instances of the Logger class represent a single logging channel. A
     |  "logging channel" indicates an area of an application. Exactly how an
     |  "area" is defined is up to the application developer. Since an
     |  application can have any number of areas, logging channels are identified
     |  by a unique string. Application areas can be nested (e.g. an area
     |  of "input processing" might include sub-areas "read CSV files", "read
     |  XLS files" and "read Gnumeric files"). To cater for this natural nesting,
     |  channel names are organized into a namespace hierarchy where levels are
     |  separated by periods, much like the Java or Python package namespace. So
     |  in the instance given above, channel names might be "input" for the upper
     |  level, and "input.csv", "input.xls" and "input.gnu" for the sub-levels.
     |  There is no arbitrary limit to the depth of nesting.
     |
     |  Method resolution order:
     |      Logger
     |      Filterer
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, name, level=0)
     |      Initialize the logger with a name and an optional level.
     |
     |  __reduce__(self)
     |      Helper for pickle.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  addHandler(self, hdlr)
     |      Add the specified handler to this logger.
     |
     |  callHandlers(self, record)
     |      Pass a record to all relevant handlers.
     |
     |      Loop through all handlers for this logger and its parents in the
     |      logger hierarchy. If no handler was found, output a one-off error
     |      message to sys.stderr. Stop searching up the hierarchy whenever a
     |      logger with the "propagate" attribute set to zero is found - that
     |      will be the last logger whose handlers are called.
     |
     |  critical(self, msg, *args, **kwargs)
     |      Log 'msg % args' with severity 'CRITICAL'.
     |
     |      To pass exception information, use the keyword argument exc_info with
     |      a true value, e.g.
     |
     |      logger.critical("Houston, we have a %s", "major disaster", exc_info=True)
     |
     |  debug(self, msg, *args, **kwargs)
     |      Log 'msg % args' with severity 'DEBUG'.
     |
     |      To pass exception information, use the keyword argument exc_info with
     |      a true value, e.g.
     |
     |      logger.debug("Houston, we have a %s", "thorny problem", exc_info=True)
     |
     |  error(self, msg, *args, **kwargs)
     |      Log 'msg % args' with severity 'ERROR'.
     |
     |      To pass exception information, use the keyword argument exc_info with
     |      a true value, e.g.
     |
     |      logger.error("Houston, we have a %s", "major problem", exc_info=True)
     |
     |  exception(self, msg, *args, exc_info=True, **kwargs)
     |      Convenience method for logging an ERROR with exception information.
     |
     |  fatal(self, msg, *args, **kwargs)
     |      Don't use this method, use critical() instead.
     |
     |  findCaller(self, stack_info=False, stacklevel=1)
     |      Find the stack frame of the caller so that we can note the source
     |      file name, line number and function name.
     |
     |  getChild(self, suffix)
     |      Get a logger which is a descendant to this one.
     |
     |      This is a convenience method, such that
     |
     |      logging.getLogger('abc').getChild('def.ghi')
     |
     |      is the same as
     |
     |      logging.getLogger('abc.def.ghi')
     |
     |      It's useful, for example, when the parent logger is named using
     |      __name__ rather than a literal string.
     |
     |  getChildren(self)
     |
     |  getEffectiveLevel(self)
     |      Get the effective level for this logger.
     |
     |      Loop through this logger and its parents in the logger hierarchy,
     |      looking for a non-zero logging level. Return the first one found.
     |
     |  handle(self, record)
     |      Call the handlers for the specified record.
     |
     |      This method is used for unpickled records received from a socket, as
     |      well as those created locally. Logger-level filtering is applied.
     |
     |  hasHandlers(self)
     |      See if this logger has any handlers configured.
     |
     |      Loop through all handlers for this logger and its parents in the
     |      logger hierarchy. Return True if a handler was found, else False.
     |      Stop searching up the hierarchy whenever a logger with the "propagate"
     |      attribute set to zero is found - that will be the last logger which
     |      is checked for the existence of handlers.
     |
     |  info(self, msg, *args, **kwargs)
     |      Log 'msg % args' with severity 'INFO'.
     |
     |      To pass exception information, use the keyword argument exc_info with
     |      a true value, e.g.
     |
     |      logger.info("Houston, we have a %s", "notable problem", exc_info=True)
     |
     |  isEnabledFor(self, level)
     |      Is this logger enabled for level 'level'?
     |
     |  log(self, level, msg, *args, **kwargs)
     |      Log 'msg % args' with the integer severity 'level'.
     |
     |      To pass exception information, use the keyword argument exc_info with
     |      a true value, e.g.
     |
     |      logger.log(level, "We have a %s", "mysterious problem", exc_info=True)
     |
     |  makeRecord(self, name, level, fn, lno, msg, args, exc_info, func=None, extra=None, sinfo=None)
     |      A factory method which can be overridden in subclasses to create
     |      specialized LogRecords.
     |
     |  removeHandler(self, hdlr)
     |      Remove the specified handler from this logger.
     |
     |  setLevel(self, level)
     |      Set the logging level of this logger.  level must be an int or a str.
     |
     |  warn(self, msg, *args, **kwargs)
     |
     |  warning(self, msg, *args, **kwargs)
     |      Log 'msg % args' with severity 'WARNING'.
     |
     |      To pass exception information, use the keyword argument exc_info with
     |      a true value, e.g.
     |
     |      logger.warning("Houston, we have a %s", "bit of a problem", exc_info=True)
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  manager = <logging.Manager object>
     |
     |  root = <RootLogger root (WARNING)>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Filterer:
     |
     |  addFilter(self, filter)
     |      Add the specified filter to this handler.
     |
     |  filter(self, record)
     |      Determine if a record is loggable by consulting all the filters.
     |
     |      The default is to allow the record to be logged; any filter can veto
     |      this by returning a false value.
     |      If a filter attached to a handler returns a log record instance,
     |      then that instance is used in place of the original log record in
     |      any further processing of the event by that handler.
     |      If a filter returns any other true value, the original log record
     |      is used in any further processing of the event by that handler.
     |
     |      If none of the filters return false values, this method returns
     |      a log record.
     |      If any of the filters return a false value, this method returns
     |      a false value.
     |
     |      .. versionchanged:: 3.2
     |
     |         Allow filters to be just callables.
     |
     |      .. versionchanged:: 3.12
     |         Allow filters to return a LogRecord instead of
     |         modifying it in place.
     |
     |  removeFilter(self, filter)
     |      Remove the specified filter from this handler.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Filterer:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class LoggerAdapter(builtins.object)
     |  LoggerAdapter(logger, extra=None)
     |
     |  An adapter for loggers which makes it easier to specify contextual
     |  information in logging output.
     |
     |  Methods defined here:
     |
     |  __init__(self, logger, extra=None)
     |      Initialize the adapter with a logger and a dict-like object which
     |      provides contextual information. This constructor signature allows
     |      easy stacking of LoggerAdapters, if so desired.
     |
     |      You can effectively pass keyword arguments as shown in the
     |      following example:
     |
     |      adapter = LoggerAdapter(someLogger, dict(p1=v1, p2="v2"))
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  critical(self, msg, *args, **kwargs)
     |      Delegate a critical call to the underlying logger.
     |
     |  debug(self, msg, *args, **kwargs)
     |      Delegate a debug call to the underlying logger.
     |
     |  error(self, msg, *args, **kwargs)
     |      Delegate an error call to the underlying logger.
     |
     |  exception(self, msg, *args, exc_info=True, **kwargs)
     |      Delegate an exception call to the underlying logger.
     |
     |  getEffectiveLevel(self)
     |      Get the effective level for the underlying logger.
     |
     |  hasHandlers(self)
     |      See if the underlying logger has any handlers.
     |
     |  info(self, msg, *args, **kwargs)
     |      Delegate an info call to the underlying logger.
     |
     |  isEnabledFor(self, level)
     |      Is this logger enabled for level 'level'?
     |
     |  log(self, level, msg, *args, **kwargs)
     |      Delegate a log call to the underlying logger, after adding
     |      contextual information from this adapter instance.
     |
     |  process(self, msg, kwargs)
     |      Process the logging message and keyword arguments passed in to
     |      a logging call to insert contextual information. You can either
     |      manipulate the message itself, the keyword args or both. Return
     |      the message and kwargs modified (or not) to suit your needs.
     |
     |      Normally, you'll only need to override this one method in a
     |      LoggerAdapter subclass for your specific needs.
     |
     |  setLevel(self, level)
     |      Set the specified level on the underlying logger.
     |
     |  warn(self, msg, *args, **kwargs)
     |
     |  warning(self, msg, *args, **kwargs)
     |      Delegate a warning call to the underlying logger.
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  __class_getitem__ = GenericAlias(...)
     |      Represent a PEP 585 generic type
     |
     |      E.g. for t = list[int], t.__origin__ is list and t.__args__ is (int,).
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  name
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  manager

    class NullHandler(Handler)
     |  NullHandler(level=0)
     |
     |  This handler does nothing. It's intended to be used to avoid the
     |  "No handlers could be found for logger XXX" one-off warning. This is
     |  important for library code, which may contain code to log events. If a user
     |  of the library does not configure logging, the one-off warning might be
     |  produced; to avoid this, the library developer simply needs to instantiate
     |  a NullHandler and add it to the top-level logger of the library module or
     |  package.
     |
     |  Method resolution order:
     |      NullHandler
     |      Handler
     |      Filterer
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  createLock(self)
     |      Acquire a thread lock for serializing access to the underlying I/O.
     |
     |  emit(self, record)
     |      Stub.
     |
     |  handle(self, record)
     |      Stub.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Handler:
     |
     |  __init__(self, level=0)
     |      Initializes the instance - basically setting the formatter to None
     |      and the filter list to empty.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  acquire(self)
     |      Acquire the I/O thread lock.
     |
     |  close(self)
     |      Tidy up any resources used by the handler.
     |
     |      This version removes the handler from an internal map of handlers,
     |      _handlers, which is used for handler lookup by name. Subclasses
     |      should ensure that this gets called from overridden close()
     |      methods.
     |
     |  flush(self)
     |      Ensure all logging output has been flushed.
     |
     |      This version does nothing and is intended to be implemented by
     |      subclasses.
     |
     |  format(self, record)
     |      Format the specified record.
     |
     |      If a formatter is set, use it. Otherwise, use the default formatter
     |      for the module.
     |
     |  get_name(self)
     |
     |  handleError(self, record)
     |      Handle errors which occur during an emit() call.
     |
     |      This method should be called from handlers when an exception is
     |      encountered during an emit() call. If raiseExceptions is false,
     |      exceptions get silently ignored. This is what is mostly wanted
     |      for a logging system - most users will not care about errors in
     |      the logging system, they are more interested in application errors.
     |      You could, however, replace this with a custom handler if you wish.
     |      The record which was being processed is passed in to this method.
     |
     |  release(self)
     |      Release the I/O thread lock.
     |
     |  setFormatter(self, fmt)
     |      Set the formatter for this handler.
     |
     |  setLevel(self, level)
     |      Set the logging level of this handler.  level must be an int or a str.
     |
     |  set_name(self, name)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Handler:
     |
     |  name
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Filterer:
     |
     |  addFilter(self, filter)
     |      Add the specified filter to this handler.
     |
     |  filter(self, record)
     |      Determine if a record is loggable by consulting all the filters.
     |
     |      The default is to allow the record to be logged; any filter can veto
     |      this by returning a false value.
     |      If a filter attached to a handler returns a log record instance,
     |      then that instance is used in place of the original log record in
     |      any further processing of the event by that handler.
     |      If a filter returns any other true value, the original log record
     |      is used in any further processing of the event by that handler.
     |
     |      If none of the filters return false values, this method returns
     |      a log record.
     |      If any of the filters return a false value, this method returns
     |      a false value.
     |
     |      .. versionchanged:: 3.2
     |
     |         Allow filters to be just callables.
     |
     |      .. versionchanged:: 3.12
     |         Allow filters to return a LogRecord instead of
     |         modifying it in place.
     |
     |  removeFilter(self, filter)
     |      Remove the specified filter from this handler.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Filterer:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class StreamHandler(Handler)
     |  StreamHandler(stream=None)
     |
     |  A handler class which writes logging records, appropriately formatted,
     |  to a stream. Note that this class does not close the stream, as
     |  sys.stdout or sys.stderr may be used.
     |
     |  Method resolution order:
     |      StreamHandler
     |      Handler
     |      Filterer
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, stream=None)
     |      Initialize the handler.
     |
     |      If stream is not specified, sys.stderr is used.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  emit(self, record)
     |      Emit a record.
     |
     |      If a formatter is specified, it is used to format the record.
     |      The record is then written to the stream with a trailing newline.  If
     |      exception information is present, it is formatted using
     |      traceback.print_exception and appended to the stream.  If the stream
     |      has an 'encoding' attribute, it is used to determine how to do the
     |      output to the stream.
     |
     |  flush(self)
     |      Flushes the stream.
     |
     |  setStream(self, stream)
     |      Sets the StreamHandler's stream to the specified value,
     |      if it is different.
     |
     |      Returns the old stream, if the stream was changed, or None
     |      if it wasn't.
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  __class_getitem__ = GenericAlias(...)
     |      Represent a PEP 585 generic type
     |
     |      E.g. for t = list[int], t.__origin__ is list and t.__args__ is (int,).
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  terminator = '\n'
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Handler:
     |
     |  acquire(self)
     |      Acquire the I/O thread lock.
     |
     |  close(self)
     |      Tidy up any resources used by the handler.
     |
     |      This version removes the handler from an internal map of handlers,
     |      _handlers, which is used for handler lookup by name. Subclasses
     |      should ensure that this gets called from overridden close()
     |      methods.
     |
     |  createLock(self)
     |      Acquire a thread lock for serializing access to the underlying I/O.
     |
     |  format(self, record)
     |      Format the specified record.
     |
     |      If a formatter is set, use it. Otherwise, use the default formatter
     |      for the module.
     |
     |  get_name(self)
     |
     |  handle(self, record)
     |      Conditionally emit the specified logging record.
     |
     |      Emission depends on filters which may have been added to the handler.
     |      Wrap the actual emission of the record with acquisition/release of
     |      the I/O thread lock.
     |
     |      Returns an instance of the log record that was emitted
     |      if it passed all filters, otherwise a false value is returned.
     |
     |  handleError(self, record)
     |      Handle errors which occur during an emit() call.
     |
     |      This method should be called from handlers when an exception is
     |      encountered during an emit() call. If raiseExceptions is false,
     |      exceptions get silently ignored. This is what is mostly wanted
     |      for a logging system - most users will not care about errors in
     |      the logging system, they are more interested in application errors.
     |      You could, however, replace this with a custom handler if you wish.
     |      The record which was being processed is passed in to this method.
     |
     |  release(self)
     |      Release the I/O thread lock.
     |
     |  setFormatter(self, fmt)
     |      Set the formatter for this handler.
     |
     |  setLevel(self, level)
     |      Set the logging level of this handler.  level must be an int or a str.
     |
     |  set_name(self, name)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Handler:
     |
     |  name
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Filterer:
     |
     |  addFilter(self, filter)
     |      Add the specified filter to this handler.
     |
     |  filter(self, record)
     |      Determine if a record is loggable by consulting all the filters.
     |
     |      The default is to allow the record to be logged; any filter can veto
     |      this by returning a false value.
     |      If a filter attached to a handler returns a log record instance,
     |      then that instance is used in place of the original log record in
     |      any further processing of the event by that handler.
     |      If a filter returns any other true value, the original log record
     |      is used in any further processing of the event by that handler.
     |
     |      If none of the filters return false values, this method returns
     |      a log record.
     |      If any of the filters return a false value, this method returns
     |      a false value.
     |
     |      .. versionchanged:: 3.2
     |
     |         Allow filters to be just callables.
     |
     |      .. versionchanged:: 3.12
     |         Allow filters to return a LogRecord instead of
     |         modifying it in place.
     |
     |  removeFilter(self, filter)
     |      Remove the specified filter from this handler.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Filterer:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

FUNCTIONS
    addLevelName(level, levelName)
        Associate 'levelName' with 'level'.

        This is used when converting levels to text during message formatting.

    basicConfig(**kwargs)
        Do basic configuration for the logging system.

        This function does nothing if the root logger already has handlers
        configured, unless the keyword argument *force* is set to ``True``.
        It is a convenience method intended for use by simple scripts
        to do one-shot configuration of the logging package.

        The default behaviour is to create a StreamHandler which writes to
        sys.stderr, set a formatter using the BASIC_FORMAT format string, and
        add the handler to the root logger.

        A number of optional keyword arguments may be specified, which can alter
        the default behaviour.

        filename  Specifies that a FileHandler be created, using the specified
                  filename, rather than a StreamHandler.
        filemode  Specifies the mode to open the file, if filename is specified
                  (if filemode is unspecified, it defaults to 'a').
        format    Use the specified format string for the handler.
        datefmt   Use the specified date/time format.
        style     If a format string is specified, use this to specify the
                  type of format string (possible values '%', '{', '$', for
                  %-formatting, :meth:`str.format` and :class:`string.Template`
                  - defaults to '%').
        level     Set the root logger level to the specified level.
        stream    Use the specified stream to initialize the StreamHandler. Note
                  that this argument is incompatible with 'filename' - if both
                  are present, 'stream' is ignored.
        handlers  If specified, this should be an iterable of already created
                  handlers, which will be added to the root logger. Any handler
                  in the list which does not have a formatter assigned will be
                  assigned the formatter created in this function.
        force     If this keyword  is specified as true, any existing handlers
                  attached to the root logger are removed and closed, before
                  carrying out the configuration as specified by the other
                  arguments.
        encoding  If specified together with a filename, this encoding is passed to
                  the created FileHandler, causing it to be used when the file is
                  opened.
        errors    If specified together with a filename, this value is passed to the
                  created FileHandler, causing it to be used when the file is
                  opened in text mode. If not specified, the default value is
                  `backslashreplace`.

        Note that you could specify a stream created using open(filename, mode)
        rather than passing the filename and mode in. However, it should be
        remembered that StreamHandler does not close its stream (since it may be
        using sys.stdout or sys.stderr), whereas FileHandler closes its stream
        when the handler is closed.

        .. versionchanged:: 3.2
           Added the ``style`` parameter.

        .. versionchanged:: 3.3
           Added the ``handlers`` parameter. A ``ValueError`` is now thrown for
           incompatible arguments (e.g. ``handlers`` specified together with
           ``filename``/``filemode``, or ``filename``/``filemode`` specified
           together with ``stream``, or ``handlers`` specified together with
           ``stream``.

        .. versionchanged:: 3.8
           Added the ``force`` parameter.

        .. versionchanged:: 3.9
           Added the ``encoding`` and ``errors`` parameters.

    captureWarnings(capture)
        If capture is true, redirect all warnings to the logging package.
        If capture is False, ensure that warnings are not redirected to logging
        but to their original destinations.

    critical(msg, *args, **kwargs)
        Log a message with severity 'CRITICAL' on the root logger. If the logger
        has no handlers, call basicConfig() to add a console handler with a
        pre-defined format.

    debug(msg, *args, **kwargs)
        Log a message with severity 'DEBUG' on the root logger. If the logger has
        no handlers, call basicConfig() to add a console handler with a pre-defined
        format.

    disable(level=50)
        Disable all logging calls of severity 'level' and below.

    error(msg, *args, **kwargs)
        Log a message with severity 'ERROR' on the root logger. If the logger has
        no handlers, call basicConfig() to add a console handler with a pre-defined
        format.

    exception(msg, *args, exc_info=True, **kwargs)
        Log a message with severity 'ERROR' on the root logger, with exception
        information. If the logger has no handlers, basicConfig() is called to add
        a console handler with a pre-defined format.

    fatal(msg, *args, **kwargs)
        Don't use this function, use critical() instead.

    getHandlerByName(name)
        Get a handler with the specified *name*, or None if there isn't one with
        that name.

    getHandlerNames()
        Return all known handler names as an immutable set.

    getLevelName(level)
        Return the textual or numeric representation of logging level 'level'.

        If the level is one of the predefined levels (CRITICAL, ERROR, WARNING,
        INFO, DEBUG) then you get the corresponding string. If you have
        associated levels with names using addLevelName then the name you have
        associated with 'level' is returned.

        If a numeric value corresponding to one of the defined levels is passed
        in, the corresponding string representation is returned.

        If a string representation of the level is passed in, the corresponding
        numeric value is returned.

        If no matching numeric or string value is passed in, the string
        'Level %s' % level is returned.

    getLevelNamesMapping()

    getLogRecordFactory()
        Return the factory to be used when instantiating a log record.

    getLogger(name=None)
        Return a logger with the specified name, creating it if necessary.

        If no name is specified, return the root logger.

    getLoggerClass()
        Return the class to be used when instantiating a logger.

    info(msg, *args, **kwargs)
        Log a message with severity 'INFO' on the root logger. If the logger has
        no handlers, call basicConfig() to add a console handler with a pre-defined
        format.

    log(level, msg, *args, **kwargs)
        Log 'msg % args' with the integer severity 'level' on the root logger. If
        the logger has no handlers, call basicConfig() to add a console handler
        with a pre-defined format.

    makeLogRecord(dict)
        Make a LogRecord whose attributes are defined by the specified dictionary,
        This function is useful for converting a logging event received over
        a socket connection (which is sent as a dictionary) into a LogRecord
        instance.

    setLogRecordFactory(factory)
        Set the factory to be used when instantiating a log record.

        :param factory: A callable which will be called to instantiate
        a log record.

    setLoggerClass(klass)
        Set the class to be used when instantiating a logger. The class should
        define __init__() such that only a name argument is required, and the
        __init__() should call Logger.__init__()

    shutdown(handlerList=[<weakref at 0x000002CF92DF68E0; to '_StderrHandler' at 0x000002CF92DF2F00>, <weakref at 0x000002CF9B713E70; to 'StreamHandler' at 0x000002CF9B6AB0B0>, <weakref at 0x000002CF9B74DE40; to 'NullHandler' at 0x000002CF9B616B70>])
        Perform any cleanup actions in the logging system (e.g. flushing
        buffers).

        Should be called at application exit.

    warn(msg, *args, **kwargs)

    warning(msg, *args, **kwargs)
        Log a message with severity 'WARNING' on the root logger. If the logger has
        no handlers, call basicConfig() to add a console handler with a pre-defined
        format.

DATA
    BASIC_FORMAT = '%(levelname)s:%(name)s:%(message)s'
    CRITICAL = 50
    DEBUG = 10
    ERROR = 40
    FATAL = 50
    INFO = 20
    NOTSET = 0
    WARN = 30
    WARNING = 30
    __all__ = ['BASIC_FORMAT', 'BufferingFormatter', 'CRITICAL', 'DEBUG', ...
    __status__ = 'production'
    lastResort = <_StderrHandler <stderr> (WARNING)>
    raiseExceptions = True

VERSION
    0.5.1.2

DATE
    07 February 2010

AUTHOR
    Vinay Sajip <vinay_sajip@red-dove.com>

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\logging\__init__.py

scikit-learn.os
Python Library Documentation: module os

NAME
    os - OS routines for NT or Posix depending on what system we're on.

MODULE REFERENCE
    https://docs.python.org/3.12/library/os.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This exports:
      - all functions from posix or nt, e.g. unlink, stat, etc.
      - os.path is either posixpath or ntpath
      - os.name is either 'posix' or 'nt'
      - os.curdir is a string representing the current directory (always '.')
      - os.pardir is a string representing the parent directory (always '..')
      - os.sep is the (or a most common) pathname separator ('/' or '\\')
      - os.extsep is the extension separator (always '.')
      - os.altsep is the alternate pathname separator (None or '/')
      - os.pathsep is the component separator used in $PATH etc
      - os.linesep is the line separator in text files ('\r' or '\n' or '\r\n')
      - os.defpath is the default search path for executables
      - os.devnull is the file path of the null device ('/dev/null', etc.)

    Programs that import and use 'os' stand a better chance of being
    portable between different platforms.  Of course, they must then
    only use functions that are defined by all platforms (e.g., unlink
    and opendir), and leave all pathname manipulation to os.path
    (e.g., split and join).

CLASSES
    builtins.Exception(builtins.BaseException)
        builtins.OSError
    builtins.object
        nt.DirEntry
    builtins.tuple(builtins.object)
        nt.times_result
        nt.uname_result
        stat_result
        statvfs_result
        terminal_size

    class DirEntry(builtins.object)
     |  Methods defined here:
     |
     |  __fspath__(self, /)
     |      Returns the path for the entry.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  inode(self, /)
     |      Return inode of the entry; cached per entry.
     |
     |  is_dir(self, /, *, follow_symlinks=True)
     |      Return True if the entry is a directory; cached per entry.
     |
     |  is_file(self, /, *, follow_symlinks=True)
     |      Return True if the entry is a file; cached per entry.
     |
     |  is_junction(self, /)
     |      Return True if the entry is a junction; cached per entry.
     |
     |  is_symlink(self, /)
     |      Return True if the entry is a symbolic link; cached per entry.
     |
     |  stat(self, /, *, follow_symlinks=True)
     |      Return stat_result object for the entry; cached per entry.
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  __class_getitem__(...)
     |      See PEP 585
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  name
     |      the entry's base filename, relative to scandir() "path" argument
     |
     |  path
     |      the entry's full path name; equivalent to os.path.join(scandir_path, entry.name)

    error = class OSError(Exception)
     |  Base class for I/O related errors.
     |
     |  Method resolution order:
     |      OSError
     |      Exception
     |      BaseException
     |      object
     |
     |  Built-in subclasses:
     |      BlockingIOError
     |      ChildProcessError
     |      ConnectionError
     |      FileExistsError
     |      ... and 7 other subclasses
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class stat_result(builtins.tuple)
     |  stat_result(iterable=(), /)
     |
     |  stat_result: Result from stat, fstat, or lstat.
     |
     |  This object may be accessed either as a tuple of
     |    (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime)
     |  or via the attributes st_mode, st_ino, st_dev, st_nlink, st_uid, and so on.
     |
     |  Posix/windows: If your platform supports st_blksize, st_blocks, st_rdev,
     |  or st_flags, they are available as attributes only.
     |
     |  See os.stat for more information.
     |
     |  Method resolution order:
     |      stat_result
     |      builtins.tuple
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  st_atime
     |      time of last access
     |
     |  st_atime_ns
     |      time of last access in nanoseconds
     |
     |  st_birthtime
     |      time of creation
     |
     |  st_birthtime_ns
     |      time of creation in nanoseconds
     |
     |  st_ctime
     |      time of last change
     |
     |  st_ctime_ns
     |      time of last change in nanoseconds
     |
     |  st_dev
     |      device
     |
     |  st_file_attributes
     |      Windows file attribute bits
     |
     |  st_gid
     |      group ID of owner
     |
     |  st_ino
     |      inode
     |
     |  st_mode
     |      protection bits
     |
     |  st_mtime
     |      time of last modification
     |
     |  st_mtime_ns
     |      time of last modification in nanoseconds
     |
     |  st_nlink
     |      number of hard links
     |
     |  st_reparse_tag
     |      Windows reparse tag
     |
     |  st_size
     |      total size, in bytes
     |
     |  st_uid
     |      user ID of owner
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __match_args__ = ('st_mode', 'st_ino', 'st_dev', 'st_nlink', 'st_uid',...
     |
     |  n_fields = 20
     |
     |  n_sequence_fields = 10
     |
     |  n_unnamed_fields = 3
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.tuple:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __contains__(self, key, /)
     |      Return bool(key in self).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  count(self, value, /)
     |      Return number of occurrences of value.
     |
     |  index(self, value, start=0, stop=9223372036854775807, /)
     |      Return first index of value.
     |
     |      Raises ValueError if the value is not present.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.tuple:
     |
     |  __class_getitem__(...)
     |      See PEP 585

    class statvfs_result(builtins.tuple)
     |  statvfs_result(iterable=(), /)
     |
     |  statvfs_result: Result from statvfs or fstatvfs.
     |
     |  This object may be accessed either as a tuple of
     |    (bsize, frsize, blocks, bfree, bavail, files, ffree, favail, flag, namemax),
     |  or via the attributes f_bsize, f_frsize, f_blocks, f_bfree, and so on.
     |
     |  See os.statvfs for more information.
     |
     |  Method resolution order:
     |      statvfs_result
     |      builtins.tuple
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  f_bavail
     |
     |  f_bfree
     |
     |  f_blocks
     |
     |  f_bsize
     |
     |  f_favail
     |
     |  f_ffree
     |
     |  f_files
     |
     |  f_flag
     |
     |  f_frsize
     |
     |  f_fsid
     |
     |  f_namemax
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __match_args__ = ('f_bsize', 'f_frsize', 'f_blocks', 'f_bfree', 'f_bav...
     |
     |  n_fields = 11
     |
     |  n_sequence_fields = 10
     |
     |  n_unnamed_fields = 0
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.tuple:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __contains__(self, key, /)
     |      Return bool(key in self).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  count(self, value, /)
     |      Return number of occurrences of value.
     |
     |  index(self, value, start=0, stop=9223372036854775807, /)
     |      Return first index of value.
     |
     |      Raises ValueError if the value is not present.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.tuple:
     |
     |  __class_getitem__(...)
     |      See PEP 585

    class terminal_size(builtins.tuple)
     |  terminal_size(iterable=(), /)
     |
     |  A tuple of (columns, lines) for holding terminal window size
     |
     |  Method resolution order:
     |      terminal_size
     |      builtins.tuple
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  columns
     |      width of the terminal window in characters
     |
     |  lines
     |      height of the terminal window in characters
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __match_args__ = ('columns', 'lines')
     |
     |  n_fields = 2
     |
     |  n_sequence_fields = 2
     |
     |  n_unnamed_fields = 0
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.tuple:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __contains__(self, key, /)
     |      Return bool(key in self).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  count(self, value, /)
     |      Return number of occurrences of value.
     |
     |  index(self, value, start=0, stop=9223372036854775807, /)
     |      Return first index of value.
     |
     |      Raises ValueError if the value is not present.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.tuple:
     |
     |  __class_getitem__(...)
     |      See PEP 585

    class times_result(builtins.tuple)
     |  times_result(iterable=(), /)
     |
     |  times_result: Result from os.times().
     |
     |  This object may be accessed either as a tuple of
     |    (user, system, children_user, children_system, elapsed),
     |  or via the attributes user, system, children_user, children_system,
     |  and elapsed.
     |
     |  See os.times for more information.
     |
     |  Method resolution order:
     |      times_result
     |      builtins.tuple
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  children_system
     |      system time of children
     |
     |  children_user
     |      user time of children
     |
     |  elapsed
     |      elapsed time since an arbitrary point in the past
     |
     |  system
     |      system time
     |
     |  user
     |      user time
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __match_args__ = ('user', 'system', 'children_user', 'children_system'...
     |
     |  n_fields = 5
     |
     |  n_sequence_fields = 5
     |
     |  n_unnamed_fields = 0
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.tuple:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __contains__(self, key, /)
     |      Return bool(key in self).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  count(self, value, /)
     |      Return number of occurrences of value.
     |
     |  index(self, value, start=0, stop=9223372036854775807, /)
     |      Return first index of value.
     |
     |      Raises ValueError if the value is not present.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.tuple:
     |
     |  __class_getitem__(...)
     |      See PEP 585

    class uname_result(builtins.tuple)
     |  uname_result(iterable=(), /)
     |
     |  uname_result: Result from os.uname().
     |
     |  This object may be accessed either as a tuple of
     |    (sysname, nodename, release, version, machine),
     |  or via the attributes sysname, nodename, release, version, and machine.
     |
     |  See os.uname for more information.
     |
     |  Method resolution order:
     |      uname_result
     |      builtins.tuple
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  machine
     |      hardware identifier
     |
     |  nodename
     |      name of machine on network (implementation-defined)
     |
     |  release
     |      operating system release
     |
     |  sysname
     |      operating system name
     |
     |  version
     |      operating system version
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __match_args__ = ('sysname', 'nodename', 'release', 'version', 'machin...
     |
     |  n_fields = 5
     |
     |  n_sequence_fields = 5
     |
     |  n_unnamed_fields = 0
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.tuple:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __contains__(self, key, /)
     |      Return bool(key in self).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  count(self, value, /)
     |      Return number of occurrences of value.
     |
     |  index(self, value, start=0, stop=9223372036854775807, /)
     |      Return first index of value.
     |
     |      Raises ValueError if the value is not present.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.tuple:
     |
     |  __class_getitem__(...)
     |      See PEP 585

FUNCTIONS
    _exit(status)
        Exit to the system with specified status, without normal exit processing.

    abort()
        Abort the interpreter immediately.

        This function 'dumps core' or otherwise fails in the hardest way possible
        on the hosting operating system.  This function never returns.

    access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)
        Use the real uid/gid to test for access to a path.

          path
            Path to be tested; can be string, bytes, or a path-like object.
          mode
            Operating-system mode bitfield.  Can be F_OK to test existence,
            or the inclusive-OR of R_OK, W_OK, and X_OK.
          dir_fd
            If not None, it should be a file descriptor open to a directory,
            and path should be relative; path will then be relative to that
            directory.
          effective_ids
            If True, access will use the effective uid/gid instead of
            the real uid/gid.
          follow_symlinks
            If False, and the last element of the path is a symbolic link,
            access will examine the symbolic link itself instead of the file
            the link points to.

        dir_fd, effective_ids, and follow_symlinks may not be implemented
          on your platform.  If they are unavailable, using them will raise a
          NotImplementedError.

        Note that most operations will use the effective uid/gid, therefore this
          routine can be used in a suid/sgid environment to test if the invoking user
          has the specified access to the path.

    chdir(path)
        Change the current working directory to the specified path.

        path may always be specified as a string.
        On some platforms, path may also be specified as an open file descriptor.
          If this functionality is unavailable, using it raises an exception.

    chmod(path, mode, *, dir_fd=None, follow_symlinks=True)
        Change the access permissions of a file.

          path
            Path to be modified.  May always be specified as a str, bytes, or a path-like object.
            On some platforms, path may also be specified as an open file descriptor.
            If this functionality is unavailable, using it raises an exception.
          mode
            Operating-system mode bitfield.
            Be careful when using number literals for *mode*. The conventional UNIX notation for
            numeric modes uses an octal base, which needs to be indicated with a ``0o`` prefix in
            Python.
          dir_fd
            If not None, it should be a file descriptor open to a directory,
            and path should be relative; path will then be relative to that
            directory.
          follow_symlinks
            If False, and the last element of the path is a symbolic link,
            chmod will modify the symbolic link itself instead of the file
            the link points to.

        It is an error to use dir_fd or follow_symlinks when specifying path as
          an open file descriptor.
        dir_fd and follow_symlinks may not be implemented on your platform.
          If they are unavailable, using them will raise a NotImplementedError.

    close(fd)
        Close a file descriptor.

    closerange(fd_low, fd_high, /)
        Closes all file descriptors in [fd_low, fd_high), ignoring errors.

    cpu_count()
        Return the number of CPUs in the system; return None if indeterminable.

        This number is not equivalent to the number of CPUs the current process can
        use.  The number of usable CPUs can be obtained with
        ``len(os.sched_getaffinity(0))``

    device_encoding(fd)
        Return a string describing the encoding of a terminal's file descriptor.

        The file descriptor must be attached to a terminal.
        If the device is not a terminal, return None.

    dup(fd, /)
        Return a duplicate of a file descriptor.

    dup2(fd, fd2, inheritable=True)
        Duplicate file descriptor.

    execl(file, *args)
        execl(file, *args)

        Execute the executable file with argument list args, replacing the
        current process.

    execle(file, *args)
        execle(file, *args, env)

        Execute the executable file with argument list args and
        environment env, replacing the current process.

    execlp(file, *args)
        execlp(file, *args)

        Execute the executable file (which is searched for along $PATH)
        with argument list args, replacing the current process.

    execlpe(file, *args)
        execlpe(file, *args, env)

        Execute the executable file (which is searched for along $PATH)
        with argument list args and environment env, replacing the current
        process.

    execv(path, argv, /)
        Execute an executable path with arguments, replacing current process.

        path
          Path of executable file.
        argv
          Tuple or list of strings.

    execve(path, argv, env)
        Execute an executable path with arguments, replacing current process.

        path
          Path of executable file.
        argv
          Tuple or list of strings.
        env
          Dictionary of strings mapping to strings.

    execvp(file, args)
        execvp(file, args)

        Execute the executable file (which is searched for along $PATH)
        with argument list args, replacing the current process.
        args may be a list or tuple of strings.

    execvpe(file, args, env)
        execvpe(file, args, env)

        Execute the executable file (which is searched for along $PATH)
        with argument list args and environment env, replacing the
        current process.
        args may be a list or tuple of strings.

    fdopen(fd, mode='r', buffering=-1, encoding=None, *args, **kwargs)

    fsdecode(filename)
        Decode filename (an os.PathLike, bytes, or str) from the filesystem
        encoding with 'surrogateescape' error handler, return str unchanged. On
        Windows, use 'strict' error handler if the file system encoding is
        'mbcs' (which is the default encoding).

    fsencode(filename)
        Encode filename (an os.PathLike, bytes, or str) to the filesystem
        encoding with 'surrogateescape' error handler, return bytes unchanged.
        On Windows, use 'strict' error handler if the file system encoding is
        'mbcs' (which is the default encoding).

    fspath(path)
        Return the file system path representation of the object.

        If the object is str or bytes, then allow it to pass through as-is. If the
        object defines __fspath__(), then return the result of that method. All other
        types raise a TypeError.

    fstat(fd)
        Perform a stat system call on the given file descriptor.

        Like stat(), but for an open file descriptor.
        Equivalent to os.stat(fd).

    fsync(fd)
        Force write of fd to disk.

    ftruncate(fd, length, /)
        Truncate a file, specified by file descriptor, to a specific length.

    get_blocking(fd, /)
        Get the blocking mode of the file descriptor.

        Return False if the O_NONBLOCK flag is set, True if the flag is cleared.

    get_exec_path(env=None)
        Returns the sequence of directories that will be searched for the
        named executable (similar to a shell) when launching a process.

        *env* must be an environment variable dict or None.  If *env* is None,
        os.environ will be used.

    get_handle_inheritable(handle, /)
        Get the close-on-exe flag of the specified file descriptor.

    get_inheritable(fd, /)
        Get the close-on-exe flag of the specified file descriptor.

    get_terminal_size(...)
        Return the size of the terminal window as (columns, lines).

        The optional argument fd (default standard output) specifies
        which file descriptor should be queried.

        If the file descriptor is not connected to a terminal, an OSError
        is thrown.

        This function will only be defined if an implementation is
        available for this system.

        shutil.get_terminal_size is the high-level function which should
        normally be used, os.get_terminal_size is the low-level implementation.

    getcwd()
        Return a unicode string representing the current working directory.

    getcwdb()
        Return a bytes string representing the current working directory.

    getenv(key, default=None)
        Get an environment variable, return None if it doesn't exist.
        The optional second argument can specify an alternate default.
        key, default and the result are str.

    getlogin()
        Return the actual login name.

    getpid()
        Return the current process id.

    getppid()
        Return the parent's process id.

        If the parent process has already exited, Windows machines will still
        return its id; others systems will return the id of the 'init' process (1).

    isatty(fd, /)
        Return True if the fd is connected to a terminal.

        Return True if the file descriptor is an open file descriptor
        connected to the slave end of a terminal.

    kill(pid, signal, /)
        Kill a process with a signal.

    link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)
        Create a hard link to a file.

        If either src_dir_fd or dst_dir_fd is not None, it should be a file
          descriptor open to a directory, and the respective path string (src or dst)
          should be relative; the path will then be relative to that directory.
        If follow_symlinks is False, and the last element of src is a symbolic
          link, link will create a link to the symbolic link itself instead of the
          file the link points to.
        src_dir_fd, dst_dir_fd, and follow_symlinks may not be implemented on your
          platform.  If they are unavailable, using them will raise a
          NotImplementedError.

    listdir(path=None)
        Return a list containing the names of the files in the directory.

        path can be specified as either str, bytes, or a path-like object.  If path is bytes,
          the filenames returned will also be bytes; in all other circumstances
          the filenames returned will be str.
        If path is None, uses the path='.'.
        On some platforms, path may also be specified as an open file descriptor;\
          the file descriptor must refer to a directory.
          If this functionality is unavailable, using it raises NotImplementedError.

        The list is in arbitrary order.  It does not include the special
        entries '.' and '..' even if they are present in the directory.

    listdrives()
        Return a list containing the names of drives in the system.

        A drive name typically looks like 'C:\\'.

    listmounts(volume)
        Return a list containing mount points for a particular volume.

        'volume' should be a GUID path as returned from os.listvolumes.

    listvolumes()
        Return a list containing the volumes in the system.

        Volumes are typically represented as a GUID path.

    lseek(fd, position, whence, /)
        Set the position of a file descriptor.  Return the new position.

          fd
            An open file descriptor, as returned by os.open().
          position
            Position, interpreted relative to 'whence'.
          whence
            The relative position to seek from. Valid values are:
            - SEEK_SET: seek from the start of the file.
            - SEEK_CUR: seek from the current file position.
            - SEEK_END: seek from the end of the file.

        The return value is the number of bytes relative to the beginning of the file.

    lstat(path, *, dir_fd=None)
        Perform a stat system call on the given path, without following symbolic links.

        Like stat(), but do not follow symbolic links.
        Equivalent to stat(path, follow_symlinks=False).

    makedirs(name, mode=511, exist_ok=False)
        makedirs(name [, mode=0o777][, exist_ok=False])

        Super-mkdir; create a leaf directory and all intermediate ones.  Works like
        mkdir, except that any intermediate path segment (not just the rightmost)
        will be created if it does not exist. If the target directory already
        exists, raise an OSError if exist_ok is False. Otherwise no exception is
        raised.  This is recursive.

    mkdir(path, mode=511, *, dir_fd=None)
        Create a directory.

        If dir_fd is not None, it should be a file descriptor open to a directory,
          and path should be relative; path will then be relative to that directory.
        dir_fd may not be implemented on your platform.
          If it is unavailable, using it will raise a NotImplementedError.

        The mode argument is ignored on Windows. Where it is used, the current umask
        value is first masked out.

    open(path, flags, mode=511, *, dir_fd=None)
        Open a file for low level IO.  Returns a file descriptor (integer).

        If dir_fd is not None, it should be a file descriptor open to a directory,
          and path should be relative; path will then be relative to that directory.
        dir_fd may not be implemented on your platform.
          If it is unavailable, using it will raise a NotImplementedError.

    pipe()
        Create a pipe.

        Returns a tuple of two file descriptors:
          (read_fd, write_fd)

    popen(cmd, mode='r', buffering=-1)

    putenv(name, value, /)
        Change or add an environment variable.

    read(fd, length, /)
        Read from a file descriptor.  Returns a bytes object.

    readlink(path, *, dir_fd=None)
        Return a string representing the path to which the symbolic link points.

        If dir_fd is not None, it should be a file descriptor open to a directory,
        and path should be relative; path will then be relative to that directory.

        dir_fd may not be implemented on your platform.  If it is unavailable,
        using it will raise a NotImplementedError.

    remove(path, *, dir_fd=None)
        Remove a file (same as unlink()).

        If dir_fd is not None, it should be a file descriptor open to a directory,
          and path should be relative; path will then be relative to that directory.
        dir_fd may not be implemented on your platform.
          If it is unavailable, using it will raise a NotImplementedError.

    removedirs(name)
        removedirs(name)

        Super-rmdir; remove a leaf directory and all empty intermediate
        ones.  Works like rmdir except that, if the leaf directory is
        successfully removed, directories corresponding to rightmost path
        segments will be pruned away until either the whole path is
        consumed or an error occurs.  Errors during this latter phase are
        ignored -- they generally mean that a directory was not empty.

    rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
        Rename a file or directory.

        If either src_dir_fd or dst_dir_fd is not None, it should be a file
          descriptor open to a directory, and the respective path string (src or dst)
          should be relative; the path will then be relative to that directory.
        src_dir_fd and dst_dir_fd, may not be implemented on your platform.
          If they are unavailable, using them will raise a NotImplementedError.

    renames(old, new)
        renames(old, new)

        Super-rename; create directories as necessary and delete any left
        empty.  Works like rename, except creation of any intermediate
        directories needed to make the new pathname good is attempted
        first.  After the rename, directories corresponding to rightmost
        path segments of the old name will be pruned until either the
        whole path is consumed or a nonempty directory is found.

        Note: this function can fail with the new directory structure made
        if you lack permissions needed to unlink the leaf directory or
        file.

    replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
        Rename a file or directory, overwriting the destination.

        If either src_dir_fd or dst_dir_fd is not None, it should be a file
          descriptor open to a directory, and the respective path string (src or dst)
          should be relative; the path will then be relative to that directory.
        src_dir_fd and dst_dir_fd, may not be implemented on your platform.
          If they are unavailable, using them will raise a NotImplementedError.

    rmdir(path, *, dir_fd=None)
        Remove a directory.

        If dir_fd is not None, it should be a file descriptor open to a directory,
          and path should be relative; path will then be relative to that directory.
        dir_fd may not be implemented on your platform.
          If it is unavailable, using it will raise a NotImplementedError.

    scandir(path=None)
        Return an iterator of DirEntry objects for given path.

        path can be specified as either str, bytes, or a path-like object.  If path
        is bytes, the names of yielded DirEntry objects will also be bytes; in
        all other circumstances they will be str.

        If path is None, uses the path='.'.

    set_blocking(fd, blocking, /)
        Set the blocking mode of the specified file descriptor.

        Set the O_NONBLOCK flag if blocking is False,
        clear the O_NONBLOCK flag otherwise.

    set_handle_inheritable(handle, inheritable, /)
        Set the inheritable flag of the specified handle.

    set_inheritable(fd, inheritable, /)
        Set the inheritable flag of the specified file descriptor.

    spawnl(mode, file, *args)
        spawnl(mode, file, *args) -> integer

        Execute file with arguments from args in a subprocess.
        If mode == P_NOWAIT return the pid of the process.
        If mode == P_WAIT return the process's exit code if it exits normally;
        otherwise return -SIG, where SIG is the signal that killed it.

    spawnle(mode, file, *args)
        spawnle(mode, file, *args, env) -> integer

        Execute file with arguments from args in a subprocess with the
        supplied environment.
        If mode == P_NOWAIT return the pid of the process.
        If mode == P_WAIT return the process's exit code if it exits normally;
        otherwise return -SIG, where SIG is the signal that killed it.

    spawnv(mode, path, argv, /)
        Execute the program specified by path in a new process.

        mode
          Mode of process creation.
        path
          Path of executable file.
        argv
          Tuple or list of strings.

    spawnve(mode, path, argv, env, /)
        Execute the program specified by path in a new process.

        mode
          Mode of process creation.
        path
          Path of executable file.
        argv
          Tuple or list of strings.
        env
          Dictionary of strings mapping to strings.

    startfile(...)
        Start a file with its associated application.

        When "operation" is not specified or "open", this acts like
        double-clicking the file in Explorer, or giving the file name as an
        argument to the DOS "start" command: the file is opened with whatever
        application (if any) its extension is associated.
        When another "operation" is given, it specifies what should be done with
        the file.  A typical operation is "print".

        "arguments" is passed to the application, but should be omitted if the
        file is a document.

        "cwd" is the working directory for the operation. If "filepath" is
        relative, it will be resolved against this directory. This argument
        should usually be an absolute path.

        "show_cmd" can be used to override the recommended visibility option.
        See the Windows ShellExecute documentation for values.

        startfile returns as soon as the associated application is launched.
        There is no option to wait for the application to close, and no way
        to retrieve the application's exit status.

        The filepath is relative to the current directory.  If you want to use
        an absolute path, make sure the first character is not a slash ("/");
        the underlying Win32 ShellExecute function doesn't work if it is.

    stat(path, *, dir_fd=None, follow_symlinks=True)
        Perform a stat system call on the given path.

          path
            Path to be examined; can be string, bytes, a path-like object or
            open-file-descriptor int.
          dir_fd
            If not None, it should be a file descriptor open to a directory,
            and path should be a relative string; path will then be relative to
            that directory.
          follow_symlinks
            If False, and the last element of the path is a symbolic link,
            stat will examine the symbolic link itself instead of the file
            the link points to.

        dir_fd and follow_symlinks may not be implemented
          on your platform.  If they are unavailable, using them will raise a
          NotImplementedError.

        It's an error to use dir_fd or follow_symlinks when specifying path as
          an open file descriptor.

    strerror(code, /)
        Translate an error code to a message string.

    symlink(src, dst, target_is_directory=False, *, dir_fd=None)
        Create a symbolic link pointing to src named dst.

        target_is_directory is required on Windows if the target is to be
          interpreted as a directory.  (On Windows, symlink requires
          Windows 6.0 or greater, and raises a NotImplementedError otherwise.)
          target_is_directory is ignored on non-Windows platforms.

        If dir_fd is not None, it should be a file descriptor open to a directory,
          and path should be relative; path will then be relative to that directory.
        dir_fd may not be implemented on your platform.
          If it is unavailable, using it will raise a NotImplementedError.

    system(command)
        Execute the command in a subshell.

    times()
        Return a collection containing process timing information.

        The object returned behaves like a named tuple with these fields:
          (utime, stime, cutime, cstime, elapsed_time)
        All fields are floating-point numbers.

    truncate(path, length)
        Truncate a file, specified by path, to a specific length.

        On some platforms, path may also be specified as an open file descriptor.
          If this functionality is unavailable, using it raises an exception.

    umask(mask, /)
        Set the current numeric umask and return the previous umask.

    unlink(path, *, dir_fd=None)
        Remove a file (same as remove()).

        If dir_fd is not None, it should be a file descriptor open to a directory,
          and path should be relative; path will then be relative to that directory.
        dir_fd may not be implemented on your platform.
          If it is unavailable, using it will raise a NotImplementedError.

    unsetenv(name, /)
        Delete an environment variable.

    urandom(size, /)
        Return a bytes object containing random bytes suitable for cryptographic use.

    utime(...)
        Set the access and modified time of path.

        path may always be specified as a string.
        On some platforms, path may also be specified as an open file descriptor.
          If this functionality is unavailable, using it raises an exception.

        If times is not None, it must be a tuple (atime, mtime);
            atime and mtime should be expressed as float seconds since the epoch.
        If ns is specified, it must be a tuple (atime_ns, mtime_ns);
            atime_ns and mtime_ns should be expressed as integer nanoseconds
            since the epoch.
        If times is None and ns is unspecified, utime uses the current time.
        Specifying tuples for both times and ns is an error.

        If dir_fd is not None, it should be a file descriptor open to a directory,
          and path should be relative; path will then be relative to that directory.
        If follow_symlinks is False, and the last element of the path is a symbolic
          link, utime will modify the symbolic link itself instead of the file the
          link points to.
        It is an error to use dir_fd or follow_symlinks when specifying path
          as an open file descriptor.
        dir_fd and follow_symlinks may not be available on your platform.
          If they are unavailable, using them will raise a NotImplementedError.

    waitpid(pid, options, /)
        Wait for completion of a given process.

        Returns a tuple of information regarding the process:
            (pid, status << 8)

        The options argument is ignored on Windows.

    waitstatus_to_exitcode(status)
        Convert a wait status to an exit code.

        On Unix:

        * If WIFEXITED(status) is true, return WEXITSTATUS(status).
        * If WIFSIGNALED(status) is true, return -WTERMSIG(status).
        * Otherwise, raise a ValueError.

        On Windows, return status shifted right by 8 bits.

        On Unix, if the process is being traced or if waitpid() was called with
        WUNTRACED option, the caller must first check if WIFSTOPPED(status) is true.
        This function must not be called if WIFSTOPPED(status) is true.

    walk(top, topdown=True, onerror=None, followlinks=False)
        Directory tree generator.

        For each directory in the directory tree rooted at top (including top
        itself, but excluding '.' and '..'), yields a 3-tuple

            dirpath, dirnames, filenames

        dirpath is a string, the path to the directory.  dirnames is a list of
        the names of the subdirectories in dirpath (including symlinks to directories,
        and excluding '.' and '..').
        filenames is a list of the names of the non-directory files in dirpath.
        Note that the names in the lists are just names, with no path components.
        To get a full path (which begins with top) to a file or directory in
        dirpath, do os.path.join(dirpath, name).

        If optional arg 'topdown' is true or not specified, the triple for a
        directory is generated before the triples for any of its subdirectories
        (directories are generated top down).  If topdown is false, the triple
        for a directory is generated after the triples for all of its
        subdirectories (directories are generated bottom up).

        When topdown is true, the caller can modify the dirnames list in-place
        (e.g., via del or slice assignment), and walk will only recurse into the
        subdirectories whose names remain in dirnames; this can be used to prune the
        search, or to impose a specific order of visiting.  Modifying dirnames when
        topdown is false has no effect on the behavior of os.walk(), since the
        directories in dirnames have already been generated by the time dirnames
        itself is generated. No matter the value of topdown, the list of
        subdirectories is retrieved before the tuples for the directory and its
        subdirectories are generated.

        By default errors from the os.scandir() call are ignored.  If
        optional arg 'onerror' is specified, it should be a function; it
        will be called with one argument, an OSError instance.  It can
        report the error to continue with the walk, or raise the exception
        to abort the walk.  Note that the filename is available as the
        filename attribute of the exception object.

        By default, os.walk does not follow symbolic links to subdirectories on
        systems that support them.  In order to get this functionality, set the
        optional argument 'followlinks' to true.

        Caution:  if you pass a relative pathname for top, don't change the
        current working directory between resumptions of walk.  walk never
        changes the current directory, and assumes that the client doesn't
        either.

        Example:

        import os
        from os.path import join, getsize
        for root, dirs, files in os.walk('python/Lib/email'):
            print(root, "consumes ")
            print(sum(getsize(join(root, name)) for name in files), end=" ")
            print("bytes in", len(files), "non-directory files")
            if 'CVS' in dirs:
                dirs.remove('CVS')  # don't visit CVS directories

    write(fd, data, /)
        Write a bytes object to a file descriptor.

DATA
    EX_OK = 0
    F_OK = 0
    O_APPEND = 8
    O_BINARY = 32768
    O_CREAT = 256
    O_EXCL = 1024
    O_NOINHERIT = 128
    O_RANDOM = 16
    O_RDONLY = 0
    O_RDWR = 2
    O_SEQUENTIAL = 32
    O_SHORT_LIVED = 4096
    O_TEMPORARY = 64
    O_TEXT = 16384
    O_TRUNC = 512
    O_WRONLY = 1
    P_DETACH = 4
    P_NOWAIT = 1
    P_NOWAITO = 3
    P_OVERLAY = 2
    P_WAIT = 0
    R_OK = 4
    SEEK_CUR = 1
    SEEK_END = 2
    SEEK_SET = 0
    TMP_MAX = 2147483647
    W_OK = 2
    X_OK = 1
    __all__ = ['altsep', 'curdir', 'pardir', 'sep', 'pathsep', 'linesep', ...
    altsep = '/'
    curdir = '.'
    defpath = r'.;C:\bin'
    devnull = 'nul'
    environ = environ({'ALLUSERSPROFILE': 'C:\\ProgramData', '...TE_LIB_OK...
    extsep = '.'
    linesep = '\r\n'
    name = 'nt'
    pardir = '..'
    pathsep = ';'
    sep = r'\'
    supports_bytes_environ = False

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\os.py

scikit-learn.random
Python Library Documentation: module random

NAME
    random - Random variable generators.

MODULE REFERENCE
    https://docs.python.org/3.12/library/random.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
        bytes
        -----
               uniform bytes (values between 0 and 255)

        integers
        --------
               uniform within range

        sequences
        ---------
               pick random element
               pick random sample
               pick weighted random sample
               generate random permutation

        distributions on the real line:
        ------------------------------
               uniform
               triangular
               normal (Gaussian)
               lognormal
               negative exponential
               gamma
               beta
               pareto
               Weibull

        distributions on the circle (angles 0 to 2pi)
        ---------------------------------------------
               circular uniform
               von Mises

        discrete distributions
        ----------------------
               binomial


    General notes on the underlying Mersenne Twister core generator:

    * The period is 2**19937-1.
    * It is one of the most extensively tested generators in existence.
    * The random() method is implemented in C, executes in a single Python step,
      and is, therefore, threadsafe.

CLASSES
    _random.Random(builtins.object)
        Random
            SystemRandom

    class Random(_random.Random)
     |  Random(x=None)
     |
     |  Random number generator base class used by bound module functions.
     |
     |  Used to instantiate instances of Random to get generators that don't
     |  share state.
     |
     |  Class Random can also be subclassed if you want to use a different basic
     |  generator of your own devising: in that case, override the following
     |  methods:  random(), seed(), getstate(), and setstate().
     |  Optionally, implement a getrandbits() method so that randrange()
     |  can cover arbitrarily large ranges.
     |
     |  Method resolution order:
     |      Random
     |      _random.Random
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __init__(self, x=None)
     |      Initialize an instance.
     |
     |      Optional argument x controls seeding, as for Random.seed().
     |
     |  __reduce__(self)
     |      Helper for pickle.
     |
     |  __setstate__(self, state)
     |
     |  betavariate(self, alpha, beta)
     |      Beta distribution.
     |
     |      Conditions on the parameters are alpha > 0 and beta > 0.
     |      Returned values range between 0 and 1.
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = alpha / (alpha + beta)
     |          Var[X] = alpha * beta / ((alpha + beta)**2 * (alpha + beta + 1))
     |
     |  binomialvariate(self, n=1, p=0.5)
     |      Binomial random variable.
     |
     |      Gives the number of successes for *n* independent trials
     |      with the probability of success in each trial being *p*:
     |
     |          sum(random() < p for i in range(n))
     |
     |      Returns an integer in the range:   0 <= X <= n
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = n * p
     |          Var[x] = n * p * (1 - p)
     |
     |  choice(self, seq)
     |      Choose a random element from a non-empty sequence.
     |
     |  choices(self, population, weights=None, *, cum_weights=None, k=1)
     |      Return a k sized list of population elements chosen with replacement.
     |
     |      If the relative weights or cumulative weights are not specified,
     |      the selections are made with equal probability.
     |
     |  expovariate(self, lambd=1.0)
     |      Exponential distribution.
     |
     |      lambd is 1.0 divided by the desired mean.  It should be
     |      nonzero.  (The parameter would be called "lambda", but that is
     |      a reserved word in Python.)  Returned values range from 0 to
     |      positive infinity if lambd is positive, and from negative
     |      infinity to 0 if lambd is negative.
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = 1 / lambd
     |          Var[X] = 1 / lambd ** 2
     |
     |  gammavariate(self, alpha, beta)
     |      Gamma distribution.  Not the gamma function!
     |
     |      Conditions on the parameters are alpha > 0 and beta > 0.
     |
     |      The probability distribution function is:
     |
     |                  x ** (alpha - 1) * math.exp(-x / beta)
     |        pdf(x) =  --------------------------------------
     |                    math.gamma(alpha) * beta ** alpha
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = alpha * beta
     |          Var[X] = alpha * beta ** 2
     |
     |  gauss(self, mu=0.0, sigma=1.0)
     |      Gaussian distribution.
     |
     |      mu is the mean, and sigma is the standard deviation.  This is
     |      slightly faster than the normalvariate() function.
     |
     |      Not thread-safe without a lock around calls.
     |
     |  getstate(self)
     |      Return internal state; can be passed to setstate() later.
     |
     |  lognormvariate(self, mu, sigma)
     |      Log normal distribution.
     |
     |      If you take the natural logarithm of this distribution, you'll get a
     |      normal distribution with mean mu and standard deviation sigma.
     |      mu can have any value, and sigma must be greater than zero.
     |
     |  normalvariate(self, mu=0.0, sigma=1.0)
     |      Normal distribution.
     |
     |      mu is the mean, and sigma is the standard deviation.
     |
     |  paretovariate(self, alpha)
     |      Pareto distribution.  alpha is the shape parameter.
     |
     |  randbytes(self, n)
     |      Generate n random bytes.
     |
     |  randint(self, a, b)
     |      Return random integer in range [a, b], including both end points.
     |
     |  randrange(self, start, stop=None, step=1)
     |      Choose a random item from range(stop) or range(start, stop[, step]).
     |
     |      Roughly equivalent to ``choice(range(start, stop, step))`` but
     |      supports arbitrarily large ranges and is optimized for common cases.
     |
     |  sample(self, population, k, *, counts=None)
     |      Chooses k unique random elements from a population sequence.
     |
     |      Returns a new list containing elements from the population while
     |      leaving the original population unchanged.  The resulting list is
     |      in selection order so that all sub-slices will also be valid random
     |      samples.  This allows raffle winners (the sample) to be partitioned
     |      into grand prize and second place winners (the subslices).
     |
     |      Members of the population need not be hashable or unique.  If the
     |      population contains repeats, then each occurrence is a possible
     |      selection in the sample.
     |
     |      Repeated elements can be specified one at a time or with the optional
     |      counts parameter.  For example:
     |
     |          sample(['red', 'blue'], counts=[4, 2], k=5)
     |
     |      is equivalent to:
     |
     |          sample(['red', 'red', 'red', 'red', 'blue', 'blue'], k=5)
     |
     |      To choose a sample from a range of integers, use range() for the
     |      population argument.  This is especially fast and space efficient
     |      for sampling from a large population:
     |
     |          sample(range(10000000), 60)
     |
     |  seed(self, a=None, version=2)
     |      Initialize internal state from a seed.
     |
     |      The only supported seed types are None, int, float,
     |      str, bytes, and bytearray.
     |
     |      None or no argument seeds from current time or from an operating
     |      system specific randomness source if available.
     |
     |      If *a* is an int, all bits are used.
     |
     |      For version 2 (the default), all of the bits are used if *a* is a str,
     |      bytes, or bytearray.  For version 1 (provided for reproducing random
     |      sequences from older versions of Python), the algorithm for str and
     |      bytes generates a narrower range of seeds.
     |
     |  setstate(self, state)
     |      Restore internal state from object returned by getstate().
     |
     |  shuffle(self, x)
     |      Shuffle list x in place, and return None.
     |
     |  triangular(self, low=0.0, high=1.0, mode=None)
     |      Triangular distribution.
     |
     |      Continuous distribution bounded by given lower and upper limits,
     |      and having a given mode value in-between.
     |
     |      http://en.wikipedia.org/wiki/Triangular_distribution
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = (low + high + mode) / 3
     |          Var[X] = (low**2 + high**2 + mode**2 - low*high - low*mode - high*mode) / 18
     |
     |  uniform(self, a, b)
     |      Get a random number in the range [a, b) or [a, b] depending on rounding.
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = (a + b) / 2
     |          Var[X] = (b - a) ** 2 / 12
     |
     |  vonmisesvariate(self, mu, kappa)
     |      Circular data distribution.
     |
     |      mu is the mean angle, expressed in radians between 0 and 2*pi, and
     |      kappa is the concentration parameter, which must be greater than or
     |      equal to zero.  If kappa is equal to zero, this distribution reduces
     |      to a uniform random angle over the range 0 to 2*pi.
     |
     |  weibullvariate(self, alpha, beta)
     |      Weibull distribution.
     |
     |      alpha is the scale parameter and beta is the shape parameter.
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  __init_subclass__(**kwargs)
     |      Control how subclasses generate random integers.
     |
     |      The algorithm a subclass can use depends on the random() and/or
     |      getrandbits() implementation available to it and determines
     |      whether it can generate random integers from arbitrarily large
     |      ranges.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  VERSION = 3
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _random.Random:
     |
     |  getrandbits(self, k, /)
     |      getrandbits(k) -> x.  Generates an int with k random bits.
     |
     |  random(self, /)
     |      random() -> x in the interval [0, 1).
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _random.Random:
     |
     |  __new__(*args, **kwargs) class method of _random.Random
     |      Create and return a new object.  See help(type) for accurate signature.

    class SystemRandom(Random)
     |  SystemRandom(x=None)
     |
     |  Alternate random number generator using sources provided
     |  by the operating system (such as /dev/urandom on Unix or
     |  CryptGenRandom on Windows).
     |
     |   Not available on all systems (see os.urandom() for details).
     |
     |  Method resolution order:
     |      SystemRandom
     |      Random
     |      _random.Random
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  getrandbits(self, k)
     |      getrandbits(k) -> x.  Generates an int with k random bits.
     |
     |  getstate = _notimplemented(self, *args, **kwds)
     |
     |  randbytes(self, n)
     |      Generate n random bytes.
     |
     |  random(self)
     |      Get the next random number in the range 0.0 <= X < 1.0.
     |
     |  seed(self, *args, **kwds)
     |      Stub method.  Not used for a system random number generator.
     |
     |  setstate = _notimplemented(self, *args, **kwds)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from Random:
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __init__(self, x=None)
     |      Initialize an instance.
     |
     |      Optional argument x controls seeding, as for Random.seed().
     |
     |  __reduce__(self)
     |      Helper for pickle.
     |
     |  __setstate__(self, state)
     |
     |  betavariate(self, alpha, beta)
     |      Beta distribution.
     |
     |      Conditions on the parameters are alpha > 0 and beta > 0.
     |      Returned values range between 0 and 1.
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = alpha / (alpha + beta)
     |          Var[X] = alpha * beta / ((alpha + beta)**2 * (alpha + beta + 1))
     |
     |  binomialvariate(self, n=1, p=0.5)
     |      Binomial random variable.
     |
     |      Gives the number of successes for *n* independent trials
     |      with the probability of success in each trial being *p*:
     |
     |          sum(random() < p for i in range(n))
     |
     |      Returns an integer in the range:   0 <= X <= n
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = n * p
     |          Var[x] = n * p * (1 - p)
     |
     |  choice(self, seq)
     |      Choose a random element from a non-empty sequence.
     |
     |  choices(self, population, weights=None, *, cum_weights=None, k=1)
     |      Return a k sized list of population elements chosen with replacement.
     |
     |      If the relative weights or cumulative weights are not specified,
     |      the selections are made with equal probability.
     |
     |  expovariate(self, lambd=1.0)
     |      Exponential distribution.
     |
     |      lambd is 1.0 divided by the desired mean.  It should be
     |      nonzero.  (The parameter would be called "lambda", but that is
     |      a reserved word in Python.)  Returned values range from 0 to
     |      positive infinity if lambd is positive, and from negative
     |      infinity to 0 if lambd is negative.
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = 1 / lambd
     |          Var[X] = 1 / lambd ** 2
     |
     |  gammavariate(self, alpha, beta)
     |      Gamma distribution.  Not the gamma function!
     |
     |      Conditions on the parameters are alpha > 0 and beta > 0.
     |
     |      The probability distribution function is:
     |
     |                  x ** (alpha - 1) * math.exp(-x / beta)
     |        pdf(x) =  --------------------------------------
     |                    math.gamma(alpha) * beta ** alpha
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = alpha * beta
     |          Var[X] = alpha * beta ** 2
     |
     |  gauss(self, mu=0.0, sigma=1.0)
     |      Gaussian distribution.
     |
     |      mu is the mean, and sigma is the standard deviation.  This is
     |      slightly faster than the normalvariate() function.
     |
     |      Not thread-safe without a lock around calls.
     |
     |  lognormvariate(self, mu, sigma)
     |      Log normal distribution.
     |
     |      If you take the natural logarithm of this distribution, you'll get a
     |      normal distribution with mean mu and standard deviation sigma.
     |      mu can have any value, and sigma must be greater than zero.
     |
     |  normalvariate(self, mu=0.0, sigma=1.0)
     |      Normal distribution.
     |
     |      mu is the mean, and sigma is the standard deviation.
     |
     |  paretovariate(self, alpha)
     |      Pareto distribution.  alpha is the shape parameter.
     |
     |  randint(self, a, b)
     |      Return random integer in range [a, b], including both end points.
     |
     |  randrange(self, start, stop=None, step=1)
     |      Choose a random item from range(stop) or range(start, stop[, step]).
     |
     |      Roughly equivalent to ``choice(range(start, stop, step))`` but
     |      supports arbitrarily large ranges and is optimized for common cases.
     |
     |  sample(self, population, k, *, counts=None)
     |      Chooses k unique random elements from a population sequence.
     |
     |      Returns a new list containing elements from the population while
     |      leaving the original population unchanged.  The resulting list is
     |      in selection order so that all sub-slices will also be valid random
     |      samples.  This allows raffle winners (the sample) to be partitioned
     |      into grand prize and second place winners (the subslices).
     |
     |      Members of the population need not be hashable or unique.  If the
     |      population contains repeats, then each occurrence is a possible
     |      selection in the sample.
     |
     |      Repeated elements can be specified one at a time or with the optional
     |      counts parameter.  For example:
     |
     |          sample(['red', 'blue'], counts=[4, 2], k=5)
     |
     |      is equivalent to:
     |
     |          sample(['red', 'red', 'red', 'red', 'blue', 'blue'], k=5)
     |
     |      To choose a sample from a range of integers, use range() for the
     |      population argument.  This is especially fast and space efficient
     |      for sampling from a large population:
     |
     |          sample(range(10000000), 60)
     |
     |  shuffle(self, x)
     |      Shuffle list x in place, and return None.
     |
     |  triangular(self, low=0.0, high=1.0, mode=None)
     |      Triangular distribution.
     |
     |      Continuous distribution bounded by given lower and upper limits,
     |      and having a given mode value in-between.
     |
     |      http://en.wikipedia.org/wiki/Triangular_distribution
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = (low + high + mode) / 3
     |          Var[X] = (low**2 + high**2 + mode**2 - low*high - low*mode - high*mode) / 18
     |
     |  uniform(self, a, b)
     |      Get a random number in the range [a, b) or [a, b] depending on rounding.
     |
     |      The mean (expected value) and variance of the random variable are:
     |
     |          E[X] = (a + b) / 2
     |          Var[X] = (b - a) ** 2 / 12
     |
     |  vonmisesvariate(self, mu, kappa)
     |      Circular data distribution.
     |
     |      mu is the mean angle, expressed in radians between 0 and 2*pi, and
     |      kappa is the concentration parameter, which must be greater than or
     |      equal to zero.  If kappa is equal to zero, this distribution reduces
     |      to a uniform random angle over the range 0 to 2*pi.
     |
     |  weibullvariate(self, alpha, beta)
     |      Weibull distribution.
     |
     |      alpha is the scale parameter and beta is the shape parameter.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from Random:
     |
     |  __init_subclass__(**kwargs)
     |      Control how subclasses generate random integers.
     |
     |      The algorithm a subclass can use depends on the random() and/or
     |      getrandbits() implementation available to it and determines
     |      whether it can generate random integers from arbitrarily large
     |      ranges.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from Random:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from Random:
     |
     |  VERSION = 3
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _random.Random:
     |
     |  __new__(*args, **kwargs) class method of _random.Random
     |      Create and return a new object.  See help(type) for accurate signature.

FUNCTIONS
    betavariate(alpha, beta) method of Random instance
        Beta distribution.

        Conditions on the parameters are alpha > 0 and beta > 0.
        Returned values range between 0 and 1.

        The mean (expected value) and variance of the random variable are:

            E[X] = alpha / (alpha + beta)
            Var[X] = alpha * beta / ((alpha + beta)**2 * (alpha + beta + 1))

    binomialvariate(n=1, p=0.5) method of Random instance
        Binomial random variable.

        Gives the number of successes for *n* independent trials
        with the probability of success in each trial being *p*:

            sum(random() < p for i in range(n))

        Returns an integer in the range:   0 <= X <= n

        The mean (expected value) and variance of the random variable are:

            E[X] = n * p
            Var[x] = n * p * (1 - p)

    choice(seq) method of Random instance
        Choose a random element from a non-empty sequence.

    choices(population, weights=None, *, cum_weights=None, k=1) method of Random instance
        Return a k sized list of population elements chosen with replacement.

        If the relative weights or cumulative weights are not specified,
        the selections are made with equal probability.

    expovariate(lambd=1.0) method of Random instance
        Exponential distribution.

        lambd is 1.0 divided by the desired mean.  It should be
        nonzero.  (The parameter would be called "lambda", but that is
        a reserved word in Python.)  Returned values range from 0 to
        positive infinity if lambd is positive, and from negative
        infinity to 0 if lambd is negative.

        The mean (expected value) and variance of the random variable are:

            E[X] = 1 / lambd
            Var[X] = 1 / lambd ** 2

    gammavariate(alpha, beta) method of Random instance
        Gamma distribution.  Not the gamma function!

        Conditions on the parameters are alpha > 0 and beta > 0.

        The probability distribution function is:

                    x ** (alpha - 1) * math.exp(-x / beta)
          pdf(x) =  --------------------------------------
                      math.gamma(alpha) * beta ** alpha

        The mean (expected value) and variance of the random variable are:

            E[X] = alpha * beta
            Var[X] = alpha * beta ** 2

    gauss(mu=0.0, sigma=1.0) method of Random instance
        Gaussian distribution.

        mu is the mean, and sigma is the standard deviation.  This is
        slightly faster than the normalvariate() function.

        Not thread-safe without a lock around calls.

    getrandbits(k, /) method of Random instance
        getrandbits(k) -> x.  Generates an int with k random bits.

    getstate() method of Random instance
        Return internal state; can be passed to setstate() later.

    lognormvariate(mu, sigma) method of Random instance
        Log normal distribution.

        If you take the natural logarithm of this distribution, you'll get a
        normal distribution with mean mu and standard deviation sigma.
        mu can have any value, and sigma must be greater than zero.

    normalvariate(mu=0.0, sigma=1.0) method of Random instance
        Normal distribution.

        mu is the mean, and sigma is the standard deviation.

    paretovariate(alpha) method of Random instance
        Pareto distribution.  alpha is the shape parameter.

    randbytes(n) method of Random instance
        Generate n random bytes.

    randint(a, b) method of Random instance
        Return random integer in range [a, b], including both end points.

    random() method of Random instance
        random() -> x in the interval [0, 1).

    randrange(start, stop=None, step=1) method of Random instance
        Choose a random item from range(stop) or range(start, stop[, step]).

        Roughly equivalent to ``choice(range(start, stop, step))`` but
        supports arbitrarily large ranges and is optimized for common cases.

    sample(population, k, *, counts=None) method of Random instance
        Chooses k unique random elements from a population sequence.

        Returns a new list containing elements from the population while
        leaving the original population unchanged.  The resulting list is
        in selection order so that all sub-slices will also be valid random
        samples.  This allows raffle winners (the sample) to be partitioned
        into grand prize and second place winners (the subslices).

        Members of the population need not be hashable or unique.  If the
        population contains repeats, then each occurrence is a possible
        selection in the sample.

        Repeated elements can be specified one at a time or with the optional
        counts parameter.  For example:

            sample(['red', 'blue'], counts=[4, 2], k=5)

        is equivalent to:

            sample(['red', 'red', 'red', 'red', 'blue', 'blue'], k=5)

        To choose a sample from a range of integers, use range() for the
        population argument.  This is especially fast and space efficient
        for sampling from a large population:

            sample(range(10000000), 60)

    seed(a=None, version=2) method of Random instance
        Initialize internal state from a seed.

        The only supported seed types are None, int, float,
        str, bytes, and bytearray.

        None or no argument seeds from current time or from an operating
        system specific randomness source if available.

        If *a* is an int, all bits are used.

        For version 2 (the default), all of the bits are used if *a* is a str,
        bytes, or bytearray.  For version 1 (provided for reproducing random
        sequences from older versions of Python), the algorithm for str and
        bytes generates a narrower range of seeds.

    setstate(state) method of Random instance
        Restore internal state from object returned by getstate().

    shuffle(x) method of Random instance
        Shuffle list x in place, and return None.

    triangular(low=0.0, high=1.0, mode=None) method of Random instance
        Triangular distribution.

        Continuous distribution bounded by given lower and upper limits,
        and having a given mode value in-between.

        http://en.wikipedia.org/wiki/Triangular_distribution

        The mean (expected value) and variance of the random variable are:

            E[X] = (low + high + mode) / 3
            Var[X] = (low**2 + high**2 + mode**2 - low*high - low*mode - high*mode) / 18

    uniform(a, b) method of Random instance
        Get a random number in the range [a, b) or [a, b] depending on rounding.

        The mean (expected value) and variance of the random variable are:

            E[X] = (a + b) / 2
            Var[X] = (b - a) ** 2 / 12

    vonmisesvariate(mu, kappa) method of Random instance
        Circular data distribution.

        mu is the mean angle, expressed in radians between 0 and 2*pi, and
        kappa is the concentration parameter, which must be greater than or
        equal to zero.  If kappa is equal to zero, this distribution reduces
        to a uniform random angle over the range 0 to 2*pi.

    weibullvariate(alpha, beta) method of Random instance
        Weibull distribution.

        alpha is the scale parameter and beta is the shape parameter.

DATA
    __all__ = ['Random', 'SystemRandom', 'betavariate', 'binomialvariate',...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\random.py

scikit-learn.set_config
Python Library Documentation: function set_config in module sklearn._config

set_config(assume_finite=None, working_memory=None, print_changed_only=None, display=None, pairwise_dist_chunk_size=None, enable_cython_pairwise_dist=None, array_api_dispatch=None, transform_output=None, enable_metadata_routing=None, skip_parameter_validation=None)
    Set global scikit-learn configuration.

    .. versionadded:: 0.19

    Parameters
    ----------
    assume_finite : bool, default=None
        If True, validation for finiteness will be skipped,
        saving time, but leading to potential crashes. If
        False, validation for finiteness will be performed,
        avoiding error.  Global default: False.

        .. versionadded:: 0.19

    working_memory : int, default=None
        If set, scikit-learn will attempt to limit the size of temporary arrays
        to this number of MiB (per job when parallelised), often saving both
        computation time and memory on expensive operations that can be
        performed in chunks. Global default: 1024.

        .. versionadded:: 0.20

    print_changed_only : bool, default=None
        If True, only the parameters that were set to non-default
        values will be printed when printing an estimator. For example,
        ``print(SVC())`` while True will only print 'SVC()' while the default
        behaviour would be to print 'SVC(C=1.0, cache_size=200, ...)' with
        all the non-changed parameters.

        .. versionadded:: 0.21

    display : {'text', 'diagram'}, default=None
        If 'diagram', estimators will be displayed as a diagram in a Jupyter
        lab or notebook context. If 'text', estimators will be displayed as
        text. Default is 'diagram'.

        .. versionadded:: 0.23

    pairwise_dist_chunk_size : int, default=None
        The number of row vectors per chunk for the accelerated pairwise-
        distances reduction backend. Default is 256 (suitable for most of
        modern laptops' caches and architectures).

        Intended for easier benchmarking and testing of scikit-learn internals.
        End users are not expected to benefit from customizing this configuration
        setting.

        .. versionadded:: 1.1

    enable_cython_pairwise_dist : bool, default=None
        Use the accelerated pairwise-distances reduction backend when
        possible. Global default: True.

        Intended for easier benchmarking and testing of scikit-learn internals.
        End users are not expected to benefit from customizing this configuration
        setting.

        .. versionadded:: 1.1

    array_api_dispatch : bool, default=None
        Use Array API dispatching when inputs follow the Array API standard.
        Default is False.

        See the :ref:`User Guide <array_api>` for more details.

        .. versionadded:: 1.2

    transform_output : str, default=None
        Configure output of `transform` and `fit_transform`.

        See :ref:`sphx_glr_auto_examples_miscellaneous_plot_set_output.py`
        for an example on how to use the API.

        - `"default"`: Default output format of a transformer
        - `"pandas"`: DataFrame output
        - `"polars"`: Polars output
        - `None`: Transform configuration is unchanged

        .. versionadded:: 1.2
        .. versionadded:: 1.4
            `"polars"` option was added.

    enable_metadata_routing : bool, default=None
        Enable metadata routing. By default this feature is disabled.

        Refer to :ref:`metadata routing user guide <metadata_routing>` for more
        details.

        - `True`: Metadata routing is enabled
        - `False`: Metadata routing is disabled, use the old syntax.
        - `None`: Configuration is unchanged

        .. versionadded:: 1.3

    skip_parameter_validation : bool, default=None
        If `True`, disable the validation of the hyper-parameters' types and values in
        the fit method of estimators and for arguments passed to public helper
        functions. It can save time in some situations but can lead to low level
        crashes and exceptions with confusing error messages.

        Note that for data parameters, such as `X` and `y`, only type validation is
        skipped but validation with `check_array` will continue to run.

        .. versionadded:: 1.3

    See Also
    --------
    config_context : Context manager for global scikit-learn configuration.
    get_config : Retrieve current values of the global configuration.

    Examples
    --------
    >>> from sklearn import set_config
    >>> set_config(display='diagram')  # doctest: +SKIP
scikit-learn.setup_module
Python Library Documentation: function setup_module in module sklearn

setup_module(module)
    Fixture for the tests to assure globally controllable seeding of RNGs
scikit-learn.show_versions
Python Library Documentation: function show_versions in module sklearn.utils._show_versions

show_versions()
    Print useful debugging information"

    .. versionadded:: 0.20

    Examples
    --------
    >>> from sklearn import show_versions
    >>> show_versions()  # doctest: +SKIP
scikit-learn.sklearn
Python Library Documentation: package sklearn

NAME
    sklearn - Configure global settings and get information about the working environment.

PACKAGE CONTENTS
    __check_build (package)
    _build_utils (package)
    _built_with_meson
    _config
    _distributor_init
    _isotonic
    _loss (package)
    _min_dependencies
    base
    calibration
    cluster (package)
    compose (package)
    conftest
    covariance (package)
    cross_decomposition (package)
    datasets (package)
    decomposition (package)
    discriminant_analysis
    dummy
    ensemble (package)
    exceptions
    experimental (package)
    externals (package)
    feature_extraction (package)
    feature_selection (package)
    gaussian_process (package)
    impute (package)
    inspection (package)
    isotonic
    kernel_approximation
    kernel_ridge
    linear_model (package)
    manifold (package)
    metrics (package)
    mixture (package)
    model_selection (package)
    multiclass
    multioutput
    naive_bayes
    neighbors (package)
    neural_network (package)
    pipeline
    preprocessing (package)
    random_projection
    semi_supervised (package)
    svm (package)
    tests (package)
    tree (package)
    utils (package)

FUNCTIONS
    clone(estimator, *, safe=True)
        Construct a new unfitted estimator with the same parameters.

        Clone does a deep copy of the model in an estimator
        without actually copying attached data. It returns a new estimator
        with the same parameters that has not been fitted on any data.

        .. versionchanged:: 1.3
            Delegates to `estimator.__sklearn_clone__` if the method exists.

        Parameters
        ----------
        estimator : {list, tuple, set} of estimator instance or a single             estimator instance
            The estimator or group of estimators to be cloned.
        safe : bool, default=True
            If safe is False, clone will fall back to a deep copy on objects
            that are not estimators. Ignored if `estimator.__sklearn_clone__`
            exists.

        Returns
        -------
        estimator : object
            The deep copy of the input, an estimator if input is an estimator.

        Notes
        -----
        If the estimator's `random_state` parameter is an integer (or if the
        estimator doesn't have a `random_state` parameter), an *exact clone* is
        returned: the clone and the original estimator will give the exact same
        results. Otherwise, *statistical clone* is returned: the clone might
        return different results from the original estimator. More details can be
        found in :ref:`randomness`.

        Examples
        --------
        >>> from sklearn.base import clone
        >>> from sklearn.linear_model import LogisticRegression
        >>> X = [[-1, 0], [0, 1], [0, -1], [1, 0]]
        >>> y = [0, 0, 1, 1]
        >>> classifier = LogisticRegression().fit(X, y)
        >>> cloned_classifier = clone(classifier)
        >>> hasattr(classifier, "classes_")
        True
        >>> hasattr(cloned_classifier, "classes_")
        False
        >>> classifier is cloned_classifier
        False

    config_context(*, assume_finite=None, working_memory=None, print_changed_only=None, display=None, pairwise_dist_chunk_size=None, enable_cython_pairwise_dist=None, array_api_dispatch=None, transform_output=None, enable_metadata_routing=None, skip_parameter_validation=None)
        Context manager for global scikit-learn configuration.

        Parameters
        ----------
        assume_finite : bool, default=None
            If True, validation for finiteness will be skipped,
            saving time, but leading to potential crashes. If
            False, validation for finiteness will be performed,
            avoiding error. If None, the existing value won't change.
            The default value is False.

        working_memory : int, default=None
            If set, scikit-learn will attempt to limit the size of temporary arrays
            to this number of MiB (per job when parallelised), often saving both
            computation time and memory on expensive operations that can be
            performed in chunks. If None, the existing value won't change.
            The default value is 1024.

        print_changed_only : bool, default=None
            If True, only the parameters that were set to non-default
            values will be printed when printing an estimator. For example,
            ``print(SVC())`` while True will only print 'SVC()', but would print
            'SVC(C=1.0, cache_size=200, ...)' with all the non-changed parameters
            when False. If None, the existing value won't change.
            The default value is True.

            .. versionchanged:: 0.23
               Default changed from False to True.

        display : {'text', 'diagram'}, default=None
            If 'diagram', estimators will be displayed as a diagram in a Jupyter
            lab or notebook context. If 'text', estimators will be displayed as
            text. If None, the existing value won't change.
            The default value is 'diagram'.

            .. versionadded:: 0.23

        pairwise_dist_chunk_size : int, default=None
            The number of row vectors per chunk for the accelerated pairwise-
            distances reduction backend. Default is 256 (suitable for most of
            modern laptops' caches and architectures).

            Intended for easier benchmarking and testing of scikit-learn internals.
            End users are not expected to benefit from customizing this configuration
            setting.

            .. versionadded:: 1.1

        enable_cython_pairwise_dist : bool, default=None
            Use the accelerated pairwise-distances reduction backend when
            possible. Global default: True.

            Intended for easier benchmarking and testing of scikit-learn internals.
            End users are not expected to benefit from customizing this configuration
            setting.

            .. versionadded:: 1.1

        array_api_dispatch : bool, default=None
            Use Array API dispatching when inputs follow the Array API standard.
            Default is False.

            See the :ref:`User Guide <array_api>` for more details.

            .. versionadded:: 1.2

        transform_output : str, default=None
            Configure output of `transform` and `fit_transform`.

            See :ref:`sphx_glr_auto_examples_miscellaneous_plot_set_output.py`
            for an example on how to use the API.

            - `"default"`: Default output format of a transformer
            - `"pandas"`: DataFrame output
            - `"polars"`: Polars output
            - `None`: Transform configuration is unchanged

            .. versionadded:: 1.2
            .. versionadded:: 1.4
                `"polars"` option was added.

        enable_metadata_routing : bool, default=None
            Enable metadata routing. By default this feature is disabled.

            Refer to :ref:`metadata routing user guide <metadata_routing>` for more
            details.

            - `True`: Metadata routing is enabled
            - `False`: Metadata routing is disabled, use the old syntax.
            - `None`: Configuration is unchanged

            .. versionadded:: 1.3

        skip_parameter_validation : bool, default=None
            If `True`, disable the validation of the hyper-parameters' types and values in
            the fit method of estimators and for arguments passed to public helper
            functions. It can save time in some situations but can lead to low level
            crashes and exceptions with confusing error messages.

            Note that for data parameters, such as `X` and `y`, only type validation is
            skipped but validation with `check_array` will continue to run.

            .. versionadded:: 1.3

        Yields
        ------
        None.

        See Also
        --------
        set_config : Set global scikit-learn configuration.
        get_config : Retrieve current values of the global configuration.

        Notes
        -----
        All settings, not just those presently modified, will be returned to
        their previous values when the context manager is exited.

        Examples
        --------
        >>> import sklearn
        >>> from sklearn.utils.validation import assert_all_finite
        >>> with sklearn.config_context(assume_finite=True):
        ...     assert_all_finite([float('nan')])
        >>> with sklearn.config_context(assume_finite=True):
        ...     with sklearn.config_context(assume_finite=False):
        ...         assert_all_finite([float('nan')])
        Traceback (most recent call last):
        ...
        ValueError: Input contains NaN...

    get_config()
        Retrieve current values for configuration set by :func:`set_config`.

        Returns
        -------
        config : dict
            Keys are parameter names that can be passed to :func:`set_config`.

        See Also
        --------
        config_context : Context manager for global scikit-learn configuration.
        set_config : Set global scikit-learn configuration.

        Examples
        --------
        >>> import sklearn
        >>> config = sklearn.get_config()
        >>> config.keys()
        dict_keys([...])

    set_config(assume_finite=None, working_memory=None, print_changed_only=None, display=None, pairwise_dist_chunk_size=None, enable_cython_pairwise_dist=None, array_api_dispatch=None, transform_output=None, enable_metadata_routing=None, skip_parameter_validation=None)
        Set global scikit-learn configuration.

        .. versionadded:: 0.19

        Parameters
        ----------
        assume_finite : bool, default=None
            If True, validation for finiteness will be skipped,
            saving time, but leading to potential crashes. If
            False, validation for finiteness will be performed,
            avoiding error.  Global default: False.

            .. versionadded:: 0.19

        working_memory : int, default=None
            If set, scikit-learn will attempt to limit the size of temporary arrays
            to this number of MiB (per job when parallelised), often saving both
            computation time and memory on expensive operations that can be
            performed in chunks. Global default: 1024.

            .. versionadded:: 0.20

        print_changed_only : bool, default=None
            If True, only the parameters that were set to non-default
            values will be printed when printing an estimator. For example,
            ``print(SVC())`` while True will only print 'SVC()' while the default
            behaviour would be to print 'SVC(C=1.0, cache_size=200, ...)' with
            all the non-changed parameters.

            .. versionadded:: 0.21

        display : {'text', 'diagram'}, default=None
            If 'diagram', estimators will be displayed as a diagram in a Jupyter
            lab or notebook context. If 'text', estimators will be displayed as
            text. Default is 'diagram'.

            .. versionadded:: 0.23

        pairwise_dist_chunk_size : int, default=None
            The number of row vectors per chunk for the accelerated pairwise-
            distances reduction backend. Default is 256 (suitable for most of
            modern laptops' caches and architectures).

            Intended for easier benchmarking and testing of scikit-learn internals.
            End users are not expected to benefit from customizing this configuration
            setting.

            .. versionadded:: 1.1

        enable_cython_pairwise_dist : bool, default=None
            Use the accelerated pairwise-distances reduction backend when
            possible. Global default: True.

            Intended for easier benchmarking and testing of scikit-learn internals.
            End users are not expected to benefit from customizing this configuration
            setting.

            .. versionadded:: 1.1

        array_api_dispatch : bool, default=None
            Use Array API dispatching when inputs follow the Array API standard.
            Default is False.

            See the :ref:`User Guide <array_api>` for more details.

            .. versionadded:: 1.2

        transform_output : str, default=None
            Configure output of `transform` and `fit_transform`.

            See :ref:`sphx_glr_auto_examples_miscellaneous_plot_set_output.py`
            for an example on how to use the API.

            - `"default"`: Default output format of a transformer
            - `"pandas"`: DataFrame output
            - `"polars"`: Polars output
            - `None`: Transform configuration is unchanged

            .. versionadded:: 1.2
            .. versionadded:: 1.4
                `"polars"` option was added.

        enable_metadata_routing : bool, default=None
            Enable metadata routing. By default this feature is disabled.

            Refer to :ref:`metadata routing user guide <metadata_routing>` for more
            details.

            - `True`: Metadata routing is enabled
            - `False`: Metadata routing is disabled, use the old syntax.
            - `None`: Configuration is unchanged

            .. versionadded:: 1.3

        skip_parameter_validation : bool, default=None
            If `True`, disable the validation of the hyper-parameters' types and values in
            the fit method of estimators and for arguments passed to public helper
            functions. It can save time in some situations but can lead to low level
            crashes and exceptions with confusing error messages.

            Note that for data parameters, such as `X` and `y`, only type validation is
            skipped but validation with `check_array` will continue to run.

            .. versionadded:: 1.3

        See Also
        --------
        config_context : Context manager for global scikit-learn configuration.
        get_config : Retrieve current values of the global configuration.

        Examples
        --------
        >>> from sklearn import set_config
        >>> set_config(display='diagram')  # doctest: +SKIP

    show_versions()
        Print useful debugging information"

        .. versionadded:: 0.20

        Examples
        --------
        >>> from sklearn import show_versions
        >>> show_versions()  # doctest: +SKIP

DATA
    __SKLEARN_SETUP__ = False
    __all__ = ['calibration', 'cluster', 'covariance', 'cross_decompositio...

VERSION
    1.5.2

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\sklearn\__init__.py

scikit-learn.sys
Python Library Documentation: built-in module sys

NAME
    sys

MODULE REFERENCE
    https://docs.python.org/3.12/library/sys.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.

    Dynamic objects:

    argv -- command line arguments; argv[0] is the script pathname if known
    path -- module search path; path[0] is the script directory, else ''
    modules -- dictionary of loaded modules

    displayhook -- called to show results in an interactive session
    excepthook -- called to handle any uncaught exception other than SystemExit
      To customize printing in an interactive session or to install a custom
      top-level exception handler, assign other functions to replace these.

    stdin -- standard input file object; used by input()
    stdout -- standard output file object; used by print()
    stderr -- standard error object; used for error messages
      By assigning other file objects (or objects that behave like files)
      to these, it is possible to redirect all of the interpreter's I/O.

    last_exc - the last uncaught exception
      Only available in an interactive session after a
      traceback has been printed.
    last_type -- type of last uncaught exception
    last_value -- value of last uncaught exception
    last_traceback -- traceback of last uncaught exception
      These three are the (deprecated) legacy representation of last_exc.

    Static objects:

    builtin_module_names -- tuple of module names built into this interpreter
    copyright -- copyright notice pertaining to this interpreter
    exec_prefix -- prefix used to find the machine-specific Python library
    executable -- absolute path of the executable binary of the Python interpreter
    float_info -- a named tuple with information about the float implementation.
    float_repr_style -- string indicating the style of repr() output for floats
    hash_info -- a named tuple with information about the hash algorithm.
    hexversion -- version information encoded as a single integer
    implementation -- Python implementation information.
    int_info -- a named tuple with information about the int implementation.
    maxsize -- the largest supported length of containers.
    maxunicode -- the value of the largest Unicode code point
    platform -- platform identifier
    prefix -- prefix used to find the Python library
    thread_info -- a named tuple with information about the thread implementation.
    version -- the version of this interpreter as a string
    version_info -- version information as a named tuple
    dllhandle -- [Windows only] integer handle of the Python DLL
    winver -- [Windows only] version number of the Python DLL
    _enablelegacywindowsfsencoding -- [Windows only]
    __stdin__ -- the original stdin; don't touch!
    __stdout__ -- the original stdout; don't touch!
    __stderr__ -- the original stderr; don't touch!
    __displayhook__ -- the original displayhook; don't touch!
    __excepthook__ -- the original excepthook; don't touch!

    Functions:

    displayhook() -- print an object to the screen, and save it in builtins._
    excepthook() -- print an exception and its traceback to sys.stderr
    exception() -- return the current thread's active exception
    exc_info() -- return information about the current thread's active exception
    exit() -- exit the interpreter by raising SystemExit
    getdlopenflags() -- returns flags to be used for dlopen() calls
    getprofile() -- get the global profiling function
    getrefcount() -- return the reference count for an object (plus one :-)
    getrecursionlimit() -- return the max recursion depth for the interpreter
    getsizeof() -- return the size of an object in bytes
    gettrace() -- get the global debug tracing function
    setdlopenflags() -- set the flags to be used for dlopen() calls
    setprofile() -- set the global profiling function
    setrecursionlimit() -- set the max recursion depth for the interpreter
    settrace() -- set the global debug tracing function

SUBMODULES
    monitoring

FUNCTIONS
    __breakpointhook__ = breakpointhook(...)
        breakpointhook(*args, **kws)

        This hook function is called by built-in breakpoint().

    __displayhook__ = displayhook(object, /)
        Print an object to sys.stdout and also save it in builtins._

    __excepthook__ = excepthook(exctype, value, traceback, /)
        Handle an exception by displaying it with a traceback on sys.stderr.

    __unraisablehook__ = unraisablehook(unraisable, /)
        Handle an unraisable exception.

        The unraisable argument has the following attributes:

        * exc_type: Exception type.
        * exc_value: Exception value, can be None.
        * exc_traceback: Exception traceback, can be None.
        * err_msg: Error message, can be None.
        * object: Object causing the exception, can be None.

    activate_stack_trampoline(backend, /)
        Activate stack profiler trampoline *backend*.

    addaudithook(hook)
        Adds a new audit hook callback.

    audit(...)
        audit(event, *args)

        Passes the event to any audit hooks that are attached.

    breakpointhook(...)
        breakpointhook(*args, **kws)

        This hook function is called by built-in breakpoint().

    call_tracing(func, args, /)
        Call func(*args), while tracing is enabled.

        The tracing state is saved, and restored afterwards.  This is intended
        to be called from a debugger from a checkpoint, to recursively debug
        some other code.

    deactivate_stack_trampoline()
        Deactivate the current stack profiler trampoline backend.

        If no stack profiler is activated, this function has no effect.

    displayhook(object, /)
        Print an object to sys.stdout and also save it in builtins._

    exc_info()
        Return current exception information: (type, value, traceback).

        Return information about the most recent exception caught by an except
        clause in the current stack frame or in an older stack frame.

    excepthook(exctype, value, traceback, /)
        Handle an exception by displaying it with a traceback on sys.stderr.

    exception()
        Return the current exception.

        Return the most recent exception caught by an except clause
        in the current stack frame or in an older stack frame, or None
        if no such exception exists.

    exit(status=None, /)
        Exit the interpreter by raising SystemExit(status).

        If the status is omitted or None, it defaults to zero (i.e., success).
        If the status is an integer, it will be used as the system exit status.
        If it is another kind of object, it will be printed and the system
        exit status will be one (i.e., failure).

    get_asyncgen_hooks()
        Return the installed asynchronous generators hooks.

        This returns a namedtuple of the form (firstiter, finalizer).

    get_coroutine_origin_tracking_depth()
        Check status of origin tracking for coroutine objects in this thread.

    get_int_max_str_digits()
        Return the maximum string digits limit for non-binary int<->str conversions.

    getallocatedblocks()
        Return the number of memory blocks currently allocated.

    getdefaultencoding()
        Return the current default encoding used by the Unicode implementation.

    getfilesystemencodeerrors()
        Return the error mode used Unicode to OS filename conversion.

    getfilesystemencoding()
        Return the encoding used to convert Unicode filenames to OS filenames.

    getprofile()
        Return the profiling function set with sys.setprofile.

        See the profiler chapter in the library manual.

    getrecursionlimit()
        Return the current value of the recursion limit.

        The recursion limit is the maximum depth of the Python interpreter
        stack.  This limit prevents infinite recursion from causing an overflow
        of the C stack and crashing Python.

    getrefcount(object, /)
        Return the reference count of object.

        The count returned is generally one higher than you might expect,
        because it includes the (temporary) reference as an argument to
        getrefcount().

    getsizeof(...)
        getsizeof(object [, default]) -> int

        Return the size of object in bytes.

    getswitchinterval()
        Return the current thread switch interval; see sys.setswitchinterval().

    gettrace()
        Return the global debug tracing function set with sys.settrace.

        See the debugger chapter in the library manual.

    getunicodeinternedsize()
        Return the number of elements of the unicode interned dictionary

    getwindowsversion()
        Return info about the running version of Windows as a named tuple.

        The members are named: major, minor, build, platform, service_pack,
        service_pack_major, service_pack_minor, suite_mask, product_type and
        platform_version. For backward compatibility, only the first 5 items
        are available by indexing. All elements are numbers, except
        service_pack and platform_type which are strings, and platform_version
        which is a 3-tuple. Platform is always 2. Product_type may be 1 for a
        workstation, 2 for a domain controller, 3 for a server.
        Platform_version is a 3-tuple containing a version number that is
        intended for identifying the OS rather than feature detection.

    intern(string, /)
        ``Intern'' the given string.

        This enters the string in the (global) table of interned strings whose
        purpose is to speed up dictionary lookups. Return the string itself or
        the previously interned string object with the same value.

    is_finalizing()
        Return True if Python is exiting.

    is_stack_trampoline_active()
        Return *True* if a stack profiler trampoline is active.

    set_asyncgen_hooks(...)
        set_asyncgen_hooks([firstiter] [, finalizer])

        Set a finalizer for async generators objects.

    set_coroutine_origin_tracking_depth(depth)
        Enable or disable origin tracking for coroutine objects in this thread.

        Coroutine objects will track 'depth' frames of traceback information
        about where they came from, available in their cr_origin attribute.

        Set a depth of 0 to disable.

    set_int_max_str_digits(maxdigits)
        Set the maximum string digits limit for non-binary int<->str conversions.

    setprofile(...)
        setprofile(function)

        Set the profiling function.  It will be called on each function call
        and return.  See the profiler chapter in the library manual.

    setrecursionlimit(limit, /)
        Set the maximum depth of the Python interpreter stack to n.

        This limit prevents infinite recursion from causing an overflow of the C
        stack and crashing Python.  The highest possible limit is platform-
        dependent.

    setswitchinterval(interval, /)
        Set the ideal thread switching delay inside the Python interpreter.

        The actual frequency of switching threads can be lower if the
        interpreter executes long sequences of uninterruptible code
        (this is implementation-specific and workload-dependent).

        The parameter must represent the desired switching delay in seconds
        A typical value is 0.005 (5 milliseconds).

    settrace(...)
        settrace(function)

        Set the global debug tracing function.  It will be called on each
        function call.  See the debugger chapter in the library manual.

    unraisablehook(unraisable, /)
        Handle an unraisable exception.

        The unraisable argument has the following attributes:

        * exc_type: Exception type.
        * exc_value: Exception value, can be None.
        * exc_traceback: Exception traceback, can be None.
        * err_msg: Error message, can be None.
        * object: Object causing the exception, can be None.

DATA
    __stderr__ = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1...
    __stdin__ = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8...
    __stdout__ = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1...
    api_version = 1013
    argv = [r'f:\JoeyCodes\PyDocs\py_docs.py', '--worker', 'scikit-learn',...
    base_exec_prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Pyth...
    base_prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312...
    builtin_module_names = ('_abc', '_ast', '_bisect', '_blake2', '_codecs...
    byteorder = 'little'
    copyright = 'Copyright (c) 2001-2023 Python Software Foundati...ematis...
    dllhandle = 140727031824384
    dont_write_bytecode = False
    exec_prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312...
    executable = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312\...
    flags = sys.flags(debug=0, inspect=0, interactive=0, opt...ding=0, saf...
    float_info = sys.float_info(max=1.7976931348623157e+308, max_...epsilo...
    float_repr_style = 'short'
    hash_info = sys.hash_info(width=64, modulus=2305843009213693...iphash1...
    hexversion = 51119856
    implementation = namespace(name='cpython', cache_tag='cpython-312...as...
    int_info = sys.int_info(bits_per_digit=30, sizeof_digit=4, ..._str_dig...
    maxsize = 9223372036854775807
    maxunicode = 1114111
    meta_path = [<_distutils_hack.DistutilsMetaFinder object>, <class '_fr...
    modules = {'Cython': <module 'Cython' from 'C:\\Users\\Youse\\AppData....
    orig_argv = [r'C:\Users\Youse\AppData\Local\Programs\Python\Python312\...
    path = [r'f:\JoeyCodes\PyDocs', r'C:\Users\Youse\AppData\Local\Program...
    path_hooks = [<class 'zipimport.zipimporter'>, <function FileFinder.pa...
    path_importer_cache = {r'C:\Users\Youse\AppData\Local\Programs\Python\...
    platform = 'win32'
    platlibdir = 'DLLs'
    prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312'
    pycache_prefix = None
    stderr = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'...
    stdin = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>
    stdlib_module_names = frozenset({'__future__', '_abc', '_aix_support',...
    stdout = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1252'...
    thread_info = sys.thread_info(name='nt', lock=None, version=None)
    version = '3.12.6 (tags/v3.12.6:a4a2d2b, Sep  6 2024, 20:11:23) [MSC v...
    version_info = sys.version_info(major=3, minor=12, micro=6, releaselev...
    warnoptions = []
    winver = '3.12'

FILE
    (built-in)

scikit-learn.utils
Python Library Documentation: package sklearn.utils in sklearn

NAME
    sklearn.utils - Various utilities to help with development.

PACKAGE CONTENTS
    _arpack
    _array_api
    _available_if
    _bunch
    _chunking
    _cython_blas
    _encode
    _estimator_html_repr
    _fast_dict
    _heap
    _indexing
    _isfinite
    _joblib
    _mask
    _metadata_requests
    _missing
    _mocking
    _openmp_helpers
    _optional_dependencies
    _param_validation
    _plotting
    _pprint
    _random
    _response
    _seq_dataset
    _set_output
    _show_versions
    _sorting
    _tags
    _testing
    _typedefs
    _user_interface
    _vector_sentinel
    _weight_vector
    arrayfuncs
    class_weight
    deprecation
    discovery
    estimator_checks
    extmath
    fixes
    graph
    metadata_routing
    metaestimators
    multiclass
    murmurhash
    optimize
    parallel
    random
    sparsefuncs
    sparsefuncs_fast
    stats
    tests (package)
    validation

CLASSES
    builtins.UserWarning(builtins.Warning)
        sklearn.exceptions.DataConversionWarning
    builtins.dict(builtins.object)
        sklearn.utils._bunch.Bunch
    builtins.object
        sklearn.utils.deprecation.deprecated
    joblib.parallel.parallel_backend(joblib.parallel.parallel_config)
        parallel_backend

    class Bunch(builtins.dict)
     |  Bunch(**kwargs)
     |
     |  Container object exposing keys as attributes.
     |
     |  Bunch objects are sometimes used as an output for functions and methods.
     |  They extend dictionaries by enabling values to be accessed by key,
     |  `bunch["value_key"]`, or by an attribute, `bunch.value_key`.
     |
     |  Examples
     |  --------
     |  >>> from sklearn.utils import Bunch
     |  >>> b = Bunch(a=1, b=2)
     |  >>> b['b']
     |  2
     |  >>> b.b
     |  2
     |  >>> b.a = 3
     |  >>> b['a']
     |  3
     |  >>> b.c = 6
     |  >>> b['c']
     |  6
     |
     |  Method resolution order:
     |      Bunch
     |      builtins.dict
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __dir__(self)
     |      Default dir() implementation.
     |
     |  __getattr__(self, key)
     |
     |  __getitem__(self, key)
     |      Return self[key].
     |
     |  __init__(self, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __setattr__(self, key, value)
     |      Implement setattr(self, name, value).
     |
     |  __setstate__(self, state)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.dict:
     |
     |  __contains__(self, key, /)
     |      True if the dictionary has the specified key, else False.
     |
     |  __delitem__(self, key, /)
     |      Delete self[key].
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __ior__(self, value, /)
     |      Return self|=value.
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __or__(self, value, /)
     |      Return self|value.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __reversed__(self, /)
     |      Return a reverse iterator over the dict keys.
     |
     |  __ror__(self, value, /)
     |      Return value|self.
     |
     |  __setitem__(self, key, value, /)
     |      Set self[key] to value.
     |
     |  __sizeof__(...)
     |      D.__sizeof__() -> size of D in memory, in bytes
     |
     |  clear(...)
     |      D.clear() -> None.  Remove all items from D.
     |
     |  copy(...)
     |      D.copy() -> a shallow copy of D
     |
     |  get(self, key, default=None, /)
     |      Return the value for key if key is in the dictionary, else default.
     |
     |  items(...)
     |      D.items() -> a set-like object providing a view on D's items
     |
     |  keys(...)
     |      D.keys() -> a set-like object providing a view on D's keys
     |
     |  pop(...)
     |      D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
     |
     |      If the key is not found, return the default if given; otherwise,
     |      raise a KeyError.
     |
     |  popitem(self, /)
     |      Remove and return a (key, value) pair as a 2-tuple.
     |
     |      Pairs are returned in LIFO (last-in, first-out) order.
     |      Raises KeyError if the dict is empty.
     |
     |  setdefault(self, key, default=None, /)
     |      Insert key with a value of default if key is not in the dictionary.
     |
     |      Return the value for key if key is in the dictionary, else default.
     |
     |  update(...)
     |      D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
     |      If E is present and has a .keys() method, then does:  for k in E: D[k] = E[k]
     |      If E is present and lacks a .keys() method, then does:  for k, v in E: D[k] = v
     |      In either case, this is followed by: for k in F:  D[k] = F[k]
     |
     |  values(...)
     |      D.values() -> an object providing a view on D's values
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.dict:
     |
     |  __class_getitem__(...)
     |      See PEP 585
     |
     |  fromkeys(iterable, value=None, /)
     |      Create a new dictionary with keys from iterable and values set to value.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.dict:
     |
     |  __new__(*args, **kwargs) class method of builtins.dict
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from builtins.dict:
     |
     |  __hash__ = None

    class DataConversionWarning(builtins.UserWarning)
     |  Warning used to notify implicit data conversions happening in the code.
     |
     |  This warning occurs when some input data needs to be converted or
     |  interpreted in a way that may not match the user's expectations.
     |
     |  For example, this warning may occur when the user
     |      - passes an integer array to a function which expects float input and
     |        will convert the input
     |      - requests a non-copying operation, but a copy is required to meet the
     |        implementation's data-type expectations;
     |      - passes an input whose shape can be interpreted ambiguously.
     |
     |  .. versionchanged:: 0.18
     |     Moved from sklearn.utils.validation.
     |
     |  Method resolution order:
     |      DataConversionWarning
     |      builtins.UserWarning
     |      builtins.Warning
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.UserWarning:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.UserWarning:
     |
     |  __new__(*args, **kwargs) class method of builtins.UserWarning
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class deprecated(builtins.object)
     |  deprecated(extra='')
     |
     |  Decorator to mark a function or class as deprecated.
     |
     |  Issue a warning when the function is called/the class is instantiated and
     |  adds a warning to the docstring.
     |
     |  The optional extra argument will be appended to the deprecation message
     |  and the docstring. Note: to use this with the default value for extra, put
     |  in an empty of parentheses:
     |
     |  Examples
     |  --------
     |  >>> from sklearn.utils import deprecated
     |  >>> deprecated()
     |  <sklearn.utils.deprecation.deprecated object at ...>
     |  >>> @deprecated()
     |  ... def some_function(): pass
     |
     |  Parameters
     |  ----------
     |  extra : str, default=''
     |        To be added to the deprecation messages.
     |
     |  Methods defined here:
     |
     |  __call__(self, obj)
     |      Call method
     |
     |      Parameters
     |      ----------
     |      obj : object
     |
     |  __init__(self, extra='')
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

    class parallel_backend(joblib.parallel.parallel_backend)
     |  parallel_backend(*args, **kwargs)
     |
     |  # if a class, deprecated will change the object in _joblib module so we need to subclass
     |
     |  Method resolution order:
     |      parallel_backend
     |      joblib.parallel.parallel_backend
     |      joblib.parallel.parallel_config
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __new__(cls, *args, **kwargs) from sklearn.utils.deprecation.deprecated._decorate_class.<locals>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from joblib.parallel.parallel_backend:
     |
     |  __enter__(self)
     |
     |  __init__(self, backend, n_jobs=-1, inner_max_num_threads=None, **backend_params)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from joblib.parallel.parallel_config:
     |
     |  __exit__(self, type, value, traceback)
     |
     |  unregister(self)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from joblib.parallel.parallel_config:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object

FUNCTIONS
    __getattr__(name)
        # TODO(1.7): remove

    all_estimators(type_filter=None)
        Get a list of all estimators from `sklearn`.

        This function crawls the module and gets all classes that inherit
        from BaseEstimator. Classes that are defined in test-modules are not
        included.

        Parameters
        ----------
        type_filter : {"classifier", "regressor", "cluster", "transformer"}             or list of such str, default=None
            Which kind of estimators should be returned. If None, no filter is
            applied and all estimators are returned.  Possible values are
            'classifier', 'regressor', 'cluster' and 'transformer' to get
            estimators only of these specific types, or a list of these to
            get the estimators that fit at least one of the types.

        Returns
        -------
        estimators : list of tuples
            List of (name, class), where ``name`` is the class name as string
            and ``class`` is the actual type of the class.

        Examples
        --------
        >>> from sklearn.utils.discovery import all_estimators
        >>> estimators = all_estimators()
        >>> type(estimators)
        <class 'list'>
        >>> type(estimators[0])
        <class 'tuple'>
        >>> estimators[:2]
        [('ARDRegression', <class 'sklearn.linear_model._bayes.ARDRegression'>),
         ('AdaBoostClassifier',
          <class 'sklearn.ensemble._weight_boosting.AdaBoostClassifier'>)]
        >>> classifiers = all_estimators(type_filter="classifier")
        >>> classifiers[:2]
        [('AdaBoostClassifier',
          <class 'sklearn.ensemble._weight_boosting.AdaBoostClassifier'>),
         ('BaggingClassifier', <class 'sklearn.ensemble._bagging.BaggingClassifier'>)]
        >>> regressors = all_estimators(type_filter="regressor")
        >>> regressors[:2]
        [('ARDRegression', <class 'sklearn.linear_model._bayes.ARDRegression'>),
         ('AdaBoostRegressor',
          <class 'sklearn.ensemble._weight_boosting.AdaBoostRegressor'>)]
        >>> both = all_estimators(type_filter=["classifier", "regressor"])
        >>> both[:2]
        [('ARDRegression', <class 'sklearn.linear_model._bayes.ARDRegression'>),
         ('AdaBoostClassifier',
          <class 'sklearn.ensemble._weight_boosting.AdaBoostClassifier'>)]

    as_float_array(X, *, copy=True, force_all_finite=True)
        Convert an array-like to an array of floats.

        The new dtype will be np.float32 or np.float64, depending on the original
        type. The function can create a copy or modify the argument depending
        on the argument copy.

        Parameters
        ----------
        X : {array-like, sparse matrix}
            The input data.

        copy : bool, default=True
            If True, a copy of X will be created. If False, a copy may still be
            returned if X's dtype is not a floating point type.

        force_all_finite : bool or 'allow-nan', default=True
            Whether to raise an error on np.inf, np.nan, pd.NA in X. The
            possibilities are:

            - True: Force all values of X to be finite.
            - False: accepts np.inf, np.nan, pd.NA in X.
            - 'allow-nan': accepts only np.nan and pd.NA values in X. Values cannot
              be infinite.

            .. versionadded:: 0.20
               ``force_all_finite`` accepts the string ``'allow-nan'``.

            .. versionchanged:: 0.23
               Accepts `pd.NA` and converts it into `np.nan`

        Returns
        -------
        XT : {ndarray, sparse matrix}
            An array of type float.

        Examples
        --------
        >>> from sklearn.utils import as_float_array
        >>> import numpy as np
        >>> array = np.array([0, 0, 1, 2, 2], dtype=np.int64)
        >>> as_float_array(array)
        array([0., 0., 1., 2., 2.])

    assert_all_finite(X, *, allow_nan=False, estimator_name=None, input_name='')
        Throw a ValueError if X contains NaN or infinity.

        Parameters
        ----------
        X : {ndarray, sparse matrix}
            The input data.

        allow_nan : bool, default=False
            If True, do not throw error when `X` contains NaN.

        estimator_name : str, default=None
            The estimator name, used to construct the error message.

        input_name : str, default=""
            The data name used to construct the error message. In particular
            if `input_name` is "X" and the data has NaN values and
            allow_nan is False, the error message will link to the imputer
            documentation.

        Examples
        --------
        >>> from sklearn.utils import assert_all_finite
        >>> import numpy as np
        >>> array = np.array([1, np.inf, np.nan, 4])
        >>> try:
        ...     assert_all_finite(array)
        ...     print("Test passed: Array contains only finite values.")
        ... except ValueError:
        ...     print("Test failed: Array contains non-finite values.")
        Test failed: Array contains non-finite values.

    check_X_y(X, y, accept_sparse=False, *, accept_large_sparse=True, dtype='numeric', order=None, copy=False, force_writeable=False, force_all_finite=True, ensure_2d=True, allow_nd=False, multi_output=False, ensure_min_samples=1, ensure_min_features=1, y_numeric=False, estimator=None)
        Input validation for standard estimators.

        Checks X and y for consistent length, enforces X to be 2D and y 1D. By
        default, X is checked to be non-empty and containing only finite values.
        Standard input checks are also applied to y, such as checking that y
        does not have np.nan or np.inf targets. For multi-label y, set
        multi_output=True to allow 2D and sparse y. If the dtype of X is
        object, attempt converting to float, raising on failure.

        Parameters
        ----------
        X : {ndarray, list, sparse matrix}
            Input data.

        y : {ndarray, list, sparse matrix}
            Labels.

        accept_sparse : str, bool or list of str, default=False
            String[s] representing allowed sparse matrix formats, such as 'csc',
            'csr', etc. If the input is sparse but not in the allowed format,
            it will be converted to the first listed format. True allows the input
            to be any format. False means that a sparse matrix input will
            raise an error.

        accept_large_sparse : bool, default=True
            If a CSR, CSC, COO or BSR sparse matrix is supplied and accepted by
            accept_sparse, accept_large_sparse will cause it to be accepted only
            if its indices are stored with a 32-bit dtype.

            .. versionadded:: 0.20

        dtype : 'numeric', type, list of type or None, default='numeric'
            Data type of result. If None, the dtype of the input is preserved.
            If "numeric", dtype is preserved unless array.dtype is object.
            If dtype is a list of types, conversion on the first type is only
            performed if the dtype of the input is not in the list.

        order : {'F', 'C'}, default=None
            Whether an array will be forced to be fortran or c-style. If
            `None`, then the input data's order is preserved when possible.

        copy : bool, default=False
            Whether a forced copy will be triggered. If copy=False, a copy might
            be triggered by a conversion.

        force_writeable : bool, default=False
            Whether to force the output array to be writeable. If True, the returned array
            is guaranteed to be writeable, which may require a copy. Otherwise the
            writeability of the input array is preserved.

            .. versionadded:: 1.6

        force_all_finite : bool or 'allow-nan', default=True
            Whether to raise an error on np.inf, np.nan, pd.NA in X. This parameter
            does not influence whether y can have np.inf, np.nan, pd.NA values.
            The possibilities are:

            - True: Force all values of X to be finite.
            - False: accepts np.inf, np.nan, pd.NA in X.
            - 'allow-nan': accepts only np.nan or pd.NA values in X. Values cannot
              be infinite.

            .. versionadded:: 0.20
               ``force_all_finite`` accepts the string ``'allow-nan'``.

            .. versionchanged:: 0.23
               Accepts `pd.NA` and converts it into `np.nan`

        ensure_2d : bool, default=True
            Whether to raise a value error if X is not 2D.

        allow_nd : bool, default=False
            Whether to allow X.ndim > 2.

        multi_output : bool, default=False
            Whether to allow 2D y (array or sparse matrix). If false, y will be
            validated as a vector. y cannot have np.nan or np.inf values if
            multi_output=True.

        ensure_min_samples : int, default=1
            Make sure that X has a minimum number of samples in its first
            axis (rows for a 2D array).

        ensure_min_features : int, default=1
            Make sure that the 2D array has some minimum number of features
            (columns). The default value of 1 rejects empty datasets.
            This check is only enforced when X has effectively 2 dimensions or
            is originally 1D and ``ensure_2d`` is True. Setting to 0 disables
            this check.

        y_numeric : bool, default=False
            Whether to ensure that y has a numeric type. If dtype of y is object,
            it is converted to float64. Should only be used for regression
            algorithms.

        estimator : str or estimator instance, default=None
            If passed, include the name of the estimator in warning messages.

        Returns
        -------
        X_converted : object
            The converted and validated X.

        y_converted : object
            The converted and validated y.

        Examples
        --------
        >>> from sklearn.utils.validation import check_X_y
        >>> X = [[1, 2], [3, 4], [5, 6]]
        >>> y = [1, 2, 3]
        >>> X, y = check_X_y(X, y)
        >>> X
        array([[1, 2],
              [3, 4],
              [5, 6]])
        >>> y
        array([1, 2, 3])

    check_array(array, accept_sparse=False, *, accept_large_sparse=True, dtype='numeric', order=None, copy=False, force_writeable=False, force_all_finite=True, ensure_2d=True, allow_nd=False, ensure_min_samples=1, ensure_min_features=1, estimator=None, input_name='')
        Input validation on an array, list, sparse matrix or similar.

        By default, the input is checked to be a non-empty 2D array containing
        only finite values. If the dtype of the array is object, attempt
        converting to float, raising on failure.

        Parameters
        ----------
        array : object
            Input object to check / convert.

        accept_sparse : str, bool or list/tuple of str, default=False
            String[s] representing allowed sparse matrix formats, such as 'csc',
            'csr', etc. If the input is sparse but not in the allowed format,
            it will be converted to the first listed format. True allows the input
            to be any format. False means that a sparse matrix input will
            raise an error.

        accept_large_sparse : bool, default=True
            If a CSR, CSC, COO or BSR sparse matrix is supplied and accepted by
            accept_sparse, accept_large_sparse=False will cause it to be accepted
            only if its indices are stored with a 32-bit dtype.

            .. versionadded:: 0.20

        dtype : 'numeric', type, list of type or None, default='numeric'
            Data type of result. If None, the dtype of the input is preserved.
            If "numeric", dtype is preserved unless array.dtype is object.
            If dtype is a list of types, conversion on the first type is only
            performed if the dtype of the input is not in the list.

        order : {'F', 'C'} or None, default=None
            Whether an array will be forced to be fortran or c-style.
            When order is None (default), then if copy=False, nothing is ensured
            about the memory layout of the output array; otherwise (copy=True)
            the memory layout of the returned array is kept as close as possible
            to the original array.

        copy : bool, default=False
            Whether a forced copy will be triggered. If copy=False, a copy might
            be triggered by a conversion.

        force_writeable : bool, default=False
            Whether to force the output array to be writeable. If True, the returned array
            is guaranteed to be writeable, which may require a copy. Otherwise the
            writeability of the input array is preserved.

            .. versionadded:: 1.6

        force_all_finite : bool or 'allow-nan', default=True
            Whether to raise an error on np.inf, np.nan, pd.NA in array. The
            possibilities are:

            - True: Force all values of array to be finite.
            - False: accepts np.inf, np.nan, pd.NA in array.
            - 'allow-nan': accepts only np.nan and pd.NA values in array. Values
              cannot be infinite.

            .. versionadded:: 0.20
               ``force_all_finite`` accepts the string ``'allow-nan'``.

            .. versionchanged:: 0.23
               Accepts `pd.NA` and converts it into `np.nan`

        ensure_2d : bool, default=True
            Whether to raise a value error if array is not 2D.

        allow_nd : bool, default=False
            Whether to allow array.ndim > 2.

        ensure_min_samples : int, default=1
            Make sure that the array has a minimum number of samples in its first
            axis (rows for a 2D array). Setting to 0 disables this check.

        ensure_min_features : int, default=1
            Make sure that the 2D array has some minimum number of features
            (columns). The default value of 1 rejects empty datasets.
            This check is only enforced when the input data has effectively 2
            dimensions or is originally 1D and ``ensure_2d`` is True. Setting to 0
            disables this check.

        estimator : str or estimator instance, default=None
            If passed, include the name of the estimator in warning messages.

        input_name : str, default=""
            The data name used to construct the error message. In particular
            if `input_name` is "X" and the data has NaN values and
            allow_nan is False, the error message will link to the imputer
            documentation.

            .. versionadded:: 1.1.0

        Returns
        -------
        array_converted : object
            The converted and validated array.

        Examples
        --------
        >>> from sklearn.utils.validation import check_array
        >>> X = [[1, 2, 3], [4, 5, 6]]
        >>> X_checked = check_array(X)
        >>> X_checked
        array([[1, 2, 3], [4, 5, 6]])

    check_consistent_length(*arrays)
        Check that all arrays have consistent first dimensions.

        Checks whether all objects in arrays have the same shape or length.

        Parameters
        ----------
        *arrays : list or tuple of input objects.
            Objects that will be checked for consistent length.

        Examples
        --------
        >>> from sklearn.utils.validation import check_consistent_length
        >>> a = [1, 2, 3]
        >>> b = [2, 3, 4]
        >>> check_consistent_length(a, b)

    check_random_state(seed)
        Turn seed into a np.random.RandomState instance.

        Parameters
        ----------
        seed : None, int or instance of RandomState
            If seed is None, return the RandomState singleton used by np.random.
            If seed is an int, return a new RandomState instance seeded with seed.
            If seed is already a RandomState instance, return it.
            Otherwise raise ValueError.

        Returns
        -------
        :class:`numpy:numpy.random.RandomState`
            The random state object based on `seed` parameter.

        Examples
        --------
        >>> from sklearn.utils.validation import check_random_state
        >>> check_random_state(42)
        RandomState(MT19937) at 0x...

    check_scalar(x, name, target_type, *, min_val=None, max_val=None, include_boundaries='both')
        Validate scalar parameters type and value.

        Parameters
        ----------
        x : object
            The scalar parameter to validate.

        name : str
            The name of the parameter to be printed in error messages.

        target_type : type or tuple
            Acceptable data types for the parameter.

        min_val : float or int, default=None
            The minimum valid value the parameter can take. If None (default) it
            is implied that the parameter does not have a lower bound.

        max_val : float or int, default=None
            The maximum valid value the parameter can take. If None (default) it
            is implied that the parameter does not have an upper bound.

        include_boundaries : {"left", "right", "both", "neither"}, default="both"
            Whether the interval defined by `min_val` and `max_val` should include
            the boundaries. Possible choices are:

            - `"left"`: only `min_val` is included in the valid interval.
              It is equivalent to the interval `[ min_val, max_val )`.
            - `"right"`: only `max_val` is included in the valid interval.
              It is equivalent to the interval `( min_val, max_val ]`.
            - `"both"`: `min_val` and `max_val` are included in the valid interval.
              It is equivalent to the interval `[ min_val, max_val ]`.
            - `"neither"`: neither `min_val` nor `max_val` are included in the
              valid interval. It is equivalent to the interval `( min_val, max_val )`.

        Returns
        -------
        x : numbers.Number
            The validated number.

        Raises
        ------
        TypeError
            If the parameter's type does not match the desired type.

        ValueError
            If the parameter's value violates the given bounds.
            If `min_val`, `max_val` and `include_boundaries` are inconsistent.

        Examples
        --------
        >>> from sklearn.utils.validation import check_scalar
        >>> check_scalar(10, "x", int, min_val=1, max_val=20)
        10

    check_symmetric(array, *, tol=1e-10, raise_warning=True, raise_exception=False)
        Make sure that array is 2D, square and symmetric.

        If the array is not symmetric, then a symmetrized version is returned.
        Optionally, a warning or exception is raised if the matrix is not
        symmetric.

        Parameters
        ----------
        array : {ndarray, sparse matrix}
            Input object to check / convert. Must be two-dimensional and square,
            otherwise a ValueError will be raised.

        tol : float, default=1e-10
            Absolute tolerance for equivalence of arrays. Default = 1E-10.

        raise_warning : bool, default=True
            If True then raise a warning if conversion is required.

        raise_exception : bool, default=False
            If True then raise an exception if array is not symmetric.

        Returns
        -------
        array_sym : {ndarray, sparse matrix}
            Symmetrized version of the input array, i.e. the average of array
            and array.transpose(). If sparse, then duplicate entries are first
            summed and zeros are eliminated.

        Examples
        --------
        >>> import numpy as np
        >>> from sklearn.utils.validation import check_symmetric
        >>> symmetric_array = np.array([[0, 1, 2], [1, 0, 1], [2, 1, 0]])
        >>> check_symmetric(symmetric_array)
        array([[0, 1, 2],
               [1, 0, 1],
               [2, 1, 0]])
        >>> from scipy.sparse import csr_matrix
        >>> sparse_symmetric_array = csr_matrix(symmetric_array)
        >>> check_symmetric(sparse_symmetric_array)
        <Compressed Sparse Row sparse matrix of dtype 'int64'
            with 6 stored elements and shape (3, 3)>

    column_or_1d(y, *, dtype=None, warn=False)
        Ravel column or 1d numpy array, else raises an error.

        Parameters
        ----------
        y : array-like
           Input data.

        dtype : data-type, default=None
            Data type for `y`.

            .. versionadded:: 1.2

        warn : bool, default=False
           To control display of warnings.

        Returns
        -------
        y : ndarray
           Output data.

        Raises
        ------
        ValueError
            If `y` is not a 1D array or a 2D array with a single row or column.

        Examples
        --------
        >>> from sklearn.utils.validation import column_or_1d
        >>> column_or_1d([1, 1])
        array([1, 1])

    compute_class_weight(class_weight, *, classes, y)
        Estimate class weights for unbalanced datasets.

        Parameters
        ----------
        class_weight : dict, "balanced" or None
            If "balanced", class weights will be given by
            `n_samples / (n_classes * np.bincount(y))`.
            If a dictionary is given, keys are classes and values are corresponding class
            weights.
            If `None` is given, the class weights will be uniform.

        classes : ndarray
            Array of the classes occurring in the data, as given by
            `np.unique(y_org)` with `y_org` the original class labels.

        y : array-like of shape (n_samples,)
            Array of original class labels per sample.

        Returns
        -------
        class_weight_vect : ndarray of shape (n_classes,)
            Array with `class_weight_vect[i]` the weight for i-th class.

        References
        ----------
        The "balanced" heuristic is inspired by
        Logistic Regression in Rare Events Data, King, Zen, 2001.

        Examples
        --------
        >>> import numpy as np
        >>> from sklearn.utils.class_weight import compute_class_weight
        >>> y = [1, 1, 1, 1, 0, 0]
        >>> compute_class_weight(class_weight="balanced", classes=np.unique(y), y=y)
        array([1.5 , 0.75])

    compute_sample_weight(class_weight, y, *, indices=None)
        Estimate sample weights by class for unbalanced datasets.

        Parameters
        ----------
        class_weight : dict, list of dicts, "balanced", or None
            Weights associated with classes in the form `{class_label: weight}`.
            If not given, all classes are supposed to have weight one. For
            multi-output problems, a list of dicts can be provided in the same
            order as the columns of y.

            Note that for multioutput (including multilabel) weights should be
            defined for each class of every column in its own dict. For example,
            for four-class multilabel classification weights should be
            `[{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}]` instead of
            `[{1:1}, {2:5}, {3:1}, {4:1}]`.

            The `"balanced"` mode uses the values of y to automatically adjust
            weights inversely proportional to class frequencies in the input data:
            `n_samples / (n_classes * np.bincount(y))`.

            For multi-output, the weights of each column of y will be multiplied.

        y : {array-like, sparse matrix} of shape (n_samples,) or (n_samples, n_outputs)
            Array of original class labels per sample.

        indices : array-like of shape (n_subsample,), default=None
            Array of indices to be used in a subsample. Can be of length less than
            `n_samples` in the case of a subsample, or equal to `n_samples` in the
            case of a bootstrap subsample with repeated indices. If `None`, the
            sample weight will be calculated over the full sample. Only `"balanced"`
            is supported for `class_weight` if this is provided.

        Returns
        -------
        sample_weight_vect : ndarray of shape (n_samples,)
            Array with sample weights as applied to the original `y`.

        Examples
        --------
        >>> from sklearn.utils.class_weight import compute_sample_weight
        >>> y = [1, 1, 1, 1, 0, 0]
        >>> compute_sample_weight(class_weight="balanced", y=y)
        array([0.75, 0.75, 0.75, 0.75, 1.5 , 1.5 ])

    estimator_html_repr(estimator)
        Build a HTML representation of an estimator.

        Read more in the :ref:`User Guide <visualizing_composite_estimators>`.

        Parameters
        ----------
        estimator : estimator object
            The estimator to visualize.

        Returns
        -------
        html: str
            HTML representation of estimator.

        Examples
        --------
        >>> from sklearn.utils._estimator_html_repr import estimator_html_repr
        >>> from sklearn.linear_model import LogisticRegression
        >>> estimator_html_repr(LogisticRegression())
        '<style>...</div>'

    gen_batches(n, batch_size, *, min_batch_size=0)
        Generator to create slices containing `batch_size` elements from 0 to `n`.

        The last slice may contain less than `batch_size` elements, when
        `batch_size` does not divide `n`.

        Parameters
        ----------
        n : int
            Size of the sequence.
        batch_size : int
            Number of elements in each batch.
        min_batch_size : int, default=0
            Minimum number of elements in each batch.

        Yields
        ------
        slice of `batch_size` elements

        See Also
        --------
        gen_even_slices: Generator to create n_packs slices going up to n.

        Examples
        --------
        >>> from sklearn.utils import gen_batches
        >>> list(gen_batches(7, 3))
        [slice(0, 3, None), slice(3, 6, None), slice(6, 7, None)]
        >>> list(gen_batches(6, 3))
        [slice(0, 3, None), slice(3, 6, None)]
        >>> list(gen_batches(2, 3))
        [slice(0, 2, None)]
        >>> list(gen_batches(7, 3, min_batch_size=0))
        [slice(0, 3, None), slice(3, 6, None), slice(6, 7, None)]
        >>> list(gen_batches(7, 3, min_batch_size=2))
        [slice(0, 3, None), slice(3, 7, None)]

    gen_even_slices(n, n_packs, *, n_samples=None)
        Generator to create `n_packs` evenly spaced slices going up to `n`.

        If `n_packs` does not divide `n`, except for the first `n % n_packs`
        slices, remaining slices may contain fewer elements.

        Parameters
        ----------
        n : int
            Size of the sequence.
        n_packs : int
            Number of slices to generate.
        n_samples : int, default=None
            Number of samples. Pass `n_samples` when the slices are to be used for
            sparse matrix indexing; slicing off-the-end raises an exception, while
            it works for NumPy arrays.

        Yields
        ------
        `slice` representing a set of indices from 0 to n.

        See Also
        --------
        gen_batches: Generator to create slices containing batch_size elements
            from 0 to n.

        Examples
        --------
        >>> from sklearn.utils import gen_even_slices
        >>> list(gen_even_slices(10, 1))
        [slice(0, 10, None)]
        >>> list(gen_even_slices(10, 10))
        [slice(0, 1, None), slice(1, 2, None), ..., slice(9, 10, None)]
        >>> list(gen_even_slices(10, 5))
        [slice(0, 2, None), slice(2, 4, None), ..., slice(8, 10, None)]
        >>> list(gen_even_slices(10, 3))
        [slice(0, 4, None), slice(4, 7, None), slice(7, 10, None)]

    indexable(*iterables)
        Make arrays indexable for cross-validation.

        Checks consistent length, passes through None, and ensures that everything
        can be indexed by converting sparse matrices to csr and converting
        non-interable objects to arrays.

        Parameters
        ----------
        *iterables : {lists, dataframes, ndarrays, sparse matrices}
            List of objects to ensure sliceability.

        Returns
        -------
        result : list of {ndarray, sparse matrix, dataframe} or None
            Returns a list containing indexable arrays (i.e. NumPy array,
            sparse matrix, or dataframe) or `None`.

        Examples
        --------
        >>> from sklearn.utils import indexable
        >>> from scipy.sparse import csr_matrix
        >>> import numpy as np
        >>> iterables = [
        ...     [1, 2, 3], np.array([2, 3, 4]), None, csr_matrix([[5], [6], [7]])
        ... ]
        >>> indexable(*iterables)
        [[1, 2, 3], array([2, 3, 4]), None, <...Sparse...dtype 'int64'...shape (3, 1)>]

    murmurhash3_32(key, seed=0, positive=False)
        Compute the 32bit murmurhash3 of key at seed.

        The underlying implementation is MurmurHash3_x86_32 generating low
        latency 32bits hash suitable for implementing lookup tables, Bloom
        filters, count min sketch or feature hashing.

        Parameters
        ----------
        key : np.int32, bytes, unicode or ndarray of dtype=np.int32
            The physical object to hash.

        seed : int, default=0
            Integer seed for the hashing algorithm.

        positive : bool, default=False
            True: the results is casted to an unsigned int
              from 0 to 2 ** 32 - 1
            False: the results is casted to a signed int
              from -(2 ** 31) to 2 ** 31 - 1

        Examples
        --------
        >>> from sklearn.utils import murmurhash3_32
        >>> murmurhash3_32(b"Hello World!", seed=42)
        3565178

    register_parallel_backend(name, factory, make_default=False)
        Register a new Parallel backend factory.

        The new backend can then be selected by passing its name as the backend
        argument to the :class:`~Parallel` class. Moreover, the default backend can
        be overwritten globally by setting make_default=True.

        The factory can be any callable that takes no argument and return an
        instance of ``ParallelBackendBase``.

        Warning: this function is experimental and subject to change in a future
        version of joblib.

        .. versionadded:: 0.10

    resample(*arrays, replace=True, n_samples=None, random_state=None, stratify=None)
        Resample arrays or sparse matrices in a consistent way.

        The default strategy implements one step of the bootstrapping
        procedure.

        Parameters
        ----------
        *arrays : sequence of array-like of shape (n_samples,) or             (n_samples, n_outputs)
            Indexable data-structures can be arrays, lists, dataframes or scipy
            sparse matrices with consistent first dimension.

        replace : bool, default=True
            Implements resampling with replacement. If False, this will implement
            (sliced) random permutations.

        n_samples : int, default=None
            Number of samples to generate. If left to None this is
            automatically set to the first dimension of the arrays.
            If replace is False it should not be larger than the length of
            arrays.

        random_state : int, RandomState instance or None, default=None
            Determines random number generation for shuffling
            the data.
            Pass an int for reproducible results across multiple function calls.
            See :term:`Glossary <random_state>`.

        stratify : {array-like, sparse matrix} of shape (n_samples,) or             (n_samples, n_outputs), default=None
            If not None, data is split in a stratified fashion, using this as
            the class labels.

        Returns
        -------
        resampled_arrays : sequence of array-like of shape (n_samples,) or             (n_samples, n_outputs)
            Sequence of resampled copies of the collections. The original arrays
            are not impacted.

        See Also
        --------
        shuffle : Shuffle arrays or sparse matrices in a consistent way.

        Examples
        --------
        It is possible to mix sparse and dense arrays in the same run::

          >>> import numpy as np
          >>> X = np.array([[1., 0.], [2., 1.], [0., 0.]])
          >>> y = np.array([0, 1, 2])

          >>> from scipy.sparse import coo_matrix
          >>> X_sparse = coo_matrix(X)

          >>> from sklearn.utils import resample
          >>> X, X_sparse, y = resample(X, X_sparse, y, random_state=0)
          >>> X
          array([[1., 0.],
                 [2., 1.],
                 [1., 0.]])

          >>> X_sparse
          <Compressed Sparse Row sparse matrix of dtype 'float64'
              with 4 stored elements and shape (3, 2)>

          >>> X_sparse.toarray()
          array([[1., 0.],
                 [2., 1.],
                 [1., 0.]])

          >>> y
          array([0, 1, 0])

          >>> resample(y, n_samples=2, random_state=0)
          array([0, 1])

        Example using stratification::

          >>> y = [0, 0, 1, 1, 1, 1, 1, 1, 1]
          >>> resample(y, n_samples=5, replace=False, stratify=y,
          ...          random_state=0)
          [1, 1, 1, 0, 1]

    safe_mask(X, mask)
        Return a mask which is safe to use on X.

        Parameters
        ----------
        X : {array-like, sparse matrix}
            Data on which to apply mask.

        mask : array-like
            Mask to be used on X.

        Returns
        -------
        mask : ndarray
            Array that is safe to use on X.

        Examples
        --------
        >>> from sklearn.utils import safe_mask
        >>> from scipy.sparse import csr_matrix
        >>> data = csr_matrix([[1], [2], [3], [4], [5]])
        >>> condition = [False, True, True, False, True]
        >>> mask = safe_mask(data, condition)
        >>> data[mask].toarray()
        array([[2],
               [3],
               [5]])

    safe_sqr(X, *, copy=True)
        Element wise squaring of array-likes and sparse matrices.

        Parameters
        ----------
        X : {array-like, ndarray, sparse matrix}

        copy : bool, default=True
            Whether to create a copy of X and operate on it or to perform
            inplace computation (default behaviour).

        Returns
        -------
        X ** 2 : element wise square
             Return the element-wise square of the input.

        Examples
        --------
        >>> from sklearn.utils import safe_sqr
        >>> safe_sqr([1, 2, 3])
        array([1, 4, 9])

    shuffle(*arrays, random_state=None, n_samples=None)
        Shuffle arrays or sparse matrices in a consistent way.

        This is a convenience alias to ``resample(*arrays, replace=False)`` to do
        random permutations of the collections.

        Parameters
        ----------
        *arrays : sequence of indexable data-structures
            Indexable data-structures can be arrays, lists, dataframes or scipy
            sparse matrices with consistent first dimension.

        random_state : int, RandomState instance or None, default=None
            Determines random number generation for shuffling
            the data.
            Pass an int for reproducible results across multiple function calls.
            See :term:`Glossary <random_state>`.

        n_samples : int, default=None
            Number of samples to generate. If left to None this is
            automatically set to the first dimension of the arrays.  It should
            not be larger than the length of arrays.

        Returns
        -------
        shuffled_arrays : sequence of indexable data-structures
            Sequence of shuffled copies of the collections. The original arrays
            are not impacted.

        See Also
        --------
        resample : Resample arrays or sparse matrices in a consistent way.

        Examples
        --------
        It is possible to mix sparse and dense arrays in the same run::

          >>> import numpy as np
          >>> X = np.array([[1., 0.], [2., 1.], [0., 0.]])
          >>> y = np.array([0, 1, 2])

          >>> from scipy.sparse import coo_matrix
          >>> X_sparse = coo_matrix(X)

          >>> from sklearn.utils import shuffle
          >>> X, X_sparse, y = shuffle(X, X_sparse, y, random_state=0)
          >>> X
          array([[0., 0.],
                 [2., 1.],
                 [1., 0.]])

          >>> X_sparse
          <Compressed Sparse Row sparse matrix of dtype 'float64'
              with 3 stored elements and shape (3, 2)>

          >>> X_sparse.toarray()
          array([[0., 0.],
                 [2., 1.],
                 [1., 0.]])

          >>> y
          array([2, 1, 0])

          >>> shuffle(y, n_samples=2, random_state=0)
          array([0, 1])

DATA
    __all__ = ['murmurhash3_32', 'as_float_array', 'assert_all_finite', 'c...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\site-packages\sklearn\utils\__init__.py