Exemple #1
0
    def fit(self, X, y=None):
        self._transformer = skdata.PolynomialFeatures()
        X_sample = X
        if isinstance(X, dd.DataFrame):
            X_sample = X._meta_nonempty
        if isinstance(X, da.Array):
            X_sample = np.ones((1, X.shape[1]), dtype=X.dtype)

        # pandas dataframe treated by sklearn and returns np.array
        self._transformer.fit(X_sample)
        copy_learned_attributes(self._transformer, self)
        return self
Exemple #2
0
    def fit(
        self,
        X: Union[ArrayLike, DataFrameType],
        y: Optional[Union[ArrayLike, SeriesType]] = None,
    ) -> "PolynomialFeatures":
        self._transformer = sklearn.preprocessing.PolynomialFeatures(
            degree=self.degree,
            interaction_only=self.interaction_only,
            include_bias=self.include_bias,
        )
        X = self._validate_data(
            X,
            estimator=self,
            accept_dask_array=True,
            accept_dask_dataframe=True,
            accept_unknown_chunks=True,
            preserve_pandas_dataframe=True,
        )

        if isinstance(self.degree, numbers.Integral):
            if self.degree < 0:
                raise ValueError(
                    f"degree must be a non-negative integer, got {self.degree}."
                )
            self._min_degree = 0
            self._max_degree = self.degree
        elif (isinstance(self.degree, collections.abc.Iterable)
              and len(self.degree) == 2):
            self._min_degree, self._max_degree = self.degree
            if not (isinstance(self._min_degree, numbers.Integral)
                    and isinstance(self._max_degree, numbers.Integral)
                    and self._min_degree >= 0
                    and self._min_degree <= self._max_degree):
                raise ValueError("degree=(min_degree, max_degree) must "
                                 "be non-negative integers that fulfil "
                                 "min_degree <= max_degree, got "
                                 f"{self.degree}.")
        else:
            raise ValueError("degree must be a non-negative int or tuple "
                             "(min_degree, max_degree), got "
                             f"{self.degree}.")

        X_sample = X
        if isinstance(X, dd.DataFrame):
            X_sample = X._meta_nonempty
        if isinstance(X, da.Array):
            X_sample = np.ones((1, X.shape[1]), dtype=X.dtype)

        # pandas dataframe treated by sklearn and returns np.array
        self._transformer.fit(X_sample)
        copy_learned_attributes(self._transformer, self)
        return self
Exemple #3
0
    def fit(self, X, y=None):
        self._transformer = sklearn.preprocessing.PolynomialFeatures(
            degree=self.degree,
            interaction_only=self.interaction_only,
            include_bias=self.include_bias,
        )
        X_sample = X
        if isinstance(X, dd.DataFrame):
            X_sample = X._meta_nonempty
        if isinstance(X, da.Array):
            X_sample = np.ones((1, X.shape[1]), dtype=X.dtype)

        # pandas dataframe treated by sklearn and returns np.array
        self._transformer.fit(X_sample)
        copy_learned_attributes(self._transformer, self)
        return self