这些算法实现依赖于numpy/pandas库,而且度量结果与SKlearn一致
贝叶斯算法实现
算法介绍: 华校专的笔记
这里只实现了 “假设所有特征都是数值型”。
class GaussianNaiveBayes():
def __init__(self):
# 有多少类别
self.classes = None
# 每个类别的概率
self.tags_ = {}
# 每个类别每列的均值
self.theta_ = {}
# 每个类别每列的标准差
self.sigma_ = {}
def fit(self,X,y):
self.X = np.array(X)
self.y = np.array(y)
self.classes = list(np.unique(self.y))
for c in self.classes:
X_c = self.X[np.where(self.y == c )]
X_mean_c = np.mean(X_c,axis=0)
X_std_c = np.std(X_c,axis&