[scikit-learn] Fwd: Custom transformer failing check_estimator test

Sam Barnett sambarnett95 at gmail.com
Tue Jul 25 04:41:06 EDT 2017


This is the Traceback I get:


AssertionErrorTraceback (most recent call last)
<ipython-input-5-166b8f0141db> in <module>()
----> 1 check_estimator(OK.Sqizer)

/Users/Sam/anaconda/lib/python2.7/site-packages/sklearn/utils/estimator_
checks.pyc in check_estimator(Estimator)
    253     check_parameters_default_constructible(name, Estimator)
    254     for check in _yield_all_checks(name, Estimator):
--> 255         check(name, Estimator)
    256
    257

/Users/Sam/anaconda/lib/python2.7/site-packages/sklearn/utils/testing.pyc in
wrapper(*args, **kwargs)
    353             with warnings.catch_warnings():
    354                 warnings.simplefilter("ignore", self.category)
--> 355                 return fn(*args, **kwargs)
    356
    357         return wrapper

/Users/Sam/anaconda/lib/python2.7/site-packages/sklearn/utils/estimator_checks.pyc
in check_transformer_general(name, Transformer)
    578     X = StandardScaler().fit_transform(X)
    579     X -= X.min()
--> 580     _check_transformer(name, Transformer, X, y)
    581     _check_transformer(name, Transformer, X.tolist(), y.tolist())
    582

/Users/Sam/anaconda/lib/python2.7/site-packages/sklearn/utils/estimator_checks.pyc
in _check_transformer(name, Transformer, X, y)
    671         if hasattr(X, 'T'):
    672             # If it's not an array, it does not have a 'T' property
--> 673             assert_raises(ValueError, transformer.transform, X.T)
    674
    675

/Users/Sam/anaconda/lib/python2.7/unittest/case.pyc in assertRaises(self,
excClass, callableObj, *args, **kwargs)
    471             return context
    472         with context:
--> 473             callableObj(*args, **kwargs)
    474
    475     def _getAssertEqualityFunc(self, first, second):

/Users/Sam/anaconda/lib/python2.7/unittest/case.pyc in __exit__(self,
exc_type, exc_value, tb)
    114                 exc_name = str(self.expected)
    115             raise self.failureException(
--> 116                 "{0} not raised".format(exc_name))
    117         if not issubclass(exc_type, self.expected):
    118             # let unexpected exceptions pass through

AssertionError: ValueError not raised


On Tue, Jul 25, 2017 at 12:54 AM, Joel Nothman <joel.nothman at gmail.com>
wrote:

> what is the failing test? please provide the full traceback.
>
> On 24 Jul 2017 10:58 pm, "Sam Barnett" <sambarnett95 at gmail.com> wrote:
>
>> Dear scikit-learn developers,
>>
>> I am developing a transformer, named Sqizer, that has the ultimate goal
>> of modifying a kernel for use with the sklearn.svm package. When given
>> an input data array X, Sqizer.transform(X) should have as its output the
>> Gram matrix for X using the modified version of the kernel. Here is the
>> code for the class so far:
>>
>> class Sqizer(BaseEstimator, TransformerMixin):
>>
>>     def __init__(self, C=1.0, kernel='rbf', degree=3, gamma=1,
>>                      coef0=0.0, cut_ord_pair=(2,1)):
>>             self.C = C
>>             self.kernel = kernel
>>             self.degree = degree
>>             self.gamma = gamma
>>             self.coef0 = coef0
>>             self.cut_ord_pair = cut_ord_pair
>>
>>     def fit(self, X, y=None):
>>         # Check that X and y have correct shape
>>         X, y = check_X_y(X, y)
>>         # Store the classes seen during fit
>>         self.classes_ = unique_labels(y)
>>
>>         self.X_ = X
>>         self.y_ = y
>>         return self
>>
>>     def transform(self, X):
>>
>>         X = check_array(X, warn_on_dtype=True)
>>
>>         """Returns Gram matrix corresponding to X, once sqized."""
>>         def kPolynom(x,y):
>>             return (self.coef0+self.gamma*np.inner(x,y))**self.degree
>>         def kGauss(x,y):
>>             return np.exp(-self.gamma*np.sum(np.square(x-y)))
>>         def kLinear(x,y):
>>             return np.inner(x,y)
>>         def kSigmoid(x,y):
>>             return np.tanh(self.gamma*np.inner(x,y) +self.coef0)
>>
>>         def kernselect(kername):
>>             switcher = {
>>                 'linear': kPolynom,
>>                 'rbf': kGauss,
>>                 'sigmoid': kLinear,
>>                 'poly': kSigmoid,
>>                     }
>>             return switcher.get(kername, "nothing")
>>
>>         cut_off = self.cut_ord_pair[0]
>>         order = self.cut_ord_pair[1]
>>
>>         from SeqKernel import hiSeqKernEval
>>
>>         def getGram(Y):
>>             gram_matrix = np.zeros((Y.
>>
>> ...
>
> [Message clipped]
> _______________________________________________
> scikit-learn mailing list
> scikit-learn at python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-learn/attachments/20170725/728ecf53/attachment-0001.html>


More information about the scikit-learn mailing list