Сначала вы импортируете from sklearn.decomposition import PCA
, а затем используете то же имя для своей функции def PCA
Так что в следующий раз, когда вы вызовете функцию, она будет вызывать вашу функцию не из scikit-learn
function.
Таким образом, в основном pca = PCA(n_components=2)
ожидает аргументы X и Y, по которым вы передаете n_components
.
Решение :
Изменитьназвание вашей функции и оно должно работать:
def PCA_2(X,Y):
pca = PCA(n_components=2)
X = pca.fit_transform(X)
plot_2d_space(X, Y, 'Imbalanced dataset (2 PCA components)')