DBScan

class geoanalytics.clustering.DBScan.DBScan(dataframe)[source]

Bases: object

About this algorithm

Description:

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) is a density-based clustering algorithm. It groups together points that are closely packed together, while marking points that lie alone in low-density regions as outliers. This wrapper supports runtime and memory tracking and allows saving of clustering results.

Parameters:
  • Dataset (pandas DataFrame) must be provided during object initialization.

  • Clustering parameters can be passed to the run method.

Attributes:
  • df (pd.DataFrame) – The input data with ‘x’, ‘y’ coordinates and features.

  • labelsDF (pd.DataFrame) – DataFrame containing ‘x’, ‘y’, and assigned cluster labels.

  • startTime, endTime (float) – Variables to track clustering execution time.

  • memoryUSS, memoryRSS (float) – Memory usage of the clustering process in kilobytes.

Execution methods

Calling from a Python program

import pandas as pd

from geoanalytics.clustering import DBScan

df = pd.read_csv("input.csv")

db = DBScan(df)

labels_df = db.run(ep=50, min_sample=3)

db.getRuntime()
db.getMemoryUSS()
db.getMemoryRSS()

db.save('DBScanLabels.csv')

Credits

This implementation was created by Raashika and revised by M.Charan Teja under the guidance of Professor Rage Uday Kiran.

getMemoryRSS()[source]

Prints the memory usage (RSS) of the process in kilobytes.

getMemoryUSS()[source]

Prints the memory usage (USS) of the process in kilobytes.

getRuntime()[source]

Prints the total runtime of the clustering algorithm.

run(ep=50, min_sample=3)[source]

Executes DBScan clustering algorithm.

Parameters:
  • ep – float, The maximum distance between two samples for one to be considered as in the neighborhood of the other. (default: 50)

  • min_sample – int, The number of samples (or total weight) in a neighborhood for a point to be considered as a core point. (default: 3)

Returns:

labelsDF (pd.DataFrame) with columns [‘x’, ‘y’, ‘labels’]

save(outputFileLabels='DBScanLabels.csv')[source]

Saves the clustering result with labels to a CSV file.

Parameters:

outputFileLabels – str, filename for saving labels (default: ‘DBScanLabels.csv’)