机器学习
文章平均质量分 74
梦想画家
开源软件爱好者,乐于博客分享,业余时间喜欢跑步和科幻,希望与意趣相投朋友一起学习交流。
展开
-
快速搞懂时间序列数据平稳检验
在对时间序列数据进行分析预测时,平稳时间序列数据预测效果更好。所以首先要检测数据是否平稳,没有趋势的时间序列数据,我们称为平稳的,即随着时间的推移,表现出恒定的方差,具有恒定的自相关结构。本文介绍如何检测数据集是否平稳的方法,并给出实战过程代码。常用的检测方法有KPSS,Phillips–Perron,和 Augmented Dickey-Fuller,本文主要介绍ADF检测。原创 2024-02-18 11:30:17 · 1400 阅读 · 0 评论 -
大模型进阶应用——检索增强生成
RAG可以使用来自外部资源的内容来生成准确的摘要,从而节省大量时间。例如,经理和高级管理人员都是忙碌的人,他们没有时间筛选大量的报告。使用基于RAG的应用程序,他们可以从文本数据中快速获取最关键的发现,并更有效地做出决策,而不必阅读冗长的文档。RAG系统的有效性在很大程度上取决于输入该系统的数据的质量。如果应用程序访问的源内容很差,生成的响应将是不准确的。组织必须提供高质量内容并实践微调过程。对于实际商业应用程序中,在RAG系统中使用数据集之前,非常有必要让业务专家来检查和补充业务空白信息。原创 2024-01-28 19:23:43 · 1197 阅读 · 0 评论 -
用大模型增强数据分析应用
大模型出道即巅峰,它广受欢迎并在很多领域中成为有力的工具,当然包括数据分析领域。你可能不确定如何把大模型整合到你的工作中,如帮助你用数据驱动决策。本文介绍一些思路带你在不同应用场景下使用数据分析提示词。当然不仅局限与ChatGPT,其他国内大模型也一样适用。原创 2024-01-21 17:21:49 · 1924 阅读 · 1 评论 -
Scikit-Learn快速生成分类数据集
现在你学会了使用scikit-learn的make_classification函数生成不同类型数据集了吧。包括二分类或多分类、不平衡数据集、挑战性难分类的数据集等。更多参数可以查看官方文档。原创 2023-09-13 20:12:40 · 1954 阅读 · 0 评论 -
Python快速检验数据分布
本文介绍了如何利用python进行数据分布检验。,通过官方文档可以进一步学习其他参数的,实现更多数据检验能力。假设检验的前提是确定数据的分布,本文介绍Python检验数据样本是否服从一定分布。使用方法是柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test),K-S检验方法适用于探索连续型随机变量的分布,对于离散分布(二项分布和泊松分布)需要使用其他方法进行检验。原创 2023-08-23 11:59:29 · 2158 阅读 · 0 评论 -
Python生成中文词云图
本文介绍了Python如何生成词云,主要过程包括加载数据、中文分词、自定义形状、生成词云。上面过程可以进一步改进,如过滤停顿词,保持结果为文件或流,让其他应用直接调用。原创 2023-07-23 20:55:06 · 1627 阅读 · 0 评论 -
Python实现线性判别分析教程
Dk(x)=x∗(μk/σ2)–(μk2/2σ2)+log(πk)当有一组预测变量需要被分为两个类,一般使用逻辑回归模型。举例,使用信用分和平均存款余额预测贷款是否违约。但当预测变量有多种可能时,则一般会使用线性判别分析(linear discriminant analysis, 简称 LDA)....原创 2022-08-29 16:42:03 · 2936 阅读 · 0 评论 -
Python实现逻辑回归模型教程
理解多个预测变量与连续响应变量之间关系通常适用线性回归,但当响应变量为类别变量时需要适用逻辑回归。逻辑回归是尝试从数据集中把W观测记录分为不同类别的分类算法。相比于线性回归的响应值是连续变量,上述示例的响应变量仅包括两个值中的一个。...原创 2022-08-29 14:45:29 · 9675 阅读 · 1 评论 -
Python 实现Ridge Regression教程
一般多重线性回归,使用p个预测变量和一个响应变量拟合模型,形式如下:Y =β0+β1X1+β2X2+…+βpXp+εXjβjXj用最小二乘法选择β0、β1、B2、…、βp的值,以最小化残差平方和(RSS):RSS =Σ(yi–y^i)2yiy^i。原创 2022-08-25 13:55:26 · 1412 阅读 · 0 评论 -
Python构建简单线性回归模型教程
本文介绍如何构建简单线性回归模型及计算其准确率,最后介绍如何持久化模型。原创 2022-08-24 16:47:38 · 7321 阅读 · 3 评论 -
Python计算二项分布教程
最常用二项实验为抛硬币实验。如果随机变量服从二项分布,那么概率x=k(成功的次数)公式如下:P(X=k) =nCk∗pk∗(1−p)n−k参数说明:n: 实验次数k: 成功次数p: 实验成功的概率nCk: n次实验获得k次成功。原创 2022-08-24 11:46:50 · 5026 阅读 · 0 评论 -
独热编码和标签编码
假设有猫、狗、斑马图片数据集,需要通过神经网络进行分类。输入很好理解————图像(处理成黑白图像)中的每个像素作为一个输入神经元,输出好像有点复杂。猫、狗、斑马属于类别变量,很多机器学习算法不能处理类别变量,因此需要对类别变量进行编码。原创 2022-08-23 15:35:06 · 2512 阅读 · 0 评论 -
Python计算泊松分布教程
泊松分布描述在给定时间间隔内发生K次事件的概率。如果给定随机变量X服从泊松分布,那么X恰等于k次的公式为:P(X=k) = λ* e/ k!泊松实验的一个例子是某医院每小时分娩的人数。例如,假设某家医院每小时平均分娩10例。这是一个泊松实验,因为它有以下四个性质:实验中成功的次数是可以计算的-我们可以计算出生的次数。在特定的时间间隔内发生的平均成功次数是已知的——已知平均每小时发生10次分娩。每个结果都是独立的——一个母亲在给定的一小时内生产的概率是独立的。...原创 2022-08-19 08:30:43 · 7703 阅读 · 0 评论 -
Scala 模式匹配和case类
模式匹配是C或java中switch语句的泛化,match方法用于代替switch语句。它定义在Scala根类Any上,因此所有对象都可用。match方法包括一组case作为参数,每个表示一种模式,并且如果匹配可以执行一个或多个表达式。=>符号用于分割模式和表达式。本文通过实例说明模式匹配和case类的使用。...原创 2022-08-11 15:38:59 · 645 阅读 · 0 评论 -
如何使用Python画QQ图
QQ图,全称quantile-quantileplot,又称为分位图。通常用于判断一组数据是否服从某种理论分布,大多数情况用于判断是否服从正太分布。尽管Q-Q图不是正式的统计检验,但它提供了一种直观、简单方法来检查数据集是否为正态分布的。本文介绍如何使用Python创建QQ图。...原创 2022-07-18 20:30:06 · 10426 阅读 · 1 评论 -
介绍汉明距离及计算示例
汉明距离是以美国数学家理查德·汉明的名字命名的,他在1950年关于汉明码的论文中提出了该举例度量指标。它被广泛用于多个学科,如信息论、编码理论和密码学。举例:“karolin” 和 “kathrin” 两个字符串汉明距离为s 3 (差异字符有: r-t, o-h, l-r),1011100 和 1001000 汉明距离为 2 (不同二进制数为: 1-0 和 1-0)31738 和 32337 汉明距离为 3 (不同整数位: 1-2, 7-3, 和 8-7).汉明距离在解决很多问题中被证明是非常有用。例如原创 2022-07-03 15:43:24 · 5421 阅读 · 0 评论 -
K近邻分类算法实战教程
KNN算法中的k表示邻近数据结点的数量,其算法过程如下:选择邻近结点数量K计算出测试数据结点和K个最近结点的距离在这个K个距离中,对每个分类进行计数依据少数服从多数原则,将测试数据结点归入在K个点中占比最高的那一类对于KNN分类算法,两点的距离计算采用欧式距离。请看下图:假设数据集包括两类,分别为红色和蓝色表示。我们选择k为5,即基于欧式距离考虑5个最近结点,所以当测试新数据点时,5个结点,其中国三个蓝色、两个红色。则认为新数据点分类为蓝色。鸢尾花数据集(Iris)包括3种鸢尾(setosa, virgi原创 2022-06-26 20:54:46 · 665 阅读 · 0 评论 -
人工神经网络算法实战教程
ANN主要用于解决对人很容易但对机器很难的问题,如:识别猫狗图片、数字图片。这些问题通常也称为模式识别,广泛应用于光学字符识别(OCR, optical character recognition)、物体检测等。本文主要介绍ANN并通过R示例介绍其实现过程。1943年,沃伦·麦卡洛克(Warren McCulloch)和沃尔特·皮茨(Walter Pitts)建立了首个神经元数学模型。在他们的研究论文中,描述了神经元的简单数学模型,它代表了神经系统中接受输入、处理输入并返回输出的单个细胞,该模型被称为McC原创 2022-06-26 17:27:40 · 2928 阅读 · 0 评论 -
热力图展示相关矩阵
量化两个变量之间的关系通常使用皮尔逊相关系数,即衡量变量间的线性相关程度。相关系数取值范围:[-1,1]:越远离0,相关性越强。当变量数量超过2个时,通常使用相关矩阵表示,即用方阵形式表格表示每对变量之间的相关性。下面通过Python示例说明如何计算相关矩阵,并使用热力图进行表示。首先创建示例数据集:下面计算相关矩阵:表格对角线的相关系数都为1,表示每个变量都完全自相关。其他数值表示每对变量的相关系数:assists 和 rebounds 相关系数为 -0.245.assists 和 points原创 2022-06-23 21:09:36 · 3242 阅读 · 0 评论 -
计算欧式距离和余弦相似度
本文介绍Python计算欧式距离和余弦相似度。为了余弦相似度需要使用欧式距离,我们首先介绍欧式距离。欧式距离标识两个向量之间的距离,计算公式如下:欧式距离 = Σ(Ai−Bi)2\sqrt{Σ(A_i-B_i)^2}Σ(Ai−Bi)2python计算欧式距离,可以使用numpy.linalg.norm函数:输出结果显示两个向量的欧式距离为:12.409673645990857如果两个向量长度不等,函数会产生警告:也可以针对数据框的列计算欧式距离:余弦相似度余弦相似度用向量空间中两向量夹角的余弦原创 2022-06-20 21:39:51 · 1235 阅读 · 0 评论 -
如何对类别变量进行独热编码
大部分机器学习算法是基于向量空间中度量来进行计算的,使用独热编码(One-hot encoding, 也称为哑变量 dummy variable)会让特征之间的距离计算更加合理。通过独热编码把类别变量转换为机器学习算法可使用的格式,其基本思想是对原始类别变量的每个值创建新的变量,并赋值为 1 和 0下图展示如何进行独热编码,把Team变量转为新的变量:下面把原始变量转为独热编码形式:R 有多种方式很容易实现独热编码。可以使用工具包提供函数实现,也可以手动实现。下面定义演示数据:我们先看caret包中提供原创 2022-06-16 21:11:46 · 2843 阅读 · 0 评论 -
pandas数据框loc属性语法及示例
pandas.DataFrame.loc[] 是数据框的属性,通过指定标签或布尔数组来访问数据框的一组行和列。pandas.DataFrame是带有轴标签的二维表数据结构,如列和行。从数据框选择列结果是新的数据框,它仅包括特性从原数据框中选择的列。pandas.DataFrame.loc 的关键说明:loc用于通过数据框的名称(标签)选择行列,是数据框最常用的属性。数据框的主要优点是容易使用,当你使用pandas.DataFrame.loc[] 属性去选择或过滤数据框时,你会认同这个优势。第一个用于通过名称原创 2022-06-05 16:33:21 · 6643 阅读 · 2 评论 -
读Json文件生成pandas数据框
有时可能需要转换json文件位pandas数据框。使用pandas内置的read_json()函数很容易实现,其语法如下:下面通过几个示例进行说明。假设json文件my_file.json的格式如下:我们使用pandas的函数read_json,只要只从orient参数位records:输出结果:index格式假设json文件格式为:与上面实现代码一样,仅需要修改orient=‘index’:输出结果:columns 类型假设json文件格式为:加载代码修改orient参数为’column原创 2022-06-04 21:01:44 · 803 阅读 · 0 评论 -
层次聚类示例实战教程
聚类是一种机器学习算法,它试图把数据集的观测值分为不同的簇。即相似观测值聚为簇,反之不相似的在不同簇中。聚类属于无监督,它尝试从数据集中发现结构,而不是预测响应变量的值。聚类通常用于市场分析,例如某公司有下列信息:家庭收入家庭人数户主职业距市区距离如果这些是有效信息,聚类可以识别类似家庭可能会购买一定产品或对某类广告响应较好。聚类最常用算法是KMeans,但需要预先设定聚类数量。对应的层次聚类算法不需要预先设定聚类数量,它能够生成树形结构——称为系统树图。介绍层次聚类与KMeans类似原创 2022-05-26 21:22:02 · 3145 阅读 · 2 评论 -
通过示例快速理解二次回归
当两个变量有线性关系时,通常使用简单线性回归测定它们的关系。但变量间有二次关系时,应该使用二次回归进行拟合。本文介绍R如何实现二次回归。示例假设我们希望理解工作时长与幸福感之间的关系。现收集到下面数据集,包括每周工作时长以及调查反馈的幸福感(0~100):#create datadata <- data.frame(hours=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60), happiness=c(14, 28,原创 2022-05-26 21:01:50 · 5498 阅读 · 0 评论 -
指数回归实战教程
指数回归是一种回归模型,主要用于下列场景:指数增长:开始增长缓慢,然后无限制快速加速;指数衰减:开始快速衰减,然后衰减缓慢直至趋近0.指数回归模型的方程形式如下:y=abx{y = ab^x}y=abxy : 响应变量x : 预测变量a,b : 描述x和y关系的回归系数下面通过R示例展示其实现过程。指数回归R示例准备数据首先创建有x,y组成的模拟数据:x=1:20y=c(1, 3, 5, 7, 9, 12, 15, 19, 23, 28, 33, 38, 44, 50, 5原创 2022-05-22 21:36:59 · 5768 阅读 · 0 评论 -
如何获取主成分实战教程
主成分分析(Principal components analysis,简称PCA)是无监督机器学习算法,用于发现主成分,即原始预测变量的组合形式,用于数据集中大部分变化。PCA分析的目标是用比原数据集更少的变量解释数据集中的大多数可变性。假设数据集包括p个变量,每次取其中两个变量利用散点图检查相关性,要是变量较多,则散点图数量会变得非常大。p个变量则包括p*(p-1)个散点图,如果p=15,则需要105个散点图。幸运的是,PCA提供了尽可能利用低维变量表示多维数据集的方式。如果能够在二维空间中获得大部原创 2022-05-18 20:07:49 · 1475 阅读 · 0 评论 -
主成分回归分析实战教程
本文介绍主成分回归分析(Principal Components Regression),并通过示例展示其实现过程。给定p个预测变量和响应变量,多元线性回归使用如最小二乘法获得最小误差平方和(RSS):RSS = Σ(yi–y^i)2{Σ(y_i – ŷ_i)^2}Σ(yi–y^i)2-Σ: 求和符号-yi{y_i}yi: 第i个观测的实际响应值-y^i{ŷ_i}y^i: 基于多重线性回归模型获得预测值然而,当预测变量高度相关时,会产生多重共线问题,导致模型系数估计不可靠、高方差.原创 2022-05-14 22:01:58 · 6747 阅读 · 0 评论 -
最佳回归模型选择指标——马洛斯CP值
本文介绍最佳回归模型选择指标——马洛斯CP指标,并通过示例说明选择过程及如何计算。马洛斯CP(Mallows’Cp) 指标用于在多个不同模型中选择最佳回归模型。其计算公式为:Cp = RSSp/S2–N+2(P+1){RSS_p/S^2 – N + 2(P+1)}RSSp/S2–N+2(P+1)参数说明:RSSp{RSS_p}RSSp : 有P个预测变量模型的残差平方和S2{S^2}S2 : 模型的均方差(通过MSE计算)N :样本大小P :预测变.原创 2022-05-14 12:05:11 · 4668 阅读 · 0 评论 -
卡方检验与方差分析的区别
卡方检验和方差分析(ANOVA:Analysis of Variance)是两种常用的统计检验,但了解两者差异并知道什么场景如何使用那种检验很重要。本文介绍两类检验的差异,并通过示例说明基于场景选择那种检验方法。卡方检验在统计学中,有两种不同类型的卡方检验:卡方拟合优度检验用于检验一个类别变量是否服从假设的分布。举例:想知道骰子是否均匀,我们抛投它50次,并记录它落在每个数字上的次数。想了解顾客每周天进店次数相等,随机选择一周,并记录没有进店人数。卡方独立性检验用于检验两个类.原创 2022-05-03 21:07:09 · 13241 阅读 · 0 评论 -
R 实现线性判别分析教程
本文介绍线性判别分析概念,并通过示例介绍R的实现过程。介绍线性判别分析模型线性判别分析用于基于一组变量把响应变量分为俩类或更多的算法。但线性判别算法对数据有一些要求:响应变量必须是类别变量。线性判别是分类算法,因此响应变量应该是类别变量。预测变量应遵循正太分布。首先检查每个预测变量是否大致符合正太分布,如果不满足,需要选择转换算法使其近似满足。每个预测变量有相同的标准差。现实中很难能够满足该条件,但我们可以对数据进行标准化,让变量统一为标准差为1,均值为0.检查异常值。在用于.原创 2022-01-14 19:49:31 · 3720 阅读 · 1 评论 -
R实现KMeans聚类算法教程
本文和你一起学习无监督机器学习算法 ———— kmeans算法,并在R中给详细的实现示例和步骤。什么是k-means聚类算法聚类是从数据集中对观测值进行聚类的机器学习方法。它的目标是聚类相似观测值,不同类别之间差异较大。聚类是一种无监督学习方法,因为它仅尝试从数据集中发现结构,而不是预测应变量的值。下面是一个市场营销中对客户分类的场景,通过下面客户信息:家庭收入住房面积户主职业据城区距离我们利用这些信息进行聚类,可识别相似家庭,从而能够识别某类型家庭可能购买某种产品或对某种类型的广告.原创 2022-03-14 19:20:49 · 31848 阅读 · 4 评论 -
为什么样本大小很重要
样本大小指在一次实验研究中参与个体或收集记录的数量。样本大小很重要,因为它会直接影响估计总体参数的精度。本文针对该主题,通过示例让你对样本大小、置信度、置信区间有基本的理解。什么是置信区间实际应用中通常对衡量总体参数感兴趣,总体参数是描述总体的一些特征。假如我们想了解某个地区所有人员的平均身高。但如果对每个人进行测量太费时费力,通常做法是从总体随机抽取一些样本,然后使用样本估计总体参数。举例,我们在城市中随机抽取100人,收集样本的身高数据。然后计算样本的平均身高,但我们不能确定样本均值就是总体.原创 2022-05-01 19:53:19 · 2196 阅读 · 0 评论 -
使用R kmeans 算法实现异常检测
kmeans 采用计算数据每个元素到聚集中心点的距离方式判断异常值。利用R提供的kmeans函数把数据聚集为几个簇,然后再计算每个元素至簇中心的距离,最后选择最远距离的几个点,视为异常值。准备数据set.seed(97)test <- as_tibble(runif(100)*10) %>% mutate(id=row_number(), .before = "value")head(test, 10)# 增加几个异常值test %>% mutate(value=.原创 2021-12-11 19:47:09 · 4254 阅读 · 0 评论 -
线性回归模型的度量参数1- SST SSR SSE R-Squared
本文解释线性回归模型的度量参数,并通过示例给出其计算过程。模型度量参数概述线性回归用于找到一条线能够最佳拟合数据集。通常使用三个不同的平方和值衡量回归线实际拟合数据的程度。Sum of Squares Total (SST)单个数据点(观测值)于响应变量的均值差的平方和。Sum of Squares Regression (SSR)预测值ŷi与响应变量均值差的平方和。Sum of Squares Error (SSE)预测值ŷi与观测值差的平方和。三者之间的关系为:S.原创 2022-02-01 19:05:54 · 9367 阅读 · 0 评论 -
R 计算均方差MSE(mean squared error)
本文介绍MSE(均方差),并使用两种R方法实现。MSE(均方差)判定预测模型的准确度的常用方法是均方差MSE( mean squared error)。计算公示为:MSE = (1/n) * Σ(actual – prediction)^2Σ 求和符号n 样本大小actual 实际数据值prediction 预测数据值mse越小,预测模型准确性越高。R计算MSE依赖给定的数据格式,有两种方式很容易计算回归模型的MSE.从回归模型计算如果已经有了拟合回归模型,则可以很方便获得M.原创 2021-12-21 21:19:20 · 24202 阅读 · 2 评论 -
线性回归模型度量参数2- Multiple R R-Squared adjusted R-squared
本文解释线性回归模型的一些度量参数及其之间的关系,并通过示例说明其计算过程。模型度量参数概述当我们使用回归模型时,通常在输出包括一些度量拟合程度的参数。Multiple R多个变量之间多重相关性。对于简单线性回归模型,表示预测变量与响应变量之间的相关性;对于多重线性回归模型,响应变量的观测值和预测值之间的相关性。其平方值为R-Squared。R-Squared也称为决定系数,它是衡量线性回归模型拟合数据集的程度,表示一定比例响应变量的方差能够被预测变量解释。R-Squared .原创 2022-02-01 21:56:27 · 15849 阅读 · 0 评论 -
回归模型几个度量参数概念比较
回归模型几个度量参数概念比较本文我们介绍几个常用回归模型度量参数,分别对比它们之间的差异和应用场景。回归模型常用于量化一个或多个预测变量与响应变量之间的关系。当拟合回归模型时,我们需要了解预测变量预测响应变量的程度。常用指标有:mean squared error (MSE) 和 the root mean squared error (RMSE),另外还包括R-Squared。MSE(均方误差)判定预测模型的准确度的常用方法是均方差MSE( mean squared error)。计算公示为:原创 2022-02-02 19:19:10 · 3666 阅读 · 0 评论 -
如何平衡机器学习中偏差与方差
本文介绍偏差与方差的概念和K折交叉验证,并通过示例展示其实现过程。方差与偏差为了评估模型在数据集上的表现,我们需要衡量模型预测与观测数据的匹配程度。对于回归模型,通常使用的指标是MSE(mean squared error),其计算公式为:MSE = (1/n)*Σ(yi{_i}i – f(xi{_i}i))2{^2}2n 为观测数据量yi{_i}i 第i个观测数据的响应值f(xi{_i}i)) 为第i个观测数据对于的预测值模型预测值越接近响应值,则MSE越小。我们注意到MSE.原创 2022-04-23 17:31:32 · 2519 阅读 · 0 评论 -
R语言决策树实战教程
本文通过示例介绍R实现CART(classification and regression tree)过程。当一组预测变量与响应变量的关系为线性时,我们使用多重线性回归可以生成准确的预测模型。但当它们的关系为更复杂的非线性关系时,则需采用非线性模型。分类回归CART(classification and regression tree)方法使用一组预测变量构建决策树,用来预测响应变量。响应变量是连续的,我们能构建回归树;如果响应变量是分类类型,则构建分类树。下面通过示例构建回归和分类树过程。构建回.原创 2022-03-12 22:04:09 · 11100 阅读 · 4 评论