Class PCA (0.2.0)

PCA(n_components=3)

Principal component analysis (PCA).

Linear dimensionality reduction using Singular Value Decomposition of the data to project it to a lower dimensional space. The input data is centered but not scaled for each feature before applying the SVD.

It uses the LAPACK implementation of the full SVD or a randomized truncated SVD by the method of Halko et al. 2009, depending on the shape of the input data and the number of components to extract.

It can also use the scipy.sparse.linalg ARPACK implementation of the truncated SVD.

Parameter

NameDescription
n_components Optional[int], default 3

Number of components to keep. if n_components is not set all components are kept.

Properties

components_

Principal axes in feature space, representing the directions of maximum variance in the data.

Returns
TypeDescription
bigframes.dataframe.DataFrameDataFrame of principal components, containing following columns: principal_component_id: An integer that identifies the principal component. feature: The column name that contains the feature. numerical_value: If feature is numeric, the value of feature for the principal component that principal_component_id identifies. If feature isn't numeric, the value is NULL. categorical_value: An list of mappings containing information about categorical features. Each mapping contains the following fields: categorical_value.category: The name of each category. categorical_value.value: The value of categorical_value.category for the centroid that centroid_id identifies. The output contains one row per feature per component.

explained_variance_

The amount of variance explained by each of the selected components.

Returns
TypeDescription
bigframes.dataframe.DataFrameDataFrame containing following columns: principal_component_id: An integer that identifies the principal component. explained_variance: The factor by which the eigenvector is scaled. Eigenvalue and explained variance are the same concepts in PCA.

explained_variance_ratio_

Percentage of variance explained by each of the selected components.

Returns
TypeDescription
bigframes.dataframe.DataFrameDataFrame containing following columns: principal_component_id: An integer that identifies the principal component. explained_variance_ratio: the total variance is the sum of variances, also known as eigenvalues, of all of the individual principal components. The explained variance ratio by a principal component is the ratio between the variance, also known as eigenvalue, of that principal component and the total variance.

Methods

__repr__

__repr__()

Print the estimator's constructor with all non-default parameter values

fit

fit(
    X: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series],
    y=None,
    transforms: typing.Optional[typing.List[str]] = None,
) -> bigframes.ml.decomposition.PCA

Fit the model according to the given training data.

Parameters
NameDescription
X bigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples, n_features). Training vector, where n_samples is the number of samples and n_features is the number of features.

y default None

Ignored.

transforms Optional[List[str]], default None

Do not use. Internal param to be deprecated. Use bigframes.ml.pipeline instead.

Returns
TypeDescription
PCAFitted estimator.

get_params

get_params(deep: bool = True) -> typing.Dict[str, typing.Any]

Get parameters for this estimator.

Parameter
NameDescription
deep bool, default True

Default True. If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns
TypeDescription
DictionaryA dictionary of parameter names mapped to their values.

predict

predict(
    X: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series]
) -> bigframes.dataframe.DataFrame

Predict the closest cluster for each sample in X.

Parameter
NameDescription
X bigframes.dataframe.DataFrame or bigframes.series.Series

Series or a DataFrame to predict.

Returns
TypeDescription
bigframes.dataframe.DataFramepredicted DataFrames.

register

register(vertex_ai_model_id: typing.Optional[str] = None) -> bigframes.ml.base._T

Register the model to Vertex AI.

After register, go to https://console.cloud.google.com/vertex-ai/models to manage the model registries. Refer to https://cloud.google.com/vertex-ai/docs/model-registry/introduction for more options.

Parameter
NameDescription
vertex_ai_model_id Optional[str], default None

optional string id as model id in Vertex. If not set, will by default to 'bigframes_{bq_model_id}'. Vertex Ai model id will be truncated to 63 characters due to its limitation.

score

score(X=None, y=None) -> bigframes.dataframe.DataFrame

Return the metrics of the model.

Parameters
NameDescription
X default None

Ignored.

y default None

Ignored.

Returns
TypeDescription
bigframes.dataframe.DataFrameDataFrame that represents model metrics.

to_gbq

to_gbq(model_name: str, replace: bool = False) -> bigframes.ml.decomposition.PCA

Save the model to BigQuery.

Parameters
NameDescription
model_name str

the name of the model.

replace bool, default False

whether to replace if the model already exists. Default to False.

Returns
TypeDescription
PCAsaved model.