機器學習演算法應用中常用技巧 2

2021-07-26 14:50:25 字數 1686 閱讀 8866

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時,閔可夫...