与多项式模型一样,伯努利模型适用于离散特征的情况,所不同的是,伯努利模型中每个特征的取值只能是1和0(以文本分类为例,某个单词在文档中出现过,则其特征值为1,否则为0). 伯努利模型和多项式模型是一致的,BernoulliNB需要比MultinomialNB多定义一个二值化的方法,该方法会接受一个阈值并将输入的特征二值化(1,0).当然也可以直接采用MultinomialNB,但需要预先将输入的特
读童话的狼
2020-03-25
format函数 这是一种字符串格式化的方法,用法如str.format()。 基本语法是通过 {} 和 : 来代替以前的 % 。 以下展示两种主要用法: (1)如:语句print("{:.2f}".format(3.1415926)),它的输出为3.14,可以看出命令为保留两位小数点。 (2)如:语句"{1} {0} {1}".format("hello", "world"),它的输出
读童话的狼
2020-03-25
贝叶斯算法假设样本符合概率分布,我们在进模型训练前,先假设数据集中的特征符合某种分布,然后利这种分布的概率密度函数来计算对应的概率值。 伯努利朴素贝叶斯:假设数据集的特征符合二项分布。 多项式朴素贝叶斯:假设特征符合多项式分布,常于文本分类,特征是单词,值是单词出现的次数。 高斯朴素贝叶斯:有些特征可能是连续型变量,高斯朴素贝叶斯模型假设这些特征属于某个类别的观测值符合高斯分布。
读童话的狼
2020-03-25
当某个模型过度的学习训练数据中的细节和噪音,以至于模型在新的数据上表现很差,我们称过拟合发生了。这意味着训练数据中的噪音或者随机波动也被当做概念被模型学习了。而问题就在于这些概念不适用于新的数据,从而导致模型泛化性能的变差。简单理解就是训练样本的得到的输出和期望输出基本一致,但是测试样本输出和测试样本的期望输出相差却很大 。为了得到一致假设而使假设变得过度复杂。 解决过拟合的办法: 决策树中设置剪
读童话的狼
2020-03-24
在scikit-learn 中逻辑回归原型如下:class sklearn.linear_model.LogisticRegression(penalty=’l2’, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver
读童话的狼
2020-03-24
KNN算法是“懒惰学习”的代表,不具有显式学习过程。此类学习技术在训练过程中仅仅是把样本保存起来,训练时间为0,待收到训练样本后在进行处理。但是这类算法不产生固定的参数,往往对于每一个新样本都需要较长计算过程。所以可以使用逻辑回归处理此类问题。
读童话的狼
2020-03-24
升维, 意味着要加特征, 为了简单一点, 我们可以使用sklearn中的多项式特征。 import numpy as np # 导入多项式特征类 from sklearn.preprocessing import PolynomialFeatures 举个例子 x = np.array([[1, 2], [4, 5]]) x poly = PolynomialFeatures(degree=
读童话的狼
2020-03-24
梯度下降算法有两个重要的控制因子:一个是步长,由学习率控制;一个是方向,由梯度指定。 除了一些其他客观的原因,学习率的设定是影响模型性能好坏的非常重要的因素,所以应该给予足够的重视 学习率太大会导致不收敛 学习率太小会导致到达最低点的迭代次数太大,费时
读童话的狼
2020-03-24
sklearn里面的回归模型是利用梯度下降或坐标下降,最小二乘一般不应用在机器学习中,原因主要是因为涉及方阵求逆——矩阵求逆的复杂度是O(N^3),其中,N为特征数目。次要原因是因为如果特征数目大于样本数目,则方阵是奇异矩阵,逆不存在(——这其实常常通过惩罚因子来解决)
读童话的狼
2020-03-24
剪枝是一个简化过拟合决策树的过程。有两种常用的剪枝方法: (1)先剪枝(prepruning):通过提前停止树的构建而对树“剪枝”,一旦停止,节点就成为树叶。该树叶可以持有子集元组中最频繁的类; 先剪枝的方法 有多种不同的方式可以让决策树停止生长,下面介绍几种停止决策树生长的方法: 限制决策树的高度和叶子结点处样本的数目 1.定义一个高度
读童话的狼
2020-03-23
梯度下降法: 在每次迭代更新时选择负梯度方向(最速下降的方向)进行一次更新.不断迭代直至到达我们的目标或者满意为止. 坐标下降法: 坐标下降法属于一种非梯度优化的方法,它在每步迭代中沿一个坐标的方向进行搜索,通过循环使用不同的坐标方法来达到目标函数的局部极小值。求导时只对一个维度(坐标轴方向)进行求导,而固定其它维度,这样每次只优化一个分量. 相比梯度下降法而言,坐标下降法不需要计算目标函数的
读童话的狼
2020-03-23
岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
读童话的狼
2020-03-23
选参遵循原则如下: (1)在岭回归中设计矩阵X已经中心化和标准化了,这样可以直接比较标准化岭回归系数的大小。可以剔除掉标准化岭回归系数比较稳定且绝对值很小的自变量。 (2)随着lambda的增加,回归系数稳定,震动趋于零的自变量也可以剔除。 (3)开始(lambda=0)十分大,但是随着lambda的增加,迅速向0靠近的回归系数不重要。可以考虑剔除。 (4)开始(lambda=0)十分小,
读童话的狼
2020-03-23
进行岭回归(和Lasso回归)的主要目的: 1.解决病态矩阵的过拟合和欠拟合问题。 2.消除多重共线性造成的行列式趋近于0,从而引起的大系数问题。
读童话的狼
2020-03-23
过拟合(overfitting):指算法模型在训练集上的性能非常好,但是泛化能力很差,泛化误差很大,即在测试集上的效果却很糟糕的情况。 过拟合的原因:将训练样本本身的一些特点当作了所有潜在样本都具有的一般性质,这会造成泛化能力下降;另一个原因是模型可能学到训练集中的噪声,并基于噪声进行了预测; 过拟合无法避免,只能缓解。因为机器学习的问题通常是 NP 难甚至更难的,而有效的学习算法必然是在多项式时
读童话的狼
2020-03-23
事实上,如果计算两个解释变量之间的相关性系数,它们的线性相关系数高达0.8以上,这也就意味着严重的多重共线性。在构建多元线性回归模型时,随着解释变量数目的增多,其中某两个解释变量之间产生多重共线性是很容易发生的情况。此时就需要考虑是否将其中某个变量从模型中剔除出去,甚至是重新考虑模型的构建。
读童话的狼
2020-03-23