2017-10-16 6 views
0

Je voudrais utiliser la forêt d'isolation pour identifier les valeurs aberrantes dans mon ensemble de données.Implémentation de forêt d'isolation

ensemble de formation contient 4000 enregistrements avec 40 colonnes de fonction avec la valeur 1 ou 0.

Je sais comment utiliser la forêt d'isolation pour les 2 caractéristiques en utilisant l'exemple échantillon donné dans scikit apprendre.

Comment puis-je utiliser toutes les 40 caractéristiques et voir les valeurs aberrantes?

Répondre

0

J'ai simplifié un peu l'exemple de scikit. X est votre jeu de données avec 40 fonctionnalités et 4000 lignes. Dans cet exemple, il y a 3 fonctionnalités et 100 lignes. Vous ajustez le classificateur avec clf.fit (X) à vos données numériques X, pour apprendre au classificateur les "limites" de vos données. À l'étape suivante, vous classifiez les mêmes données X par rapport à votre modèle appris et obtenez un tableau y avec 100 entrées, une pour chaque ligne de votre ensemble de données. Chaque entrée en y est -1 (Outlier) ou 1 (Inliner).

import numpy as np 
from sklearn.ensemble import IsolationForest 

rng = np.random.RandomState(42) 

# Generate train data 
s = rng.randn(100, 5) 
X = np.r_[s + 2, s - 2, s - 5] 

# fit the model 
clf = IsolationForest(max_samples=100, random_state=rng) 
clf.fit(X) 
y = clf.predict(X)