机器学习算法之三:5分钟上手Bayes

时间:2022-11-04 05:44:28

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]