@@ -97,7 +97,30 @@ class SSPOC(BaseEstimator):
9797
9898 Examples
9999 --------
100- TODO
100+ >>> from sklearn.metrics import accuracy_score
101+ >>> from sklearn.datasets import make_classification
102+ >>> from pysensors.classification import SSPOC
103+ >>>
104+ >>> x, y = make_classification(n_classes=3, n_informative=3, random_state=10)
105+ >>>
106+ >>> model = SSPOC(n_sensors=10, l1_penalty=0.03)
107+ >>> model.fit(x, y, quiet=True)
108+ SSPOC(basis=Identity(n_basis_modes=100),
109+ classifier=LinearDiscriminantAnalysis(), l1_penalty=0.03, n_sensors=10)
110+ >>> print(model.selected_sensors)
111+ [10 13 6 19 17 16 15 14 12 11]
112+ >>>
113+ >>> acc = accuracy_score(y, model.predict(x[:, model.selected_sensors]))
114+ >>> print("Accuracy:", acc)
115+ Accuracy: 0.66
116+ >>>
117+ >>> model.update_sensors(n_sensors=5, xy=(x, y), quiet=True)
118+ >>> print(model.selected_sensors)
119+ [10 13 6 19 17]
120+ >>>
121+ >>> acc = accuracy_score(y, model.predict(x[:, model.selected_sensors]))
122+ >>> print("Accuracy:", acc)
123+ Accuracy: 0.6
101124 """
102125
103126 def __init__ (
@@ -120,13 +143,7 @@ def __init__(
120143 self .n_basis_modes = None
121144
122145 def fit (
123- self ,
124- x ,
125- y ,
126- quiet = False ,
127- prefit_basis = False ,
128- refit = True ,
129- ** optimizer_kws ,
146+ self , x , y , quiet = False , prefit_basis = False , refit = True , ** optimizer_kws ,
130147 ):
131148 """
132149 Fit the SSPOC model, determining which sensors are relevant.
@@ -327,8 +344,7 @@ def update_sensors(
327344 )
328345 if (
329346 method (
330- np .abs (self .sensor_coef_ [sorted_sensors [- 1 ], :]),
331- ** method_kws ,
347+ np .abs (self .sensor_coef_ [sorted_sensors [- 1 ], :]), ** method_kws ,
332348 )
333349 == 0
334350 and warn
0 commit comments