dbscan dbscan(min_samples= labels dbscan fit_predict(x_pcaprint("unique labels{}format(np unique(labels))out[ ]unique labels[- even when considering groups of three pointseverything is labeled as noise sowe need to increase epsin[ ]dbscan dbscan(min_samples= eps= labels dbscan fit_predict(x_pcaprint("unique labels{}format(np unique(labels))out[ ]unique labels[- using much larger eps of we get only single cluster and noise points we can use this result to find out what the "noiselooks like compared to the rest of the data to understand better what' happeninglet' look at how many points are noiseand how many points are inside the clusterin[ ]count number of points in all clusters and noise bincount doesn' allow negative numbersso we need to add the first number in the result corresponds to noise points print("number of points per cluster{}format(np bincount(labels ))out[ ]number of points per cluster there are very few noise points--only --so we can look at all of them (see figure - )in[ ]noise x_people[labels==- figaxes plt subplots( subplot_kw={'xticks'()'yticks'()}figsize=( )for imageax in zip(noiseaxes ravel())ax imshow(image reshape(image_shape)vmin= vmax= unsupervised learning and preprocessing