Skip to content
Merged
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
21 changes: 17 additions & 4 deletions src/rtichoke/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,40 @@

__version__ = version("rtichoke")

from rtichoke.discrimination.roc import create_roc_curve as create_roc_curve
from rtichoke.discrimination.roc import (
create_roc_curve as create_roc_curve,
create_roc_curve_times as create_roc_curve_times,
)
from rtichoke.discrimination.roc import plot_roc_curve as plot_roc_curve

from rtichoke.discrimination.lift import create_lift_curve as create_lift_curve
from rtichoke.discrimination.lift import (
create_lift_curve as create_lift_curve,
create_lift_curve_times as create_lift_curve_times,
)
from rtichoke.discrimination.lift import plot_lift_curve as plot_lift_curve

from rtichoke.discrimination.precision_recall import (
create_precision_recall_curve as create_precision_recall_curve,
create_precision_recall_curve_times as create_precision_recall_curve_times,
)
from rtichoke.discrimination.precision_recall import (
plot_precision_recall_curve as plot_precision_recall_curve,
)

from rtichoke.discrimination.gains import create_gains_curve as create_gains_curve
from rtichoke.discrimination.gains import (
create_gains_curve as create_gains_curve,
create_gains_curve_times as create_gains_curve_times,
)
from rtichoke.discrimination.gains import plot_gains_curve as plot_gains_curve

# from rtichoke.calibration.calibration import (
# create_calibration_curve as create_calibration_curve,
# )

from rtichoke.utility.decision import create_decision_curve as create_decision_curve
from rtichoke.utility.decision import (
create_decision_curve as create_decision_curve,
create_decision_curve_times as create_decision_curve_times,
)
from rtichoke.utility.decision import plot_decision_curve as plot_decision_curve

