在機器學習領域中,降維和聚類是兩個常用的操作。Python提供的豐富庫和工具可以方便的實現這些操作。本文將著重介紹關于Python下使用的降維和聚類方法。
一、降維
import numpy as np
from sklearn.decomposition import PCA
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
pca = PCA(n_components=2)
pca.fit(X)
print(pca.explained_variance_ratio_)
print(pca.singular_values_)
在上面的示例中,使用了PCA庫將二維數組降維為一維數組,其中n_components參數指定在降維過程中應該保留的維度。在控制臺輸出中區分出了PCA的貢獻率和奇異值。
二、聚類
import numpy as np
from sklearn.cluster import KMeans
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
print(kmeans.labels_)
print(kmeans.predict([[0, 0], [4, 4]]))
print(kmeans.cluster_centers_)
在上面的示例中,使用了KMeans庫將二維數組聚類為兩個類別。其中n_clusters參數指定類別數目,默認為8。在控制臺輸出中區分出了聚類所屬的標簽、預測目標點所屬的標簽、以及簇中心。
總結:Python下的機器學習操作經常會用到降維和聚類方法,使用相關庫和工具可以方便的實現這些操作。