Я использую TSNE или PCA для уменьшения размерности до двух признаков. Мой исходный фрейм данных имеет дату в качестве индекса. Мне интересно, изменит ли порядок строк после fit_transform() с использованием tsne или PCA. или это предполагает случайную выборку в TSNE или PCA? Мне нравится включать информацию о дате обратно в преобразованный массив, поэтому необходимо убедиться, что порядок строк остается прежним после fit_transform().
if 'tsne' in pca_method.lower():
Xemb = TSNE(n_components=2, init='pca', perplexity=perplexity, max_iter=max_iter).fit_transform(df_1.values)
print('shape of Xemb=',Xemb.shape)
xMin, xMax = np.min(Xemb, axis=0), np.max(Xemb, axis=0)
Xemb = (Xemb - xMin) / (xMax - xMin)
pca=None
elif 'pca' in pca_method.lower():
pca = PCA(n_components=2)
Xemb = pca.fit_transform(df_1.values)
#put the date back to dateframe for plotting purpose
df_pca=pd.DataFrame({'Date':df_1.index,'PCA_1':Xemb[:,0],'PCA_2':Xemb[:,1],}).set_index('Date')
Подробнее здесь: https://stackoverflow.com/questions/790 ... -dataframe