make_reduction.py 782 B

1234567891011121314151617181920212223242526272829
  1. import os
  2. import numpy as np
  3. from typing import Any, List
  4. from sklearn.decomposition import PCA
  5. def main(args: Any):
  6. vectors: np.array = np.load(args.vectors_npy)
  7. pca: PCA = PCA(n_components=3)
  8. vectors: np.array = pca.fit_transform(vectors)
  9. filename: str = os.path.basename(args.vectors_npy)
  10. name_pieces: List[str] = filename.split('.')
  11. name_pieces[0] = f'{name_pieces[0]}-pca'
  12. filename = '.'.join(name_pieces)
  13. dirname: str = os.path.dirname(args.vectors_npy)
  14. np.save(os.path.join(dirname, filename), vectors)
  15. if __name__ == "__main__":
  16. import argparse
  17. parser = argparse.ArgumentParser()
  18. parser.add_argument('vectors_npy', type=str, help='path to trained word2vec vectors.')
  19. args: Any = parser.parse_args()
  20. main(args)