機器學習演算法之二:5分鐘上手K-Means
阿新 • • 發佈:2019-01-07
1.案例:承襲KNN,這個資料依舊是用打鬥次數和接吻次數來界定電影型別,接吻多的是Romance型別的,而打鬥多的是動作電影。
2.問題:現在有一部名字未知的電影,打鬥次數為18次,接吻次數為90次的電影,它到底屬於哪種型別的電影呢?
3.Sampe code:
# -*- coding: utf-8 -*- import numpy as np from sklearn.cluster import KMeans from sklearn.externals import joblib #data對應著打鬥次數和接吻次數 data = np.array([[3,104],[2,100],[1,81],[101,10],[99,5],[98,2]]) #引數說明:n_clusters代表想分幾群,n_init代表設定選擇質心種子次數,預設為10次,返回質心最好的一次結果。 #補充說明:因使用隨機的初始值,因此每次執行的分群代表號會不一樣。 clf = KMeans(n_clusters=2, n_init=10) clf.fit(data) print clf.labels_ #進行預測測試 test_data=np.array([[3,103], [102,5]]) print clf.fit_predict(test_data) #儲存模型 joblib.dump(clf, "2.kmeans_model.m") #匯入已儲存的模型進行預測 clf1 = joblib.load("2.kmeans_model.m") print clf1.fit_predict(test_data)
4.結果:
[0 0 0 1 1 1][0 1]
[1 0]