plt.figure(figsize
=
(
10
,
7
))
G
=
gridspec.GridSpec(
2
,
3
)
ax1
=
plt.subplot(G[
0
, :])
ax2
=
plt.subplot(G[
1
,
0
])
ax3
=
plt.subplot(G[
1
,
1
])
ax4
=
plt.subplot(G[
1
,
2
])
colors
=
[
'c.'
,
'b.'
,
'r.'
,
'y.'
,
'g.'
]
for
Class, colour
in
zip
(
range
(
0
,
5
), colors):
Xk
=
space[labels
=
=
Class]
Rk
=
reachability[labels
=
=
Class]
ax1.plot(Xk, Rk, colour, alpha
=
0.3
)
ax1.plot(space[labels
=
=
-
1
], reachability[labels
=
=
-
1
],
'k.'
, alpha
=
0.3
)
ax1.plot(space, np.full_like(space,
2.
, dtype
=
float
),
'k-'
, alpha
=
0.5
)
ax1.plot(space, np.full_like(space,
0.5
, dtype
=
float
),
'k-.'
, alpha
=
0.5
)
ax1.set_ylabel(
'Reachability Distance'
)
ax1.set_title(
'Reachability Plot'
)
colors
=
[
'c.'
,
'b.'
,
'r.'
,
'y.'
,
'g.'
]
for
Class, colour
in
zip
(
range
(
0
,
5
), colors):
Xk
=
X_normalized[optics_model.labels_
=
=
Class]
ax2.plot(Xk.iloc[:,
0
], Xk.iloc[:,
1
], colour, alpha
=
0.3
)
ax2.plot(X_normalized.iloc[optics_model.labels_
=
=
-
1
,
0
],
X_normalized.iloc[optics_model.labels_
=
=
-
1
,
1
],
'k+'
, alpha
=
0.1
)
ax2.set_title(
'OPTICS Clustering'
)
colors
=
[
'c'
,
'b'
,
'r'
,
'y'
,
'g'
,
'greenyellow'
]
for
Class, colour
in
zip
(
range
(
0
,
6
), colors):
Xk
=
X_normalized[labels1
=
=
Class]
ax3.plot(Xk.iloc[:,
0
], Xk.iloc[:,
1
], colour, alpha
=
0.3
, marker
=
'.'
)
ax3.plot(X_normalized.iloc[labels1
=
=
-
1
,
0
],
X_normalized.iloc[labels1
=
=
-
1
,
1
],
'k+'
, alpha
=
0.1
)
ax3.set_title(
'DBSCAN clustering with eps = 0.5'
)
colors
=
[
'c.'
,
'y.'
,
'm.'
,
'g.'
]
for
Class, colour
in
zip
(
range
(
0
,
4
), colors):
Xk
=
X_normalized.iloc[labels2
=
=
Class]
ax4.plot(Xk.iloc[:,
0
], Xk.iloc[:,
1
], colour, alpha
=
0.3
)
ax4.plot(X_normalized.iloc[labels2
=
=
-
1
,
0
],
X_normalized.iloc[labels2
=
=
-
1
,
1
],
'k+'
, alpha
=
0.1
)
ax4.set_title(
'DBSCAN Clustering with eps = 2.0'
)
plt.tight_layout()
plt.show()