
Machine Learning
文章平均质量分 76
各种算法简介
光尘92
这个作者很懒,什么都没留下…
展开
-
规范化:标准化、归一化、中心化
1、归一化(Normalization)概念:数值的归一,将数值规约到(0,1)或(-1,1)区间目的:消除量纲,便于不同单位或量级的指标能够进行比较和加权。2、标准化(Standardization)概念:数据分布的归一,原始数据减均值之后,再除以标准差。将数据变换为均值为0,标准差为1的分布,切记:并非一定是正态的。目的:消除量纲,便于后续的梯度下降和激活函数对数据的处理。因为标准化后,数据以0为中心左右分布,而函数sigmoid,Tanh,Softmax等也都以0为中心左右分布;原创 2023-08-31 16:09:29 · 1876 阅读 · 0 评论 -
数据建模常用包
数据建模常用包:包名 版本1 hyperopt 0.1.22 jieba 0.393 joblib 1.0.14 lightgbm 2.3.15 matplotlib 3.2.16 numpy 1.19.27 pandas 1.1.48 scikit-learn 0.24.19 scipy 1.6.110 seaborn 0.10.011 shap...原创 2021-04-22 15:37:36 · 398 阅读 · 0 评论 -
深度学习
数据挖掘、机器学习和深度学习的区别是什么?这些概念都代表什么?我们通过深度学习让机器具备人的能力,甚至某些技能的水平超过人类,比如图像识别、下棋对弈等。那么深度学习的大脑是如何工作的?深度学习是基于神经网络构建的,都有哪些常用的网络模型?深度学习有三个重要的应用领域,这三个应用领域分别是什么?...原创 2021-03-22 15:57:02 · 920 阅读 · 0 评论 -
时间序列分析
时间序列分析和回归分析的区别:回归分析训练得到的事目标变量y与自变量x(一个或多个)的相关性,然后通过新的自变量x来预测目标变量y。 时间序列得到的是目标变量y与时间的相关性。 回归分析擅长的是多变量与目标结果之间的分析,往往与时间无关。 时间序列分析建立在时间变化的基础上,分析目标变量的趋势、周期、时期和不稳定因素等。经典模型:AR、MA、ARMA、ARIMAAR(Auto Regressive)中文叫自回归模型,它认为过去若干时刻的点通过线性组合,再加上白噪声就可以预测未来某个时刻的原创 2021-03-21 18:26:36 · 1021 阅读 · 0 评论 -
逻辑回归分类——信用卡诈骗
逻辑回归,也叫作 logistic 回归。虽然名字中带有“回归”,但它实际上是分类方法,主要解决的是二分类问题,当然它也可以解决多分类问题,只是二分类更常见一些。在逻辑回归中使用了 Logistic 函数,也称为 Sigmoid 函数。Sigmoid 函数是在深度学习中经常用到的函数之一,函数公式为:函数的图形如下所示,类似 S 状:在 sklearn 中,我们使用 LogisticRegression() 函数构建逻辑回归分类器,函数里有一些常用的构造参数:penalty:惩.原创 2021-03-20 12:07:53 · 500 阅读 · 1 评论 -
梯度提升树 GradientBoosting
scikit-learn基于梯度提升树算法提供了两个模型:GradientBoostingClassifier即GBDT(Gradient Boosting Decision Tree)梯度提升决策树,用于分类问题 GradientBoostingRegressor即GBRT(Gradient Boost Regression Tree)渐进梯度回归树,用于回归问题梯度提升决策树from sklearn.ensemble import GradientBoostingClassifier...转载 2021-03-17 15:03:39 · 1114 阅读 · 0 评论 -
数据采集实战:如何自动化运营微博?
自动化测试工具Selenium 更关注程序执行的流程本身,比如找到指定的元素,设置相应的值,然后点击操作。 Puppeteer 是浏览者的视角,比如光标移动到某个元素上,键盘输入某个内容等。如果想定位一个元素,可以通过 id、name、class、tag、链接上的全部文本、链接上的部分文本、XPath 或者 CSS 进行定位,在 Selenium Webdriver 中提供了这 8 种方法方便定位元素。通过 id 定位:使用 find_element_by_id() 函数。比如定位 id=log原创 2021-03-15 17:03:25 · 271 阅读 · 1 评论 -
AdaBoost(Adaptive Boosting,自适应提升算法)
AdaBoost 算法与随机森林算法一样都属于分类算法中的集成算法。集成算法通常有两种方式,分别是投票选举(bagging)和再学习(boosting)。投票选举的场景类似把专家召集到一个会议桌前,当做一个决定的时候,让 K 个专家(K 个模型)分别进行分类,然后选择出现次数最多的那个类作为最终的分类结果。 再学习相当于把 K 个专家(K 个分类器)进行加权融合,形成一个新的超级专家(强分类器),让这个超级专家做判断。Boosting 的含义是提升,它的作用是每一次训练的时候都对上一次的训练进行原创 2021-02-28 13:58:50 · 2126 阅读 · 0 评论 -
PageRank
问题1. 等级泄露(Rank Leak):如果一个网页没有出链,就像是一个黑洞一样,吸收了其他网页的影响力而不释放,最终会导致其他网页的 PR 值为 0。2. 等级沉没(Rank Sink):如果一个网页只有出链,没有入链,计算的过程迭代下来,会导致这个网页的 PR 值为 0(也就是不存在公式中的 V)。对策PageRank 的随机浏览模型,假设用户并不都是按照跳转链接的方式来上网,还有可能直接输入网址访问其他页面。定义一个阻尼因子 d,这个因子代表了用户按照跳转链接来上网的概率,通常可原创 2021-01-18 18:12:07 · 347 阅读 · 0 评论 -
EM 聚类(Expectation Maximization,最大期望算法)
EM 算法相当于一个框架,可以采用不同的模型来进行聚类,比如 GMM(高斯混合模型),或者 HMM(隐马尔科夫模型)来进行聚类。GMM 是通过概率密度来进行聚类,聚成的类符合高斯分布(正态分布)。而 HMM 用到了马尔可夫过程,在这个过程中,通过状态转移矩阵来计算状态转移的概率。HMM 在自然语言处理和语音识别领域中有广泛的应用。在 EM 这个框架中,E 步骤相当于是通过初始化的参数来估计隐含变量。M 步骤就是通过隐含变量反推来优化参数。最后通过 EM 步骤的迭代得到模型参数。EM 有两个步骤,E原创 2021-01-14 16:26:23 · 1383 阅读 · 0 评论 -
K-Means
K-Means 是一种非监督学习,解决的是聚类问题。K 代表的是 K 类,Means 代表的是中心,可以理解这个算法的本质是确定 K 类的中心点,当找到了这些中心点,也就完成了聚类。工作原理:选取 K 个点作为初始的类中心点,这些点一般都是从数据集中随机抽取的; 将每个点分配到最近的类中心点,这样就形成了 K 个类,然后重新计算每个类的中心点; 重复第二步,直到类不发生变化,或者也可以设置最大迭代次数,这样即使类中心点发生变化,但是只要达到最大迭代次数就会结束。...原创 2021-01-12 17:51:24 · 1811 阅读 · 0 评论 -
KNN(K-Nearest Neighbor,最近邻算法)
工作原理“近朱者赤,近墨者黑”可以说是 KNN 的工作原理。整个计算过程分为三步:计算待分类物体与其他物体之间的距离; 统计距离最近的 K 个邻居; 对于 K 个最近的邻居,它们属于哪个分类最多,待分类物体就属于哪一类。K 值的选择K 值的选择是很重要的如果 K 值比较小,就相当于未分类物体与它的邻居非常接近才行。这样产生的一个问题就是,如果邻居点是个噪声点,那么未分类物体的分类也会产生误差,这样 KNN 分类就会产生过拟合。如果 K 值比较大,相当于距离过远的点也会对未知物体的分原创 2021-01-10 15:54:15 · 2022 阅读 · 0 评论 -
SVM(Support Vector Machine,支持向量机)
SVM 是有监督的,在文本分类尤其是针对二分类任务性能卓越。针对多分类的情况,我们可以采用一对多,或者一对一的方法,多个二值分类器组合成一个多分类器。SVM 分类器的概念完全线性可分情况下的线性分类器,也就是线性可分的情况,是最原始的 SVM,它最核心的思想就是找到最大的分类间隔; 大部分线性可分情况下的线性分类器,引入了软间隔的概念。软间隔,就是允许一定量的样本分类错误; 线性不可分情况下的非线性分类器,引入了核函数。它让原有的样本空间通过核函数投射到了一个高维的空间中,从而变得线性可分。原创 2020-12-28 16:09:20 · 415 阅读 · 0 评论 -
朴素贝叶斯分类
使用场景:文本分类、情感分析和垃圾邮件识别。其中情感分析和垃圾邮件识别都是通过文本来进行判断,朴素贝叶斯也常用于自然语言处理 NLP 的工具。sklearn 机器学习包提供了 3 个朴素贝叶斯分类算法,分别是高斯朴素贝叶斯(GaussianNB)、多项式朴素贝叶斯(MultinomialNB)和伯努利朴素贝叶斯(BernoulliNB)。高斯朴素贝叶斯:特征变量是连续变量,符合高斯分布,比如说人的身高,物体的长度。 多项式朴素贝叶斯:特征变量是离散变量,符合多项分布,在文档分类中特征变量体现在原创 2020-12-25 17:36:48 · 606 阅读 · 0 评论 -
利用python计算各类距离
Jaccard相似度1、当两个集合元素个数相同,则直接调包from numpy import *import scipy.spatial.distance as dist # 导入scipy距离公式matV = mat([[1,1,0,1,0,1,0,0,1],[0,1,1,0,0,0,1,1,1]])print ("dist.jaccard:", dist.pdist(matV,'jaccard'))2、当集合元素个数不同def correlation(set_a,set_b原创 2020-05-27 15:03:32 · 5304 阅读 · 0 评论