Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions stubs/sklearn/cluster/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ from ._bicluster import SpectralBiclustering as SpectralBiclustering, SpectralCo
from ._birch import Birch as Birch
from ._bisect_k_means import BisectingKMeans as BisectingKMeans
from ._dbscan import DBSCAN as DBSCAN, dbscan as dbscan
from ._hdbscan.hdbscan import HDBSCAN as HDBSCAN
from ._kmeans import KMeans as KMeans, MiniBatchKMeans as MiniBatchKMeans, k_means as k_means, kmeans_plusplus as kmeans_plusplus
from ._mean_shift import (
MeanShift as MeanShift,
Expand All @@ -29,6 +30,7 @@ __all__ = [
"AgglomerativeClustering",
"Birch",
"DBSCAN",
"HDBSCAN",
"OPTICS",
"cluster_optics_dbscan",
"cluster_optics_xi",
Expand Down
Empty file.
38 changes: 38 additions & 0 deletions stubs/sklearn/cluster/_hdbscan/hdbscan.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from typing import Any, Callable, ClassVar, Literal
from typing_extensions import Self

from numpy import ndarray

from ..._typing import Float, Int, MatrixLike
from ...base import BaseEstimator, ClusterMixin

class HDBSCAN(ClusterMixin, BaseEstimator):
labels_: ndarray = ...
probabilities_: ndarray = ...
n_features_in_: int = ...
feature_names_in_: ndarray = ...
centroids_: ndarray = ...
medoids_: ndarray = ...

_parameter_constraints: ClassVar[dict] = ...

def __init__(
self,
min_cluster_size: Int = 5,
min_samples: None | Int = None,
cluster_selection_epsilon: Float = 0.0,
max_cluster_size: None | Int = None,
metric: str | Callable = "euclidean",
metric_params: None | dict = None,
alpha: Float = 1.0,
algorithm: Literal["auto", "brute", "kd_tree", "ball_tree"] = "auto",
leaf_size: Int = 40,
n_jobs: None | Int = None,
cluster_selection_method: Literal["eom", "leaf"] = "eom",
allow_single_cluster: bool = False,
store_centers: None | Literal["centroid", "medoid", "both"] = None,
copy: bool = False,
) -> None: ...
def fit(self, X: MatrixLike, y: Any = None) -> Self: ...
def fit_predict(self, X: MatrixLike, y: Any = None) -> ndarray: ...
def dbscan_clustering(self, cut_distance: Float, min_cluster_size: Int = 5) -> ndarray: ...
18 changes: 16 additions & 2 deletions stubs/sklearn/metrics/_ranking.pyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import Literal
from typing import Literal, overload
from typing_extensions import deprecated

from numpy import ndarray

Expand Down Expand Up @@ -40,12 +41,25 @@ def roc_auc_score(
multi_class: Literal["raise", "ovr", "ovo"] = "raise",
labels: None | ArrayLike = None,
) -> Float: ...
@overload
def precision_recall_curve(
y_true: ArrayLike,
probas_pred: ArrayLike,
y_score: ArrayLike,
*,
pos_label: None | str | Int = None,
sample_weight: None | ArrayLike = None,
drop_intermediate: bool = False,
) -> tuple[ndarray, ndarray, ndarray]: ...
@deprecated("`probas_pred` is deprecated in 1.5 and will be removed in 1.7. Use `y_score` instead.")
@overload
def precision_recall_curve(
y_true: ArrayLike,
y_score: None = None,
*,
pos_label: None | str | Int = None,
sample_weight: None | ArrayLike = None,
drop_intermediate: bool = False,
probas_pred: ArrayLike,
) -> tuple[ndarray, ndarray, ndarray]: ...
def roc_curve(
y_true: ArrayLike,
Expand Down
19 changes: 4 additions & 15 deletions stubs/sklearn/stubtest_allowlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,13 @@ sklearn.cluster.BisectingKMeans.set_fit_request
sklearn.cluster.BisectingKMeans.set_score_request
sklearn.cluster.DBSCAN.__sklearn_tags__
sklearn.cluster.DBSCAN.set_fit_request
sklearn.cluster.HDBSCAN
sklearn.cluster.HDBSCAN.__sklearn_tags__
sklearn.cluster.KMeans.set_fit_request
sklearn.cluster.KMeans.set_score_request
sklearn.cluster.MiniBatchKMeans.set_fit_request
sklearn.cluster.MiniBatchKMeans.set_partial_fit_request
sklearn.cluster.MiniBatchKMeans.set_score_request
sklearn.cluster.SpectralClustering.__sklearn_tags__
sklearn.cluster.__all__
sklearn.cluster._affinity_propagation.AffinityPropagation.__sklearn_tags__
sklearn.cluster._bicluster.BaseSpectral.__sklearn_tags__
sklearn.cluster._birch.Birch.__sklearn_tags__
Expand All @@ -112,7 +111,9 @@ sklearn.cluster._bisect_k_means.BisectingKMeans.set_score_request
sklearn.cluster._dbscan.DBSCAN.__sklearn_tags__
sklearn.cluster._dbscan.DBSCAN.set_fit_request
sklearn.cluster._dbscan_inner.__test__
sklearn.cluster._hdbscan.hdbscan
sklearn.cluster._hdbscan.hdbscan.FAST_METRICS
sklearn.cluster._hdbscan.hdbscan.HDBSCAN.__sklearn_tags__
sklearn.cluster._hdbscan.hdbscan.remap_single_linkage_tree
sklearn.cluster._hdbscan.tests
sklearn.cluster._hdbscan.tests.test_reachibility
sklearn.cluster._k_means_common.__pyx_capi__
Expand Down Expand Up @@ -1229,17 +1230,7 @@ sklearn.tree._splitter.RandomSplitter
sklearn.tree._splitter.__test__
sklearn.tree._tree.NODE_DTYPE
sklearn.tree._tree.TREE_UNDEFINED
sklearn.tree._tree.Tree.children_left
sklearn.tree._tree.Tree.children_right
sklearn.tree._tree.Tree.compute_partial_dependence
sklearn.tree._tree.Tree.feature
sklearn.tree._tree.Tree.impurity
sklearn.tree._tree.Tree.max_depth
sklearn.tree._tree.Tree.missing_go_to_left
sklearn.tree._tree.Tree.n_leaves
sklearn.tree._tree.Tree.n_node_samples
sklearn.tree._tree.Tree.threshold
sklearn.tree._tree.Tree.weighted_n_node_samples
sklearn.tree._tree.TreeBuilder.__reduce_cython__
sklearn.tree._tree.TreeBuilder.__setstate_cython__
sklearn.tree._tree.__pyx_capi__
Expand Down Expand Up @@ -1981,7 +1972,6 @@ sklearn.metrics._plot.precision_recall_curve.PrecisionRecallDisplay.plot
sklearn.metrics._plot.roc_curve.RocCurveDisplay.from_estimator
sklearn.metrics._plot.roc_curve.RocCurveDisplay.from_predictions
sklearn.metrics._plot.roc_curve.RocCurveDisplay.plot
sklearn.metrics._ranking.precision_recall_curve
sklearn.metrics._regression.mean_squared_error
sklearn.metrics._regression.mean_squared_log_error
sklearn.metrics._scorer.SCORERS
Expand All @@ -2003,7 +1993,6 @@ sklearn.metrics.pairwise.check_pairwise_arrays
sklearn.metrics.pairwise.manhattan_distances
sklearn.metrics.pairwise.pairwise_distances
sklearn.metrics.pairwise_distances
sklearn.metrics.precision_recall_curve
sklearn.model_selection.GridSearchCV.classes_
sklearn.model_selection.GridSearchCV.n_features_in_
sklearn.model_selection.GroupKFold.__init__
Expand Down
23 changes: 21 additions & 2 deletions stubs/sklearn/tree/_tree.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,36 @@ class BestFirstTreeBuilder(TreeBuilder):

class Tree:
n_features: int
n_classes: int
n_outputs: int
max_n_classes: int

max_dept: int
max_depth: int
node_count: int
capacity: int
nodes: np.ndarray
value: np.ndarray
value_stride: int

@property
def n_classes(self) -> np.ndarray: ...
@property
def children_left(self) -> np.ndarray: ...
@property
def children_right(self) -> np.ndarray: ...
@property
def n_leaves(self) -> int: ...
@property
def feature(self) -> np.ndarray: ...
@property
def threshold(self) -> np.ndarray: ...
@property
def impurity(self) -> np.ndarray: ...
@property
def n_node_samples(self) -> np.ndarray: ...
@property
def weighted_n_node_samples(self) -> np.ndarray: ...
@property
def missing_go_to_left(self) -> np.ndarray: ...
def predict(self, X) -> np.ndarray: ...
def apply(self, X) -> np.ndarray: ...
def decision_path(self, X) -> Any: ...
Expand Down