from rtichoke.performance_data.performance_data import (
Expand Down
56 changes: 56 additions & 0 deletions src/rtichoke/discrimination/gains.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from typing import Dict, List, Sequence, Union
from plotly.graph_objs._figure import Figure
from rtichoke.helpers.plotly_helper_functions import (
_create_rtichoke_plotly_curve_times,
_create_rtichoke_plotly_curve_binary,
_plot_rtichoke_curve_binary,
)
Expand Down Expand Up @@ -123,3 +124,58 @@ def plot_gains_curve(
curve="gains",
)
return fig


def create_gains_curve_times(
probs: Dict[str, np.ndarray],
reals: Union[np.ndarray, Dict[str, np.ndarray]],
times: Union[np.ndarray, Dict[str, np.ndarray]],
fixed_time_horizons: list[float],
heuristics_sets: list[Dict] = [
{
"censoring_heuristic": "adjusted",
"competing_heuristic": "adjusted_as_negative",
}
],
by: float = 0.01,
stratified_by: Sequence[str] = ["probability_threshold"],
size: int = 600,
color_values: List[str] = [
"#1b9e77",
"#d95f02",
"#7570b3",
"#e7298a",
"#07004D",
"#E6AB02",
"#FE5F55",
"#54494B",
"#006E90",
"#BC96E6",
"#52050A",
"#1F271B",
"#BE7C4D",
"#63768D",
"#08A045",
"#320A28",
"#82FF9E",
"#2176FF",
"#D1603D",
"#585123",
],
) -> Figure:
"""Create time-dependent Lift Curve."""

fig = _create_rtichoke_plotly_curve_times(
probs,
reals,
times,
fixed_time_horizons=fixed_time_horizons,
heuristics_sets=heuristics_sets,
by=by,
stratified_by=stratified_by,
size=size,
color_values=color_values,
curve="gains",
)

return fig
56 changes: 56 additions & 0 deletions src/rtichoke/discrimination/lift.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from typing import Dict, List, Sequence, Union
from plotly.graph_objs._figure import Figure
from rtichoke.helpers.plotly_helper_functions import (
_create_rtichoke_plotly_curve_times,
_create_rtichoke_plotly_curve_binary,
_plot_rtichoke_curve_binary,
)
Expand Down Expand Up @@ -123,3 +124,58 @@ def plot_lift_curve(
curve="lift",
)
return fig


def create_lift_curve_times(
probs: Dict[str, np.ndarray],
reals: Union[np.ndarray, Dict[str, np.ndarray]],
times: Union[np.ndarray, Dict[str, np.ndarray]],
fixed_time_horizons: list[float],
heuristics_sets: list[Dict] = [
{
"censoring_heuristic": "adjusted",
"competing_heuristic": "adjusted_as_negative",
}
],
by: float = 0.01,
stratified_by: Sequence[str] = ["probability_threshold"],
size: int = 600,
color_values: List[str] = [
"#1b9e77",
"#d95f02",
"#7570b3",
"#e7298a",
"#07004D",
"#E6AB02",
"#FE5F55",
"#54494B",
"#006E90",
"#BC96E6",
"#52050A",
"#1F271B",
"#BE7C4D",
"#63768D",
"#08A045",
"#320A28",
"#82FF9E",
"#2176FF",
"#D1603D",
"#585123",
],
) -> Figure:
"""Create time-dependent Lift Curve."""

fig = _create_rtichoke_plotly_curve_times(
probs,
reals,
times,
fixed_time_horizons=fixed_time_horizons,
heuristics_sets=heuristics_sets,
by=by,
stratified_by=stratified_by,
size=size,
color_values=color_values,
curve="lift",
)

return fig
56 changes: 56 additions & 0 deletions src/rtichoke/discrimination/precision_recall.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from typing import Dict, List, Sequence, Union
from plotly.graph_objs._figure import Figure
from rtichoke.helpers.plotly_helper_functions import (
_create_rtichoke_plotly_curve_times,
_create_rtichoke_plotly_curve_binary,
_plot_rtichoke_curve_binary,
)
Expand Down Expand Up @@ -123,3 +124,58 @@ def plot_precision_recall_curve(
curve="precision recall",
)
return fig


def create_precision_recall_curve_times(
probs: Dict[str, np.ndarray],
reals: Union[np.ndarray, Dict[str, np.ndarray]],
times: Union[np.ndarray, Dict[str, np.ndarray]],
fixed_time_horizons: list[float],
heuristics_sets: list[Dict] = [
{
"censoring_heuristic": "adjusted",
"competing_heuristic": "adjusted_as_negative",
}
],
by: float = 0.01,
stratified_by: Sequence[str] = ["probability_threshold"],
size: int = 600,
color_values: List[str] = [
"#1b9e77",
"#d95f02",
"#7570b3",
"#e7298a",
"#07004D",
"#E6AB02",
"#FE5F55",
"#54494B",
"#006E90",
"#BC96E6",
"#52050A",
"#1F271B",
"#BE7C4D",
"#63768D",
"#08A045",
"#320A28",
"#82FF9E",
"#2176FF",
"#D1603D",
"#585123",
],
) -> Figure:
"""Create time-dependent Lift Curve."""

fig = _create_rtichoke_plotly_curve_times(
probs,
reals,
times,
fixed_time_horizons=fixed_time_horizons,
heuristics_sets=heuristics_sets,
by=by,
stratified_by=stratified_by,
size=size,
color_values=color_values,
curve="precision recall",
)

return fig
56 changes: 56 additions & 0 deletions src/rtichoke/discrimination/roc.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from typing import Dict, List, Union, Sequence
from plotly.graph_objs._figure import Figure
from rtichoke.helpers.plotly_helper_functions import (
_create_rtichoke_plotly_curve_times,
_create_rtichoke_plotly_curve_binary,
_plot_rtichoke_curve_binary,
)
Expand Down Expand Up @@ -124,3 +125,58 @@ def plot_roc_curve(
)

return fig


def create_roc_curve_times(
probs: Dict[str, np.ndarray],
reals: Union[np.ndarray, Dict[str, np.ndarray]],
times: Union[np.ndarray, Dict[str, np.ndarray]],
fixed_time_horizons: list[float],
heuristics_sets: list[Dict] = [
{
"censoring_heuristic": "adjusted",
"competing_heuristic": "adjusted_as_negative",
}
],
by: float = 0.01,
stratified_by: Sequence[str] = ["probability_threshold"],
size: int = 600,
color_values: List[str] = [
"#1b9e77",
"#d95f02",
"#7570b3",
"#e7298a",
"#07004D",
"#E6AB02",
"#FE5F55",
"#54494B",
"#006E90",
"#BC96E6",
"#52050A",
"#1F271B",
"#BE7C4D",
"#63768D",
"#08A045",
"#320A28",
"#82FF9E",
"#2176FF",
"#D1603D",
"#585123",
],
) -> Figure:
"""Create time-dependent Lift Curve."""

fig = _create_rtichoke_plotly_curve_times(
probs,
reals,
times,
fixed_time_horizons=fixed_time_horizons,
heuristics_sets=heuristics_sets,
by=by,
stratified_by=stratified_by,
size=size,
color_values=color_values,
curve="roc",
)

return fig
Loading