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
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
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