사용자 도구

사이트 도구


outlier

문서의 이전 판입니다!


Outlier

import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.manifold import TSNE
from sklearn.neighbors import LocalOutlierFactor
from matplotlib import offsetbox
 
digits = datasets.load_digits(10)
nSamples = len(digits.images)
data = digits.images.reshape((nSamples, -1))
 
numberArchetypes = 10
archetypal = ArchetypalAnalysis(n_components=numberArchetypes, tmax=50, iterations=20)
archetypal.fit(data)
 
dataArchetypal = archetypal.transform(data)
archetypes = archetypal.get_archetypes()
 
f, ax = plt.subplots(2, 5, sharex='col', sharey='row', figsize=(10, 8))
f.suptitle('Archetypes', fontsize=14)
 
for i in range(2):
    for j in range(5):
        ax[i, j].imshow(archetypes[i * 5 + j, :].reshape((8, 8)), 
                        cmap='gray_r', 
                        interpolation='nearest')
 
plt.show()
 
 
dataArchetypalWithDummy = np.vstack([np.eye(numberArchetypes), dataArchetypal])
 
tsne = TSNE(n_components=2)
dataArchetypalTSNE = tsne.fit_transform(dataArchetypalWithDummy)
 
_, ax = plt.subplots(figsize=(10, 8))
ax.set_title('TSNE')
 
ax.scatter(dataArchetypalTSNE[numberArchetypes:, 0], 
           dataArchetypalTSNE[numberArchetypes:, 1], 
           c=digits.target, 
           s=6.0, 
           cmap=plt.cm.get_cmap("jet", 10))
 
for i in range(np.size(archetypes, axis=0)):
    image = offsetbox.OffsetImage(archetypes[i, :].reshape((8, 8)), cmap='gray_r')
    imagebox = offsetbox.AnnotationBbox(image, dataArchetypalTSNE[i, :])
    ax.add_artist(imagebox)
 
plt.show()
 
 
clf = LocalOutlierFactor()
inlier = clf.fit_predict(dataArchetypalTSNE)
neg_outlier_factor = clf.negative_outlier_factor_
 
fig, ax = plt.subplots(figsize=(10, 8))
ax.set_title('TSNE')
s = ax.scatter(dataArchetypalTSNE[:, 0], 
               dataArchetypalTSNE[:, 1], 
               c=neg_outlier_factor, 
               s=6.0, 
               cmap=plt.cm.get_cmap("jet", 10))
fig.colorbar(s)
plt.show()
 
print(neg_outlier_factor.argmin())
/var/www/html/data/pages/outlier.txt · 마지막으로 수정됨: 저자 127.0.0.1