Publié le 17 novembre 2024
Dans un problème de clustering, on veux déterminer les classes pour catégoriser les données
Lecture 1 min
Quand on veux répondre à cette question, on fait du clustering. Dans un problème de clustering, on veux déterminer les classes pour catégoriser les données.
Transforme les données sur une même échelle avec en valeur minimum 0 et en valeur maximal 1
from sklearn.preprocessing import MinMaxScaler
data_scaled = MinMaxScaller().fit_transform(dt)
Réduire le nombre de features en faisant des features qui regroupent des autres features
Exemples :
Ce code permet de réduire le nombre de colonne à 2 (d1 et d2)
from sklearn.manifold import TSNE
X_emb = TSNE(n_components=2).fit_transform(X)
X_emb = pd.DataFrame(X_emb, columns=['d1', 'd2'], index=X.index)
X_emb
Paramètres :
from sklearn.cluster import KMeans
kmeans = KMeans(
n_clusters=2,
random_state=42,
init='k-means++',
n_init=10
).fit(array)
Paramètres :
from sklearn.cluster import DBSCAN
clusering = DBSCAN(
eps=3,
min_samples=2
).fit(array)
from sklearn.mixture import GaussianMixture
from sklearn.cluster import OPTICS
Pour chaque lignes, la classe attribué : clustering.labels_
(DBSCAN attribue -1 pour les outsiders)