Вот прямая цитата из официального документа Scikit-Learn для GaussianRandomProjection
в его параметре n_components
:
Размерность целевого проекционного пространства.
n_components могут быть автоматически настроены в зависимости от количества
образцы в наборе данных и границы, заданной
Лемма Джонсона-Линденштраусса. В этом случае качество вложения
контролируется параметром eps.
Следует отметить, что лемма Джонсона-Линденштраусса может дать очень
консервативная оценка необходимого количества компонентов, так как
не делает никаких предположений о структуре набора данных.
Похоже, что в вашем случае оценщик имеет тенденцию давать 6323-мерную прогнозируемую цель после "уменьшения" размерности. Это, очевидно, неожиданно, потому что вы хотели уменьшить измерение, а не увеличивать его. Я предлагаю вам сначала предположить размерность (т. Е. 8) желаемого результата, а затем проверить, работает ли модель ожидаемым образом.
transformer = GaussianRandomProjection(n_components=8) #Set your desired dimension of the output
X_new = transformer.fit_transform(wine_data.values[:, :11])
Удачи