Skip to main content

Reasearch project on clustering clients from transaction history

Project description

Name of the module stands for geographical transactions clustering. This module is an implementation of the method, developed for the third course project in HSE University. It takes dataframe with clients transactions history of the specified format and returns list of clusters.

For the record, it was intended to be for public usage in this form, as it is a research project seeking to find a way to deal with the described problem

Installation

Run the following to install:

‘’’python

pip install geot_cluster’’’

Usage

Before using make sure, that your dataset corresponds with requirements. Csv file must contain the following columns in order to work correctly

  • user_id : string type, example: “423156821”

  • event_dt : string type, example: “20190312”

  • event_time: string type, example: “2019-03-12 06:24:00.279”

  • lattitude : float type, example: 49.862621

  • longtitude: see lattitude

Workflow:

import geot_cluster

import markov_clustering as mc
import matplotlib.pyplot as plt
import networkx as nx


path = [path to file with data]
data, names = geot_cluster.data_load(path)


%matplotlib notebook
base = [path to the folder, where to store libs with information about clients]

archivate = True
libs= True
graph_f = True
cluster_f = True


if(archivate):
    geot_cluster.archivate_maps(data, names, levels=4)

if(libs):
    lib = geot_cluster.graph_preparation(data, names, base)
    prob_lib = geot_cluster.znakomstvo_by_lib(lib,data)

lib, prob_lib = load_libs(base = base)

if(graph_f):
    graph = geot_cluster.graph_forming(lib, prob_lib, treshold=0.9)

if(cluster_f):
    result = mc.run_mcl(graph,pruning_threshold=0.7, inflation=2,expansion=2)
    clusters = mc.get_clusters(result)

    clust_0 = clusters_to_ids(lib=lib, prob_lib=prob_lib, clusters = clusters, number = 0)
    maps = get_cluster_maps(data = data, clust = clust_0)
    print("Number of clusters", len(clusters))

    plt.figure(figsize=(10,10))
    mc.drawing.draw_graph(result, clusters, edge_color="red",node_size=15,width = 1, with_labels=True, font_size = 8)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geot_cluster-0.9.29.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geot_cluster-0.9.29-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file geot_cluster-0.9.29.tar.gz.

File metadata

  • Download URL: geot_cluster-0.9.29.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/2.7.17

File hashes

Hashes for geot_cluster-0.9.29.tar.gz
Algorithm Hash digest
SHA256 fb30e99295f0493cf082a0bdc6542cc8ea1a3f7ff7fed9c214c8ca5cf3f60b95
MD5 65f03b5b707f0e5fdccf5df738eec7f1
BLAKE2b-256 027fa91d4590adbbe5aeda042b6c006f40f61ac57e35c3dcfc4e7b36b7fa2189

See more details on using hashes here.

File details

Details for the file geot_cluster-0.9.29-py3-none-any.whl.

File metadata

  • Download URL: geot_cluster-0.9.29-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/2.7.17

File hashes

Hashes for geot_cluster-0.9.29-py3-none-any.whl
Algorithm Hash digest
SHA256 60463bcd72bd13a4ba2606e223c7532a6a12d86bab7bab1c71740963c119bfee
MD5 f383cd2fb7840d0be689c63072a753e0
BLAKE2b-256 c44d2592f508cef27840a42fa0d68bc31febbf2f7825f61c29daba359daaed68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page