Since you do not have labels, we need an unsupervised clustering method.
An example could be Kmeans
. Below I provide an example.
import numpy as np
np.random.seed(0)
from sklearn.cluster import KMeans
# build fake data with only 0/1 values in the features
X = np.ones((100,10))
random_indices_rows = np.random.randint(1,100,50)
X[random_indices_rows]=0
print(X.shape)
#(100, 10) # 100 samples and 10 variables/sensors
# the clustering model
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
kmeans.labels_
print(kmeans.labels_)
#array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1,
# 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0,
# 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1,
# 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0,
# 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)