Keterangan:
P (c | x) = probabilitas posterior kelas (c, target) yang diberikan prediktor (x, atribut).
P (c) = probabilitas kelas sebelumnya.
P (x|c) = kemungkinan yang merupakan probabilitas kelas yang diberikan prediktor.
P (x) = probabilitas prediktor sebelumnya.
Contoh Kasus
Ujang akan menetapkan suatu daerah sebagai lokasi untuk mendirikan perumahan yang berada
di Sukabumi. Dimana telah dihimpun 10 aturan dengan 4 (empat) atribut yang digunakan, yaitu
train_cb = pd.read_excel('TRAIN_content.xlsx')
test_cb = pd.read_excel('TEST_content.xlsx')
train_X = train_cb[0]
train_y = train_cb[1]
test_X = test_cb[0]
test_y = test_cb[1]
Praktikum Akurasi Content-based
findf_countvector = CountVectorizer()
X_train_countv = findf_countvector.fit_transform(train_X)
X_test_countv = findf_countvector.fit_transform(test_X)
naive_bayes_classifier_countv = MultinomialNB()
naive_bayes_classifier_countv.fit(X_train_countv,train_y)
print(metrics.classification_report(test_y, y_pred_countv,
target_names=['Akademik & Kebahasaan',
'Bela Negara',
'IT','Kesenian‘,
'Lingkungan Hidup','Olahraga']))
Praktikum Akurasi Content-based
# Import confusion matrix dari sklearn
from sklearn.metrics import confusion_matrix
import seaborn as sns
def display_conf(test_y,y_pred_countv):
sns.heatmap(confusion_matrix(test_y,y_pred_countv),annot=True,linewidths
=3,cbar=False)
plt.title('Confusion Matrix')
plt.ylabel('Actual')
plt.xlabel('Prediction')
plt.show()
𝑇𝑃 𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃 + 𝐹𝑃 𝑇𝑃 + 𝐹𝑁
Pa = TPa/(TPa+FPa) TPa/(TPa+FNa)
= 62/(62+0+4+3+1+5) = 62/(62+5+5+1+1+0) =
= 0,8267 = 0,83 0,8378 = 0,84
np.array(y_test2)
def display_conf(y_test2,y_pred2):
sns.heatmap(confusion_matrix(y_test2,y_pred2),annot=True,linewidths=3
,cbar=False)
plt.title('Confusion Matrix')
plt.ylabel('Actual')
plt.xlabel('Prediction')
plt.show()
gs_NB.best_params_
Praktikum Collaborative Filtering
# Membuat prediksi dengan model yang telah
ditingkatkan
prediction = gs_NB.predict(x_test2)