How to do DBSCAN based Clustering in Python?
0

How to do DBSCAN based Clustering in Python?

This recipe helps you do DBSCAN based Clustering in Python
In [2]:
## How to do DBSCAN based Clustering in Python
def Snippet_159():
    print()
    print(format('How to do DBSCAN based Clustering in Python','*^82'))

    import warnings
    warnings.filterwarnings("ignore")

    # load libraries
    from sklearn import datasets
    from sklearn.preprocessing import StandardScaler
    from sklearn.cluster import DBSCAN
    import pandas as pd
    import seaborn as sns
    import matplotlib.pyplot as plt

    # Load data
    iris = datasets.load_iris()
    X = iris.data; data = pd.DataFrame(X)
    cor = data.corr()

    fig = plt.figure(figsize=(10,10))
    sns.heatmap(cor, square = True); plt.show()

    # Standarize features
    scaler = StandardScaler()
    X_std = scaler.fit_transform(X)

    # Conduct DBSCAN Clustering
    clt = DBSCAN()

    # Train model
    model = clt.fit(X_std)

    # Predict clusters
    clusters = pd.DataFrame(model.fit_predict(X_std))
    data['Cluster'] = clusters

    # Visualise cluster membership
    fig = plt.figure(figsize=(10,10)); ax = fig.add_subplot(111)
    scatter = ax.scatter(data[0],data[1], c=data['Cluster'],s=50)
    ax.set_title('DBSCAN Clustering')
    ax.set_xlabel('X0'); ax.set_ylabel('X1')
    plt.colorbar(scatter); plt.show()

Snippet_159()
*******************How to do DBSCAN based Clustering in Python********************