机器学习算法之一:5分钟上手KNN

时间:2021-10-07 17:04:36

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]