(sklearn) BayesianGaussianMixture und score_samples
Verfasst: Samstag 19. November 2016, 11:19
Hallo,
Ich habe eine dreidimensionale Punktewolke, und will sie nach einer vierten Dimension einfärben. Das klappt auch.
Nur will ich jetzt die score_samples, die die "computed weighted log probabilities" wiedergeben, auswerten. Leider ergeben die Zahlen überhaupt keinen Sinn für mich. Er färbt die Wolke zwar korrekt dunkler im dichteren Bereich, aber die Zahlen sagen was ganz anderes. Die sind wild durcheinander und scheinen mit der Dichte überhaupt nicht zu korrelieren. Wieso?
Im Grunde will ich Cluster finden, wobei aber nicht alle Punkte zwingend einem Cluster zugeordnet werden müssen, sondern nur die mit einer Dichte von zum Beispiel > 0.8
Später will ich dann alle Punkte haben, die innerhalb eines solchen Dichte-Clusters liegen. Irgendwelche Ideen, wie ich das anstelle?
Ich habe im np array X die Punkte [ x, y, z ] und im array pos die Punkte als [ 'Name': [x, y, z] ]
Ich habe eine dreidimensionale Punktewolke, und will sie nach einer vierten Dimension einfärben. Das klappt auch.
Code: Alles auswählen
networkcluster = mixture.BayesianGaussianMixture(n_components=n_clusters, covariance_type='full').fit(x)
score_samples = networkcluster.score_samples(x)
ax.scatter(x[:, 0], x[:, 1], x[:, 2], c=score_samples.astype(np.float))
Im Grunde will ich Cluster finden, wobei aber nicht alle Punkte zwingend einem Cluster zugeordnet werden müssen, sondern nur die mit einer Dichte von zum Beispiel > 0.8
Später will ich dann alle Punkte haben, die innerhalb eines solchen Dichte-Clusters liegen. Irgendwelche Ideen, wie ich das anstelle?
Ich habe im np array X die Punkte [ x, y, z ] und im array pos die Punkte als [ 'Name': [x, y, z] ]