@@ -196,3 +196,25 @@ def logistic_model_function(predicted_probabilities, coefs):
196196 model_sklearnex .predict_proba (X ), model_sklearnex .coef_
197197 )
198198 assert fn_sklearnex <= fn_sklearn
199+
200+
201+ @pytest .mark .parametrize (
202+ "dataframe,queue" , get_dataframes_and_queues (device_filter_ = "gpu" )
203+ )
204+ def test_gpu_logreg_prediction_shapes (dataframe , queue ):
205+ if not queue or not queue .sycl_device .is_gpu :
206+ pytest .skip ("Test for GPU-only code branch" )
207+ from sklearnex .linear_model import LogisticRegression
208+
209+ X , y = make_classification (random_state = 123 )
210+ X = _convert_to_dataframe (X , sycl_queue = queue , target_df = dataframe )
211+ y = _convert_to_dataframe (y , sycl_queue = queue , target_df = dataframe )
212+
213+ model = LogisticRegression (solver = "newton-cg" ).fit (X , y )
214+ pred = model .predict (X )
215+ pred_proba = model .predict_proba (X )
216+ pred_log_proba = model .predict_log_proba (X )
217+
218+ np .testing .assert_array_equal (pred .shape , (X .shape [0 ],))
219+ np .testing .assert_array_equal (pred_proba .shape , (X .shape [0 ], 2 ))
220+ np .testing .assert_array_equal (pred_log_proba .shape , (X .shape [0 ], 2 ))
0 commit comments