projects
/
pingpong.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Preparing scripts for TP-Link plug.
[pingpong.git]
/
python_ml
/
plotting-dbscan.py
diff --git
a/python_ml/plotting-dbscan.py
b/python_ml/plotting-dbscan.py
index bdfc1d5302ac0c5442b7d8cd266c09ff049b3bcf..2202a8ef19894255d34eb24da996cad7754b851e 100644
(file)
--- a/
python_ml/plotting-dbscan.py
+++ b/
python_ml/plotting-dbscan.py
@@
-13,8
+13,10
@@
fig.set_size_inches(7, 7)
# TODO: Just change the following path and filename
# when needed to read from a different file
path = "/scratch/July-2018/Pairs2/"
# TODO: Just change the following path and filename
# when needed to read from a different file
path = "/scratch/July-2018/Pairs2/"
-device = "
alexa2
-off"
+device = "
dlink-siren-device
-off"
filename = device + ".txt"
filename = device + ".txt"
+plt.ylim(0, 2000)
+plt.xlim(0, 2000)
# Number of triggers
trig = 50
# Number of triggers
trig = 50
@@
-35,7
+37,9
@@
X = np.array(pairsArr);
# Compute DBSCAN
# eps = distances
# min_samples = minimum number of members of a cluster
# Compute DBSCAN
# eps = distances
# min_samples = minimum number of members of a cluster
-db = DBSCAN(eps=20, min_samples=trig - 5).fit(X)
+#db = DBSCAN(eps=20, min_samples=trig - 5).fit(X)
+# TODO: This is just for seeing more clusters
+db = DBSCAN(eps=20, min_samples=trig - 45).fit(X)
core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_
core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_
@@
-43,17
+47,18
@@
labels = db.labels_
# Number of clusters in labels, ignoring noise if present.
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
# Number of clusters in labels, ignoring noise if present.
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
-print('Estimated number of clusters: %d' % n_clusters_)
+
#
print('Estimated number of clusters: %d' % n_clusters_)
import matplotlib.pyplot as plt
# Black removed and is used for noise instead.
unique_labels = set(labels)
import matplotlib.pyplot as plt
# Black removed and is used for noise instead.
unique_labels = set(labels)
-print("Labels: " + str(labels))
+
#
print("Labels: " + str(labels))
colors = [plt.cm.Spectral(each)
for each in np.linspace(0, 1, len(unique_labels))]
for k, col in zip(unique_labels, colors):
colors = [plt.cm.Spectral(each)
for each in np.linspace(0, 1, len(unique_labels))]
for k, col in zip(unique_labels, colors):
+ cluster_col = [1, 0, 0, 1]
if k == -1:
# Black used for noise.
col = [0, 0, 0, 1]
if k == -1:
# Black used for noise.
col = [0, 0, 0, 1]
@@
-61,7
+66,7
@@
for k, col in zip(unique_labels, colors):
class_member_mask = (labels == k)
xy = X[class_member_mask & core_samples_mask]
class_member_mask = (labels == k)
xy = X[class_member_mask & core_samples_mask]
- plt.plot(xy[:, 0], xy[:, 1], 'o',
+ plt.plot(xy[:, 0], xy[:, 1], 'o',
markerfacecolor=tuple(cluster_col),
markeredgecolor='k', markersize=10)
xy = X[class_member_mask & ~core_samples_mask]
markeredgecolor='k', markersize=10)
xy = X[class_member_mask & ~core_samples_mask]
@@
-79,11
+84,11
@@
for pair in pairsArr:
else:
# Only print the frequency when this is a real cluster
plt.text(pair[0], pair[1], str(pair[0]) + ", " + str(pair[1]) +
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)
+ "
: " + str(labels.tolist().count(labels[count])), fontsize=10)
count = count + 1
count = count + 1
-plt.title(device + ' -
Estimated number of c
lusters: %d' % n_clusters_)
+plt.title(device + ' -
C
lusters: %d' % n_clusters_)
plt.show()
plt.show()