机器学习笔记
微淡
这个作者很懒,什么都没留下…
展开
-
python程序实现rep后剪枝算法
背景在使用决策树模型时,如果训练集中的样本数很多,则会使得生成的决策树过于庞大,即分化出了很多的枝节。这时会产生过拟合问题,也就是在模型在训练集上的表现效果良好,而在测试集的效果却很差。因此在生成一棵决策树之后,需要对它进行必要的剪枝,从而提高它的泛化能力。本文将讲述后剪枝算法——REP方法。原理剪枝是指将决策树的一些枝节去掉,将中间节点变成叶子节点,该叶子节点的预测值便是该分组训练样本yyy值的均值。剪枝算法分为预剪枝和后剪枝,预剪枝是在决策树生成的过程中同步进行,而后剪枝是在决策树生成完之后再剪枝原创 2020-07-12 23:59:07 · 1778 阅读 · 1 评论 -
python程序实现朴素贝叶斯算法
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。本文将讲解二分类的朴素贝叶斯分类器的原理以及程序实现。模型已知一组有nnn个样本的训练集{(xi,yi)}i=1n,xi∈Rt,yi∈{1,...,k}\{(x_i,y_i)\}_ {i=1}^n,x_i\in\mathbb R^t,y_i\in\{1,...,k\}{(xi,yi)}i=1n,xi∈Rt,yi∈{1,...,k}其中,每个输入变量xix_ixi都有ttt个特征,输出变量yiy_iyi表示类别标签值。模型假原创 2020-07-10 23:19:29 · 605 阅读 · 0 评论 -
python程序实现CART回归树算法
算法原理CART树属于决策树模型,它可以用于分类和回归问题,这两者的不同主要体现在特征选择上,CART分类树基于Gini系数最小化,而CART回归树是基于误差平方和最小化。另外,CART树区别于其他树模型的特点之一是它是一类二叉树模型,每次进行特征选择时都将数据集分成“是”或“否”这两种。本文将讲解CART回归树模型的原理以及程序实现。模型已知一组包含nnn个样本的训练集{xi,yi}i=1n,xi∈Rt,yi∈R\{x_i,y_i\}_ {i=1}^n,x_i\in\mathbb R^t,y_i原创 2020-07-06 14:55:34 · 1226 阅读 · 0 评论 -
kmeans聚类算法实现
算法原理模型已知一组有n个样本的数据集{xi}i=1n,xi∈Rt\{x_i\}_ {i=1}^n,x_i\in\mathbb R^t{xi}i=1n,xi∈Rt其中,每个样本xix_ixi都有ttt个特征,没有标签yiy_iyi。现在的目的是希望利用样本特征将数据集分为k类。算法步骤首先要明确一些概念:类是指根据特征的不同将数据分成不同的类别。而不同数据样本组成的集合称...原创 2020-04-14 13:44:44 · 567 阅读 · 0 评论 -
ID3决策树python程序实现
算法原理决策树是一类经典的机器学习方法,既可以用于分类任务,也可以用于回归。分类和回归对应的分别是分类树和回归树,本文将以最常见的一类决策树——ID3分类树为例,讲解模型的原理以及程序实现。模型已知一组有n个样本的训练集{xi,yi}i=1n,xi∈∏k=1tDk,yi∈{0,1}\{x_i,y_i\}_ {i=1}^n,x_i\in\prod_{k=1}^tD^k,y_i\in\{0,...原创 2020-04-05 23:08:25 · 291 阅读 · 0 评论 -
k近邻算法程序实现
算法原理模型k近邻算法是一个多分类的机器学习算法。它的实现过程很容易理解,简单来说,就是通过计算待分类样本与所有训练样本的“距离”,然后取出离待分类样本最近的k个训练样本,最后将这k个训练样本中类别最多的一种作为该待分类样本的预测类别。图解如图所示,假设有若干个训练样本,不同颜色代表不同的类别。现在放入一个待分类样本。定义k值(假设为3),定义距离(假设是欧式距离),计算该待分...原创 2020-03-28 23:13:43 · 1034 阅读 · 0 评论 -
逻辑回归算法实现
算法原理模型逻辑回归模型是一个二分类的对数线性模型。令样本数据集为{xi;yi}i=1n,xi∈Rt,yi∈{0,1}\{x_i;y_i\}^n_{i=1},x_i\in\mathbb{R}^t,y_i\in\{0,1\}{xi;yi}i=1n,xi∈Rt,yi∈{0,1}其中,xix_ixi是样本的特征,yiy_iyi是样本的类别,限定为0或1。逻辑回归模型的数学表...原创 2020-03-17 14:01:28 · 966 阅读 · 0 评论 -
感知机算法原理及程序实现
感知机是一个二分类的线性模型,通过输入样本的特征,返回样本对应的类别,其中,类别限定为1和-1。模型如下。(偏置已并入ω\omegaω)f(x)=sign(ωT∗x)f(x)=sign(\omega^T*x)f(x)=sign(ωT∗x)这个模型的主要思想是错误驱动,通过分错类的样本数据计算损失函数。一、具体过程随机设置一个权重向量ω\omegaω,将训练数据代入模型,把结果和真实的...原创 2020-03-08 22:59:27 · 970 阅读 · 0 评论 -
线性最小二乘法——python
算法编写class LinearRegression: ''' alpha:拟合参数 fit :训练函数,得到拟合参数 predict:预测并输出结果 ''' def __init__(self): pass def fit(self,x,y): x = np.in...原创 2019-07-26 16:53:54 · 172 阅读 · 0 评论 -
利用朴素贝叶斯分类器进行垃圾文件过滤
对英文文件进行过滤 训练测试集下载地址github步骤 1、有标签的文件文本数据导入 2、分词、去除网络符号(网址除外)、统一小写 3、利用Lemmatizer词还原器将单词变为原型 4、标注”not_” 或 “no_”前缀(文章中出现在not或no后面的词是这个词的反义词,加上前缀作为区分) 5、去除停用词 6、引入词袋模型,统计每个文档单词的出现情况 7、用朴素贝...原创 2018-06-10 22:22:53 · 784 阅读 · 0 评论 -
sklearn之k-mean聚类
以莺尾花数据集为例,对其进行聚类,对比聚类和真实分类结果导入相关库% matplotlib inlinefrom sklearn.datasets import load_irisfrom sklearn.cluster import KMeansimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns创...原创 2018-06-06 16:23:20 · 370 阅读 · 0 评论