草庐IT

PCA算法原理及python实现

【原理】PCA算法原理1.PCA算法PCA(principalComponentAnalysis),即主成分分析方法,是一种使用最广泛的数据压缩算法。在PCA中,数据从原来的坐标系转换到新的坐标系,由数据本身决定。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。第一个新坐标轴选择的是原始数据中方差最大的方法,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向。重复该过程,重复次数为原始数据的特征维数。通过这种方式获得的新的坐标系,我们发现,大部分方差都包含在前面几个坐标轴中,后面的坐标轴所含的方差几乎为0,。于是,我们可以忽略余下的坐标轴,只保

PCA(主成分分析法)的Python代码实现(numpy,sklearn)

PCA(主成分分析法)的Python代码实现(numpy,sklearn)语言描述算法描述示例1使用numpy降维2直接使用sklearn中的PCA进行降维语言描述PCA设法将原来众多具有一定相关性的属性(比如p个属性),重新组合成一组相互无关的综合属性来代替原属性。通常数学上的处理就是将原来p个属性做线性组合,作为新的综合属性。PCA中的线性变换等价于坐标变换,变换的目的是使nnn个样本点在新坐标轴y1y_1y1​上的离散程度(方差)最大,这样变量y1y_1y1​就代表了原始数据的绝大部分信息,即使忽略y2y_2y2​也无损大局,从而把两个指标压缩成一个指标。从几何上看,找主成分的问题就是找

PCA(主成分分析法)的Python代码实现(numpy,sklearn)

PCA(主成分分析法)的Python代码实现(numpy,sklearn)语言描述算法描述示例1使用numpy降维2直接使用sklearn中的PCA进行降维语言描述PCA设法将原来众多具有一定相关性的属性(比如p个属性),重新组合成一组相互无关的综合属性来代替原属性。通常数学上的处理就是将原来p个属性做线性组合,作为新的综合属性。PCA中的线性变换等价于坐标变换,变换的目的是使nnn个样本点在新坐标轴y1y_1y1​上的离散程度(方差)最大,这样变量y1y_1y1​就代表了原始数据的绝大部分信息,即使忽略y2y_2y2​也无损大局,从而把两个指标压缩成一个指标。从几何上看,找主成分的问题就是找

机器学习 基础理论 学习笔记 (8)特征选择(feature selection)(一)

0.说明本文也许比较乱,请看目录再食用。后续会出文机器学习基础理论学习笔记(8)特征选择(featureselection)(二)将分类问题和回归问题分开总结。以及或将出文机器学习基础理论学习笔记(8)特征选择(featureselection)(三)将sklearn上面实现的特征选择API和方法总结。1.特征选择特征选择是特征工程里的一个重要问题,其目标是寻找最优特征子集。特征选择能剔除不相关(irrelevant)或冗余(redundant)的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目的。另一方面,选取出真正相关的特征简化模型,协助理解数据产生的过程。并且常能听到“数据和

机器学习 基础理论 学习笔记 (8)特征选择(feature selection)(一)

0.说明本文也许比较乱,请看目录再食用。后续会出文机器学习基础理论学习笔记(8)特征选择(featureselection)(二)将分类问题和回归问题分开总结。以及或将出文机器学习基础理论学习笔记(8)特征选择(featureselection)(三)将sklearn上面实现的特征选择API和方法总结。1.特征选择特征选择是特征工程里的一个重要问题,其目标是寻找最优特征子集。特征选择能剔除不相关(irrelevant)或冗余(redundant)的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目的。另一方面,选取出真正相关的特征简化模型,协助理解数据产生的过程。并且常能听到“数据和

基于sklearn的集成学习实战

集成学习投票法与bagging投票法sklearn提供了VotingRegressor和VotingClassifier两个投票方法。使用模型需要提供一个模型的列表,列表中每个模型采用tuple的结构表示,第一个元素代表名称,第二个元素代表模型,需要保证每个模型拥有唯一的名称。看下面的例子:fromsklearn.linear_modelimportLogisticRegressionfromsklearn.svmimportSVCfromsklearn.ensembleimportVotingClassifierfromsklearn.pipelineimportmake_pipelinef

基于sklearn的集成学习实战

集成学习投票法与bagging投票法sklearn提供了VotingRegressor和VotingClassifier两个投票方法。使用模型需要提供一个模型的列表,列表中每个模型采用tuple的结构表示,第一个元素代表名称,第二个元素代表模型,需要保证每个模型拥有唯一的名称。看下面的例子:fromsklearn.linear_modelimportLogisticRegressionfromsklearn.svmimportSVCfromsklearn.ensembleimportVotingClassifierfromsklearn.pipelineimportmake_pipelinef

初学者安装Sklearn详细步骤(有详细步骤截图,亲测完成)

一、安装前的准备        1.1安装python(我安装的是最新版3.10.2)        1.2Win10操作系统二、正式安装(Win+R-->'cmd'进入命令提示符也就是终端)        在安装sklearn之前,需要安装两个库,即numpy+mkl和scipy。但是最好不要使用pip3直接在终端安装,因为pip3默安装的是numpy,而不是numpy+mkl。        下面是numpy+mkl和scipy的第三方库(里面内容较多,但是是按照首字母排序的)PythonExtensionPackagesforWindows-ChristophGohlke(uci.edu

初学者安装Sklearn详细步骤(有详细步骤截图,亲测完成)

一、安装前的准备        1.1安装python(我安装的是最新版3.10.2)        1.2Win10操作系统二、正式安装(Win+R-->'cmd'进入命令提示符也就是终端)        在安装sklearn之前,需要安装两个库,即numpy+mkl和scipy。但是最好不要使用pip3直接在终端安装,因为pip3默安装的是numpy,而不是numpy+mkl。        下面是numpy+mkl和scipy的第三方库(里面内容较多,但是是按照首字母排序的)PythonExtensionPackagesforWindows-ChristophGohlke(uci.edu

【机器学习】SVM多分类问题及基于sklearn的Python代码实现

SVM多分类问题及Python代码实现1.什么是SVM?2.SVM的分类3.SVM决策函数类型4.SVM多分类的Python代码实现参考资料1.什么是SVM?对于这个点已经介绍的非常多了,不管是西瓜书还是各种博客,就是需要找到一个超平面,用这个超平面把数据划分成两个类别,最开始的SVM就是在二分类的问题上应用,在之后被扩展到多类别的分类。对于SVM的推导公式不是很复杂,在此就不进行推导,大概清楚最基本的原理然后就进行应用就可以了。如上图所示,我们就是要找到中间这条线,使得∣∣w∣∣||w||