Как использовать scikit Learn inverse_transform с новыми значениямиPython

Программы на Python
Ответить
Anonymous
 Как использовать scikit Learn inverse_transform с новыми значениями

Сообщение Anonymous »

У меня есть набор данных, которые я использовал scikit Learn PCA. Я масштабировал данные перед выполнением PCA с помощью StandardScaler().

Код: Выделить всё

variance_to_retain = 0.99
np_scaled = StandardScaler().fit_transform(df_data)
pca = PCA(n_components=variance_to_retain)
np_pca = pca.fit_transform(np_scaled)

# make dataframe of scaled data
# put column names on scaled data for use later
df_scaled = pd.DataFrame(np_scaled, columns=df_data.columns)
num_components = len(pca.explained_variance_ratio_)
cum_variance_explained = np.cumsum(pca.explained_variance_ratio_)

eigenvalues = pca.explained_variance_
eigenvectors = pca.components_
Затем я запустил кластеризацию K-Means на масштабированном наборе данных. Я прекрасно могу построить центры кластеров в масштабированном пространстве.

Мой вопрос: как мне преобразовать расположение центров обратно в исходное пространство данных. Я знаю, что StandardScaler.fit_transform() заставляет данные иметь нулевое среднее значение и единичную дисперсию. Но с новыми точками формы (num_clusters, num_features) могу ли я использовать inverse_transform(centers), чтобы преобразовать центры обратно в диапазон и смещение исходных данных?

Спасибо, Дэвид


Подробнее здесь: https://stackoverflow.com/questions/498 ... new-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»