# Read from file
# TODO: Just change the following path and filename
# when needed to read from a different file
-path = "/scratch/July-2018/Pairs/"
-device1 = "tplink-bulb-on"
-device2 = "tplink-bulb-off"
+path = "/scratch/July-2018/Pairs2/"
+device1 = "alexa2-on"
+device2 = "alexa2-off"
filename1 = device1 + ".txt"
filename2 = device2 + ".txt"
# Compute DBSCAN
# eps = distances
# min_samples = minimum number of members of a cluster
-db = DBSCAN(eps=30, min_samples=trig - 5).fit(X)
+db = DBSCAN(eps=10, min_samples=trig - 5).fit(X)
core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_
for each in np.linspace(0, 1, len(unique_labels))]
for k, col in zip(unique_labels, colors):
if k == -1:
- # Black used for noise.
- col = [0, 0, 0, 1]
+ # Red used for noise.
+ col = [1, 0, 0, 1]
class_member_mask = (labels == k)
count = 0
for pair in pairsArr:
- plt.text(pair[0], pair[1], str(pair[0]) + ", " + str(pair[1]) +
- "\nFreq: " + str(labels.tolist().count(labels[count])), fontsize=10)
+ if labels[count] == -1:
+ plt.text(pair[0], pair[1], str(pair[0]) + ", " + str(pair[1]), fontsize=10)
+ else:
+ # Only print the frequency when this is a real cluster
+ plt.text(pair[0], pair[1], str(pair[0]) + ", " + str(pair[1]) +
+ "\nFreq:" + str(labels.tolist().count(labels[count])), fontsize=10)
count = count + 1
#====================================================================================================
for each in np.linspace(0, 1, len(unique_labels))]
for k, col in zip(unique_labels, colors):
if k == -1:
- # Black used for noise.
- col = [0, 0, 0, 1]
+ # Green used for noise.
+ col = [0, 1, 0, 1]
class_member_mask = (labels == k)
count = 0
for pair in pairsArr:
- plt.text(pair[0], pair[1], str(pair[0]) + ", " + str(pair[1]) +
- "\nFreq: " + str(labels.tolist().count(labels[count])), fontsize=10)
+ if labels[count] == -1:
+ plt.text(pair[0], pair[1], str(pair[0]) + ", " + str(pair[1]), fontsize=10)
+ else:
+ # Only print the frequency when this is a real cluster
+ plt.text(pair[0], pair[1], str(pair[0]) + ", " + str(pair[1]) +
+ "\nFreq:" + str(labels.tolist().count(labels[count])), fontsize=10)
count = count + 1
-plt.title(device1 + ' & ' + device2 + ' - Estimated number of clusters: %d' % n_clusters_)
+plt.title(device1 + ' & ' + device2)
plt.show()