2017-12-03 15 views
0

나는 27211 개의 샘플과 90 개의 속성을 가진 데이터 세트를 가지고있다. 이 데이터 세트에는 클래스 레이블이 없습니다. 데이터 세트에 가우스 혼합을 맞추고 싶지만 성능 측정 방법을 모릅니다. 나 좀 도와 줄 수있어? 가우스 혼합물의 성능을 측정하는 방법은 무엇입니까?

import numpy as np 
import matplotlib.pyplot as plt 
import pandas as pd 
import random 
from sklearn.naive_bayes import GaussianNB 
from sklearn import mixture 

trainFile = TRAIN_PATH_NAME + "train" + str(j+1) + ".txt" 
trainData = pd.read_csv(trainFile, sep=",", header=None) 

np.random.seed(42) 
g = mixture.GMM(n_components=60) 
g.fit(trainData.values) 
print("IS_COVERGED: ", g.converged_) 
sampled = g.sample(trainData.values.shape[0]) 
return sampled 

답변

0

지상 진실 (레이블)이 없기 때문에 확실한 성능 추정치를 제공 할 수 없으며 선택한 측정 항목에 의존해야합니다. 클러스터의 품질을 평가하는 것은 매우 일반적인 문제입니다. 따라서 설명서의 arround 톤 :

이 자각하지 않은 경우의 성능을 측정하는 데는 몇 가지 옵션이 있습니다. 실제 확률을 기반으로하는 GMM의 경우 가장 일반적인 것은 BICAIC입니다. 그들은 imicleatly scikit GMM 클래스에 포함되어 있습니다.

그러나 일반 클러스터의 성능을 측정하는 데 더 많은 메트릭이 있습니다. 그들은 scikit documentation에 잘 설명되어 있습니다. 나는 직관적 인 Silhouette-score 종류를 찾는다.

0

당신은 자율 학습에 대해 서로 다른 성능 평가를 할 수 있습니다. scikit-learn은 약간의 정보를 제공합니다 here. 평가 중 일부는 상호 정보입니다. 또한 this post을 통해 통찰력을 얻을 수도 있습니다.