@@ -364,16 +364,16 @@ def test_oneclass_fit_params_is_deprecated():
364
364
365
365
def test_svdd ():
366
366
# Test the output of libsvm for the SVDD problem with default parameters
367
- clf = svm .SVDD (gamma = ' scale' )
367
+ clf = svm .SVDD (gamma = " scale" )
368
368
clf .fit (X )
369
369
pred = clf .predict (T )
370
370
371
371
assert_array_equal (pred , [+ 1 , - 1 , - 1 ])
372
- assert pred .dtype == np .dtype (' intp' )
372
+ assert pred .dtype == np .dtype (" intp" )
373
373
assert_array_almost_equal (clf .intercept_ , [0.2817 ], decimal = 3 )
374
- assert_array_almost_equal (clf . dual_coef_ ,
375
- [[0.7500 , 0.7499 , 0.7499 , 0.7500 ]],
376
- decimal = 3 )
374
+ assert_array_almost_equal (
375
+ clf . dual_coef_ , [[0.7500 , 0.7499 , 0.7499 , 0.7500 ]], decimal = 3
376
+ )
377
377
assert not hasattr (clf , "coef_" )
378
378
379
379
@@ -397,15 +397,15 @@ def test_svdd_decision_function():
397
397
X_outliers = rnd .uniform (low = - 4 , high = 4 , size = (20 , 2 ))
398
398
399
399
# fit the model
400
- clf = svm .SVDD (gamma = ' scale' , nu = 0.1 ,
401
- kernel = "poly" , degree = 2 , coef0 = 1.0 ) .fit (X_train )
400
+ clf = svm .SVDD (gamma = " scale" , nu = 0.1 , kernel = "poly" , degree = 2 , coef0 = 1.0 )
401
+ clf .fit (X_train )
402
402
403
403
# predict and validate things
404
404
y_pred_test = clf .predict (X_test )
405
- assert np .mean (y_pred_test == 1 ) > .9
405
+ assert np .mean (y_pred_test == 1 ) > 0 .9
406
406
407
407
y_pred_outliers = clf .predict (X_outliers )
408
- assert np .mean (y_pred_outliers == - 1 ) > .65
408
+ assert np .mean (y_pred_outliers == - 1 ) > 0 .65
409
409
410
410
dec_func_test = clf .decision_function (X_test )
411
411
assert_array_equal ((dec_func_test > 0 ).ravel (), y_pred_test == 1 )
@@ -436,28 +436,30 @@ def test_svdd_score_samples():
436
436
X_train = np .r_ [X + 2 , X - 2 ]
437
437
438
438
# Evaluate the scores on a small uniform 2-d mesh
439
- xx , yy = np .meshgrid (np .linspace (- 5 , 5 , num = 26 ),
440
- np .linspace (- 5 , 5 , num = 26 ))
439
+ xx , yy = np .meshgrid (np .linspace (- 5 , 5 , num = 26 ), np .linspace (- 5 , 5 , num = 26 ))
441
440
X_test = np .c_ [xx .ravel (), yy .ravel ()]
442
441
443
442
# Fit the model for at least 10% support vectors
444
- clf = svm .SVDD (nu = 0.1 , kernel = "poly" , gamma = ' scale' , degree = 2 , coef0 = 1.0 )
443
+ clf = svm .SVDD (nu = 0.1 , kernel = "poly" , gamma = " scale" , degree = 2 , coef0 = 1.0 )
445
444
clf .fit (X_train )
446
445
447
446
# Check score_samples() implementation
448
- assert_array_almost_equal (clf .score_samples (X_test ),
449
- clf .decision_function (X_test ) + clf .offset_ )
447
+ assert_array_almost_equal (
448
+ clf .score_samples (X_test ), clf .decision_function (X_test ) + clf .offset_
449
+ )
450
450
451
451
# Test the gamma="scale": use .var() for scaling (c.f. issue #12741)
452
452
gamma = 1.0 / (X .shape [1 ] * X_train .var ())
453
453
454
454
assert_almost_equal (clf ._gamma , gamma )
455
455
456
456
# Compute the kernel matrices
457
- k_zx = polynomial_kernel (X_train [clf .support_ ], X_test ,
458
- gamma = gamma , degree = clf .degree , coef0 = clf .coef0 )
459
- k_xx = polynomial_kernel (X_test , gamma = gamma ,
460
- degree = clf .degree , coef0 = clf .coef0 ).diagonal ()
457
+ k_zx = polynomial_kernel (
458
+ X_train [clf .support_ ], X_test , gamma = gamma , degree = clf .degree , coef0 = clf .coef0
459
+ )
460
+ k_xx = polynomial_kernel (
461
+ X_test , gamma = gamma , degree = clf .degree , coef0 = clf .coef0
462
+ ).diagonal ()
461
463
462
464
# Compute the sample scores = decision scores without `-\rho`
463
465
scores_ = np .dot (clf .dual_coef_ , k_zx - k_xx [np .newaxis ] / 2 ).ravel ()
@@ -497,8 +499,7 @@ def test_oneclass_and_svdd():
497
499
assert_array_almost_equal (svdd .intercept_ , svdd_intercept , decimal = 3 )
498
500
499
501
# Evaluate the decision function on a uniformly spaced 2-d mesh
500
- xx , yy = np .meshgrid (np .linspace (- 5 , 5 , num = 101 ),
501
- np .linspace (- 5 , 5 , num = 101 ))
502
+ xx , yy = np .meshgrid (np .linspace (- 5 , 5 , num = 101 ), np .linspace (- 5 , 5 , num = 101 ))
502
503
mesh = np .c_ [xx .ravel (), yy .ravel ()]
503
504
504
505
svdd_df = svdd .decision_function (mesh )
@@ -1114,7 +1115,7 @@ def test_immutable_coef_property():
1114
1115
svm .SVR (kernel = "linear" ).fit (iris .data , iris .target ),
1115
1116
svm .NuSVR (kernel = "linear" ).fit (iris .data , iris .target ),
1116
1117
svm .OneClassSVM (kernel = "linear" ).fit (iris .data ),
1117
- svm .SVDD (kernel = ' linear' ).fit (iris .data ),
1118
+ svm .SVDD (kernel = " linear" ).fit (iris .data ),
1118
1119
]
1119
1120
for clf in svms :
1120
1121
with pytest .raises (AttributeError ):
0 commit comments