好的,这是我第一次使用 ML,首先我正在实施朴素贝叶斯。我有板球(体育)数据,我必须根据 Toss Won|Lost 和 Bat First|Second 检查球队是赢还是输。下面是我的代码:
from sklearn.naive_bayes import GaussianNB
import numpy as np
"""
Labels : Lost, Draw, Won [-1,0,1]
Features
==========
Toss(Lost,Won) = [-1,1]
Bat(First, Second) = [-1,1]
"""
#Based on Existing Data Features are:
features = np.array([[-1, 1],[-1, 1]])
labels = np.array([0,1])
# Create a Gaussian Classifier
model = GaussianNB()
# Train the model using the training sets
model.fit(features, labels)
# Predict Output
predicted = model.predict([[1,0]])
print(predicted)
在运行这个我得到错误:
/anaconda3/anaconda/lib/python3.5/site-packages/sklearn/naive_bayes.py:393: RuntimeWarning: divide by zero encountered in log
[0]
n_ij = - 0.5 * np.sum(np.log(2. * np.pi * self.sigma_[i, :]))
/anaconda3/anaconda/lib/python3.5/site-packages/sklearn/naive_bayes.py:395: RuntimeWarning: divide by zero encountered in true_divide
(self.sigma_[i, :]), 1)
/anaconda3/anaconda/lib/python3.5/site-packages/sklearn/naive_bayes.py:395: RuntimeWarning: invalid value encountered in subtract
(self.sigma_[i, :]), 1)
更新
这里给出的代码