Skip to content

Commit

Permalink
fixed pca problem
Browse files Browse the repository at this point in the history
  • Loading branch information
Ramana-Raja committed Mar 2, 2025
1 parent cf5dc50 commit ba2e7d2
Showing 1 changed file with 5 additions and 15 deletions.
20 changes: 5 additions & 15 deletions aeon/clustering/feature_based/_r_cluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -417,12 +417,10 @@ def _fit(self, X, y=None):
pca = PCA().fit(X_std)
optimal_dimensions = np.argmax(pca.explained_variance_ratio_ < 0.01)

self.optimal_dimensions = max(
1, min(optimal_dimensions, X_std.shape[0], X_std.shape[1])
)
self.x_test = X
pca = PCA(n_components=optimal_dimensions, random_state=self.random_state)
transformed_data_pca = pca.fit_transform(X_std)
self.pca = PCA(n_components=optimal_dimensions, random_state=self.random_state)
self.pca.fit(X_std)
transformed_data_pca = self.pca.transform(X_std)

self.estimator = KMeans(
n_clusters=self.n_clusters,
random_state=self.random_state,
Expand All @@ -436,12 +434,7 @@ def _predict(self, X, y=None) -> np.ndarray:

transformed_data = self._get_transformed_data(X=X, parameters=parameters)
X_std = self.scaler.fit_transform(transformed_data)
if self.optimal_dimensions > max(1, min(X_std.shape[0], X_std.shape[1])):
raise ValueError(
f"fitted x={self.x_test} must be between 0 and " f"sample x ={X}"
)
pca = PCA(n_components=self.optimal_dimensions, random_state=self.random_state)
transformed_data_pca = pca.fit_transform(X_std)
transformed_data_pca = self.pca.transform(X_std)

return self.estimator.predict(transformed_data_pca)

Expand All @@ -454,9 +447,6 @@ def _fit_predict(self, X, y=None) -> np.ndarray:
pca = PCA().fit(X_std)
optimal_dimensions = np.argmax(pca.explained_variance_ratio_ < 0.01)

optimal_dimensions = max(
1, min(optimal_dimensions, X_std.shape[0], X_std.shape[1])
)
pca = PCA(n_components=optimal_dimensions, random_state=self.random_state)
transformed_data_pca = pca.fit_transform(X_std)
self.estimator = KMeans(
Expand Down

0 comments on commit ba2e7d2

Please sign in to comment.