This repository provides two things:
- a package for the programming Julia
- a stand-alone, fully featured program IteridenseClustering written in Lazarus
Both allow you to cluster any data using the clustering algorithms Iteridense, DBSCAN and k-Means.
For a brief description and discussion of the Iteridense clustering algorithm, see this PDF.
-
Install the scientific programming language Julia
-
Install the program VS Code (under Linux's AUR it is called Code - OSS)
-
In VS Code, install the Extension 'Julia'
-
In VS Code go to the menu File→Preferences→Settings and search there for 'Julia: num Threads'. Then click in the search result at 'Edit in settings.json' and change the line
"julia.NumThreads": 1,
to
"julia.NumThreads": "auto",
and press Ctrl+S to save the change. Eventually restart VS Code.
-
Open the script file Iteridense-Clustering.jl with VS Code and there trust the source when you are asked for this. Then step through the file by executing the difference code pieces by setting the cursor into the code and pressing Ctrl+Return. Note that you must execute all commands from top to bottom of the script as every command depends on the ones above. On the first execution of the script you must uncomment 1 line at the top of the script to install packages to Julia.
-
As described in Iteridense-Clustering.jl you can easily cluster any data. It only has to be available as a CSV file in this format.
- Download the latest release of the IteridenseClustering.zip
- Extract the ZIP and there in the folder bin start the IteridenseClustering.exe (no installation or admin permissions are required)
- In the program click the button to open a CSV data file
- Perform the clustering as you wish
- Save the result either the plot or as CSV. The CSV is hereby the input file plus an additional colum with the assignments to the clusters.
- The CSV data file must have exactly one header line (it can have comment lines, comments must begin with a '#')
- Every column represents a data dimension
- The CSV can have any column delimiter character (IteridenseClustering detects it automatically)
- Install the Lazarus IDE
- Get the latest source code release
- Open the file IteridenseClustering.lpi in Lazarus
- Build the Lazarus project
The folder src contains the Julia module IteridenseLibrary.jl.
The folder IteridenseCLib contains the Julia module in a version that can be compiled as a C-library. That library can be used e.g. as DLL for any program that can read C-compatible libraries. The release ZIP file contains a precompiled version as DLL for Windows (filename IteridenseCLib.dll).
The folder IteridenseClustering contains the program IteridenseClustering. This program uses the IteridenseCLib library. The release ZIP contains a compiled version for Windows as executable. I effect IteridenseClustering is the Iteridense Julia package plus a graphical uiser interface (GUI).
The folder examples contains the example Julia script Iteridense-Clustering.jl that uses the Iteridense Julia package. It also contains some datasets as CSV to test and play with the clustering.