/Constellation-clustering

CS 229 Project for constellation clustering

Primary LanguagePython

Constellation-clustering

CS 229 Project for constellation clustering. It contains a command version and a GUI version.

Author: Kaifeng Chen, kfrancischen@gmail.com.

List of files:

  1. dataProcessing.py: function for database processing
  2. algorithms.py: script containing all the algorithm classes.
  3. basicFun.py: script including all the basic and commonly used functions.
  4. visualization.py: script of doing 3D visualization.
  5. clustering.py: main script of runing the proper algorithm and generate figure.
  6. database.json: database for stars.
  7. GUI.ui: GUI designed by Qt Designer.
  8. GUI.py: Python GUI file generated by pyuic5.
  9. main.py: file implementing the actions and create the application instance.

Running Command Version:

Running Kmeans:

  python clustering.py -a Kmeans k [the k value]

Running DBSCAN:

  python clustering.py -a DBSCAN eps [the eps value] mindist [the mindist value]

Running Hierachical Clustering:

  python clustering.py -a HC n [the n value]

Running Hierachical Clustering (2nd version) to get the dendrogram:

  python clustering.py -a HC_2 default 0

Running Affinity Propagation:

  python clustering.py -a affinity d [the damping factor] mi [the max_iter value]

Running Spectral Clustering:

  python clustering.py -a spectral n [the n value]

Running Rote Classification:

  python clustering.py -a rote default 1

Running GUI Version:

  python main.py

Requirements:

  1. scipy, numpy.
  2. sklearn: package for machine learning.
  3. additional requirement for GUI version: PyQt5.