(sklearn) BayesianGaussianMixture und score_samples

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Popkultur
User
Beiträge: 30
Registriert: Donnerstag 20. Oktober 2016, 16:46

Hallo,

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))
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] ]
Popkultur
User
Beiträge: 30
Registriert: Donnerstag 20. Oktober 2016, 16:46

Habs. DBSCAN-Modul.
Antworten