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

Joel Nothman joel.nothman at gmail.com
Mon Jul 24 19:54:32 EDT 2017


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.shape[0], Y.shape[0]))
>             for row1ind in range(Y.shape[0]):
>                 for row2ind in range
>
>
> _______________________________________________
> 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/c008ca2b/attachment-0001.html>


More information about the scikit-learn mailing list