1. 程式人生 > >機器學習演算法之一:5分鐘上手KNN

機器學習演算法之一:5分鐘上手KNN

1.案例:這個資料用打鬥次數和接吻次數來界定電影型別,接吻多的是Romance型別的,而打鬥多的是動作電影。

2.問題:現在有一部名字未知的電影,打鬥次數為18次,接吻次數為90次的電影,它到底屬於哪種型別的電影呢?

3.Sampe code:

import numpy as np
from sklearn import neighbors
from sklearn.externals import joblib

#取得knn分類器
clf = neighbors.KNeighborsClassifier()

#data對應著打鬥次數和接吻次數
data = np.array([[3,104],[2,100],[1,81],[101,10],[99,5],[98,2]])

#labels則是對應Romance(以1代替)和Action(以2代替)
labels = np.array([1,1,1,2,2,2])

#匯入資料進行訓練
clf.fit(data,labels)

#進行預測測試
print clf.predict([18,90])

#儲存模型
joblib.dump(clf, "1.knn_model.m")

#匯入已儲存的模型進行預測
clf1 = joblib.load("1.knn_model.m")
print clf1.predict([18,90])

4.結果:

[1]
[1]