・ Entrez la trame de données en df et le nombre de clusters en num. -Spécifier un entier de départ aléatoire avec random_state
def clustering_analytics(df, num):
df_temp = df.copy()
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
sc = StandardScaler()
#Standardisation
df_std = sc.fit_transform(df_temp)
kmeans = KMeans(n_clusters=num, random_state=0)
clusters = kmeans.fit(df_std)
df_temp["cluster"] = clusters.labels_
return df_temp
・ Entrez le bloc de données en df et le nombre de composants principaux en num.
def PCA_analytics(df, num):
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
import numpy as np
sc = StandardScaler()
df_temp = df.copy()
#Standardisation
df_std = sc.fit_transform(df_temp)
pca = PCA(n_components = num)
pca.fit(df_std)
df_temp__pca = pca.transform(df_std)
pca_df = pd.DataFrame(df_temp__pca)
print('composants, principaux composants')
print(pca.components_)
print('moyen, moyen')
print(pca.mean_)
print('covariance, matrice de covariance')
print(pca.get_covariance())
W, v = np.linalg.eig(pca.get_covariance())
print('vecteur propre, vecteur propre')
print(v)
print('valeur propre, valeur unique')
print(W)
return pca_df
Recommended Posts