1.案例:承袭KNN,这个数据依旧是用打斗次数和接吻次数来界定电影类型,接吻多的是Romance类型的,而打斗多的是动作电影。
2.问题:现在有一部名字未知的电影,打斗次数为18次,接吻次数为90次的电影,它到底属于哪种类型的电影呢?
3.Sampe code:
# -*- coding: utf-8 -*-
import numpy as np
from sklearn.naive_bayes import GaussianNB
from sklearn.externals import joblib
#X对应着打斗次数和接吻次数,Y则是对应Romance(以1代替)和动作电影(以2代替)
X = np.array([[3,104],[2,100],[1,81],[101,10],[99,5],[98,2]])
Y = np.array([1, 1, 1, 2, 2, 2])
clf = GaussianNB()
#导入数据进行训练
clf.fit(X, Y)
#进行预测测试
test_data1=np.array([[18,90],[90,18]])
test_data2=np.array([[15,95],[95,15]])
print(clf.predict(test_data1))
print(clf.predict(test_data2))
#储存模型
joblib.dump(clf, "3.bayes_model.m")
#导入已储存的模型进行预测
clf1 = joblib.load("3.bayes_model.m")
print clf1.predict(test_data1)
print clf1.predict(test_data2)
4.结果:
[1 2][1 2]
[1 2]
[1 2]