n_components為降到多少維,用原資料fit後,再用transform轉換成降維後的資料。
from sklearn.decomposition import pca
pca = pca(n_components = 6)
pca.fit(good_data)
reduced_data = pca.transform(good_data)
reduced_data = pd.dataframe(reduced_data, columns = ['dimension 1', 'dimension 2'])
用 silhouette coefficient 計算每個資料到中心點的距離,-1 (dissimilar) to 1 (similar) 根據這個係數來評價聚類演算法的優劣。
from sklearn.cluster import kmeans
from sklearn.metrics import silhouette_score
cluster = kmeans(n_clusters=2, random_state=0).fit(reduced_data)
preds = cluster.predict(reduced_data)
score = silhouette_score(reduced_data, preds)
選擇分數最大的個數作為聚類的類別數。
例如資料,先經過 log,又經過 pca降維, 要恢復回去,先用 pca.inverse_transform,再用 np.exp
log_centers = pca.inverse_transform(centers)
true_centers = np.exp(log_centers)
true_centers = pd.dataframe(np.round(true_centers), columns = data.keys())
資料變化:
分類問題可以自己寫accuracy的函式
def
accuracy_score
(truth, pred):
""" return accuracy score for input truth and prediction"""
if len(truth)==len(pred):
return
"accuracy for prediction: %.".format((truth==pred).mean()*100)
else:
return
"numbers do not match!"
如果幫到你了,請讚賞支援:
Numpy庫在機器學習演算法中常用函式
numpy庫總包含兩種基本的資料型別 矩陣和陣列,矩陣的使用類似matlab,本例項用得多的是陣列array。shape是numpy函式庫中的方法,用於檢視矩陣或者陣列的維素 shape array 若矩陣有m行n列,則返回 m,n array.shape 0 返回矩陣的行數m,引數為1的話返回列數...
常用機器學習演算法
1 演算法學習 監督式 非監督式 半監督式 1 監督式學習 工作機制 這個演算法由乙個目標變數或結果變數 或因變數 組成。這些變數由已知的一系列預示變數 自變數 而來。利用這一系列變數,我們生成乙個將輸入值對映到期望輸出值的函式。這個訓練過程會一直持續,直到模型在訓練資料上獲得期望的精確度。監督式學...
機器學習中常用距離的小結
設有兩個n維向量a x11,x12,x1n 和b x21,x22,x2n 1 曼哈頓距離 曼哈頓距離也稱為城市街區距離,數學表示式為 2 歐氏距離 歐氏距離就是我們熟悉的l2範數,數學表示式為 3 閔可夫斯基距離 閔可夫斯基距離可以看作歐氏距離的一種推廣,數學表示式為 可以看到,當p值取1時,閔可夫...