![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ML算法代码
ChichiZhou
这个作者很懒,什么都没留下…
展开
-
KNN 手动实现
KNN 算法KNN 的实质是根据 预测值 与训练集之间的距离来进行分类。下面代码使用 欧氏距离来表示点集之间的距离,具体代码如下:class Knn(): def fit(self, X, y): self.X_train = X self.y_train = y def predict(self, X, k): ...原创 2018-07-13 12:22:29 · 480 阅读 · 0 评论 -
Naive Bayes 手动实现
Naive Bayes 求的是后验概率。后验概率的定义:P(B|A) 已知A发生后 B 发生的概率。其理论基础如下公式所示:故手动实现需要得到:1. 邮件中出现的单词及其出现的次数 2. spam / ham 单词的总个数这里加入了Laplace smoothing 修正,其原理如下所示:有两种方法可以实现,第一种方法是利用dict; 第二种是模拟sklearn 里的model利用dict:# ...原创 2018-07-14 01:00:22 · 389 阅读 · 0 评论 -
Linear Regression 进行房价预测
Linear Regression 理论基础Linear Regression 认为各个feature之间的关系是线性的,通过修正线性相关的系数,来拟合整个变化趋势。之所以采用 Linear Regression 并认为特征之间是线性关系,是因为线性关系拟合起来比较简单,是最基础的方程,可以由这个方程得到许多高级的复杂的方程。而且也可以更有效防止 overfitting 的产生。如果想要拟合二次方...原创 2018-07-14 03:41:38 · 532 阅读 · 0 评论 -
Logisitc Regression 预测员工离职率
Logistic Regression 基础Logistic Regression 沿用了 Linear Regression 的思路和想法,通过使用线性关系拟合得到真实的函数关系。同样的,如果模型结果表现不好,可能是超参数没调好,或者是训练集的特征没处理好(可以多构造一些特征,将线性特征构造成为非线性特征之类的)。由于用Linear Regression 求得的解范围是 正无穷 到 负无穷,而最...原创 2018-07-15 01:57:00 · 1589 阅读 · 0 评论