Skip to content

Commit

Permalink
add DOI badge in README
Browse files Browse the repository at this point in the history
  • Loading branch information
AugustoCL committed Oct 27, 2021
1 parent 49de003 commit cab9759
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 10 deletions.
3 changes: 1 addition & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,17 @@ authors = ["AugustoCL <[email protected]>", "Elias Carvalho <eliascarvdev@
version = "0.1.0"

[deps]
DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
NearestNeighbors = "b8a86587-4115-5ab1-83bc-aa920d37bbce"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"

[compat]
julia = "1.6"
LinearAlgebra = "1.6"
NearestNeighbors = "0.4.9"
Statistics = "1.4.0"
Tables = "1.6.0"
julia = "1.6"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://AugustoCL.github.io/ClusterAnalysis.jl/dev)
[![Build Status](https://github.com/AugustoCL/ClusterAnalysis.jl/workflows/CI/badge.svg)](https://github.com/AugustoCL/ClusterAnalysis.jl/actions)
[![Coverage](https://codecov.io/gh/AugustoCL/ClusterAnalysis.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/AugustoCL/ClusterAnalysis.jl)
[![DOI](https://zenodo.org/badge/390558951.svg)](https://zenodo.org/badge/latestdoi/390558951)


<img src="docs/src/plot_dbscan.png" width="70%">
Expand Down
18 changes: 10 additions & 8 deletions docs/src/algorithms/dbscan.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ In a certain way, the algorith try mimic the human hability of recognize groups

**Figure 01** - Spatial Data example from the [First Paper](https://www.aaai.org/Papers/KDD/1996/KDD96-037.pdf) of DBSCAN
```@raw html
<img src="../spatial_data.png" width="70%">
<img src="../spatial_data.png" width="75%">
```

This way we could identify points inside a density/cluster and points which isn't in any density cluster, called noises.
Expand All @@ -29,19 +29,21 @@ Because touchs at least one labelled point, which will also be labelled as the p
**Figure 02** - Ilustration of DBSCAN from [this Paper](https://www.ccs.neu.edu/home/vip/teach/DMcourse/2_cluster_EM_mixt/notes_slides/revisitofrevisitDBSCAN.pdf)
```@raw html
<img src="../DBSCAN_ilustration.png" width="50%">
<img src="../DBSCAN_ilustration.png" width="75%">
```

## Pseudocode
We got inspired by this pseudo-code presented in the Paper "[DBSCAN Revisited](https://www.ccs.neu.edu/home/vip/teach/DMcourse/2_cluster_EM_mixt/notes_slides/revisitofrevisitDBSCAN.pdf)". Here, the reader could get a overview of the steps of the code.

```@raw html
<img src="../pseudo_code.png" width="50%">
<img src="../pseudo_code.png" width="75%">
```

## A cool visualization that explain the algorithm
Now, I need to share with the world this amazing website created by [Naftali Harris](https://www.naftaliharris.com/), from this detailed [post](https://www.naftaliharris.com/blog/visualizing-dbscan-clustering/) about DBSCAN. I crop a gif from this interactive visualization because this way I hope would be easier for the reader connect all the information broughted above.
<img src="../dbscan_video.gif" width="50%">
```@raw html
<img src="../dbscan_video.gif" width="75%">
```

## Benchmarking code
```julia
Expand All @@ -60,17 +62,17 @@ min_pts = 10;
@benchmark m = dbscan(X, ϵ, min_pts)
```
```@raw html
<img src="../benchmark_dbscan.png" width="70%">
<img src="../benchmark_dbscan.png" width="75%">
```

**Scikit-Learn with C in backend**
```@raw html
<img src="../benchmark_sklearn_dbscan.png" width="70%">
<img src="../benchmark_sklearn_dbscan.png" width="75%">
```

**R with C++ in backend**
```@raw html
<img src="../benchmark_R_dbscan.png" width="70%">
<img src="../benchmark_R_dbscan.png" width="75%">
```

Machine settings used in benchmarking
Expand All @@ -89,7 +91,7 @@ scatter(X[:,1], X[:,2], zcolor=m.labels,
title="DBSCAN prediction\n(ϵ=$(ϵ), minPts=$(min_pts))")
```
```@raw html
<img src="../plot_dbscan.png" width="70%">
<img src="../plot_dbscan.png" width="75%">
```

## DBSCAN Struct
Expand Down

0 comments on commit cab9759

Please sign in to comment.