机器学习
文章平均质量分 73
*Snowgrass*
主要记录一些技术知识点,并转载一些好技术文章,仅作为学习笔记。若内容有欠缺、不恰当处,欢迎指正。
展开
-
随机森林-特征选择
随机森林是一种相当简单、容易理解的方法,他的基本原理就是,从原数据集中有放回的采样获得若干个子集,基于每个子集训练出不同的基分类器,再通过基分类器的投票获得最终的分类结果。另外,随机森林还有值得一提的是,随机森林不但对样本进行采样,也会对属性进行采样,即横竖采样,不过对属性的采样不再是自助采样法了,只是简单的按一定比例随机采样。将生成的多棵决策树组成随机森林。要进行特征选择,得现有一个对特征好坏的度量,我们先来看一下,随机森林是如何度量一个特征的好坏的,再来看它如何进行的特征选择。......转载 2022-08-10 15:49:07 · 11489 阅读 · 0 评论 -
xgboost参数-调参
目录一、xgboost 原生接口重要参数训练参数预测函数绘制特征重要性回归例子二、xgboost 的 sklearn 风格接口XGBClassifier基本使用XGBRegressor基本使用三、xgboost 调参思路四、参考文章 xgboost 包含原生接口和 sklearn 风格接口两种,并且二者都实现了分类和回归的功能。如果想了解一些理论性的内容,可以看看之前的文章: XGBoost算法的相关知识一、xgboost 原生接口重要参数...转载 2021-09-27 14:28:24 · 22061 阅读 · 0 评论 -
数据分析方法概述
方法 说明 对比分析 单一的数据毫无意义,只有经过对比才能体现数据的好坏。常见的对比类型有环比,同比等 细分分析 层层递进,在多个子维度上分析数据,时间维度和渠道的交叉分析 交叉分析 即在多个维度上对比分析数据 漏斗分析 主要用户转化率的分析 比率分析 更偏向属于一种数据展示手段,特别是在数据结论中。可以起到清晰强化对比的作用。 过去/现状/趋势分析 一个时间段的数据要么可以得出对过去和现状的总结,要么就是对未来的趋势分析。接下来都是指导我们原创 2021-08-31 10:03:51 · 148 阅读 · 0 评论 -
随机森林调参
在scikit-learn中,RandomForest的分类器是RandomForestClassifier,回归器是RandomForestRegressor,需要调参的参数包括两部分,第一部分是Bagging框架的参数,第二部分是CART决策树的参数。一、Bagging框架的参数:1.n_estimators:也就是弱学习器的最大迭代次数,或者说最大的弱学习器的个数,默认是10。一般来说n_estimators太小,容易欠拟合,n_estimators太大,又容易过拟合,一般选...转载 2021-08-19 14:30:05 · 5381 阅读 · 0 评论 -
随机森林oob_score及oob判断特征重要性
Sklearn RandomForest算法(有监督学习),可以根据输入数据,选择最佳特征,减少特征冗余;同理,可以通过特征的排列组合,选择最优的组合特征,优化下游算法性能 原理:由于随机决策树生成过程采用的Boostrap,所以在一棵树的生成过程并不会使用所有的样本,未使用的样本就叫(out_of_bag)oob袋外样本。通过袋外样本,可以评估这个树的准确度;此外,其他子树按这个原理评估。最后,取平均值即是随机森林算法的性能。 特征选择...原创 2021-08-19 14:18:54 · 7693 阅读 · 3 评论 -
K折验证交叉验证
K折验证交叉验证 交叉验证既可以解决数据集的数据量不够大问题,也可以解决参数调优的问题。这块主要有三种方式:简单交叉验证(HoldOut检验)、k折交叉验证(k-fold交叉验证)、自助法。该文仅针对k折交叉验证做详解。简单交叉验证方法:将原始数据集随机划分成训练集和验证集两部分。 比如说,将样本按照70%~30%的比例分成两部分,70%的样本用于训练模型;30%的样本用于模型验证。缺点:(1)数据都只被所用了一次,没有被充分利用 (2)在验证...转载 2021-08-17 18:08:20 · 47513 阅读 · 3 评论 -
RandomForestRegressor 参数
sklearn.ensemble.RandomForestRegressor( n_estimators=10, criterion='mse', max_depth=None, min_samples_split=2, ...转载 2021-08-17 10:43:14 · 22766 阅读 · 2 评论 -
分割训练集和测试集(train_test_split)
X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)# train_data:所要划分的样本特征集# train_target:所要划分的样本结果# test_size:样本占比,如果是整数的话就是样本的数量# random_state:是随机数的种子。.原创 2021-08-16 16:36:45 · 2813 阅读 · 0 评论 -
K折交叉验证(KFold)
K折交叉验证:sklearn.model_selection.KFold(n_splits=n, shuffle=False, random_state=None)思路:将训练/测试数据集划分为n个互斥子集,每次用其中一个子集当作验证集,剩下的n-1个作为训练集,进行n次训练和测试,得到n个结果注:对于不能均等份的数据集,其前n_samples % n子集拥有int(n_samples /n)+ 1个样本,其余子集都只有int(n_samples /n)样本参数说明:n_splits:表..原创 2021-08-16 16:15:25 · 5944 阅读 · 4 评论 -
r2_score使用方法
R2通俗地理解为使用均值作为误差基准,看预测误差是否大于或者小于均值基准误差。R2_score = 1,样本中预测值和真实值完全相等,没有任何误差,表示回归分析中自变量对因变量的解释越好。R2_score = 0。此时分子等于分母,样本的每项预测值都等于均值。根据公式,我们可以写出R2_score实现代码1- mean_squared_error(y_test,y_preditc)/ np.var(y_test)也可以直接调用sklearn.metrics中的r2_scor...转载 2021-07-23 15:53:56 · 13806 阅读 · 0 评论 -
回归模型的性能的评价指标
评价指标主要有:RMSE(平方根误差)、MAE(平均绝对误差)、MSE(平均平方误差)、R2_score。但是当量纲不同时,RMSE、MAE、MSE难以衡量模型效果好坏。这就需要用到R2_score。转载 2021-07-23 15:45:33 · 2319 阅读 · 0 评论 -
GB与Boosting区别
GB算法与Boosting算法区别Boosting算法:开始时给每个样本附上权重的,在每次迭代的时候就会增加错的样本的权重,减少对的样本的权重,经过N次迭代之后,会得到N个分类器,然后我们再将他们组合起来,得到最终模型。GB算法:每一次迭代的目标都是减少上一次的残差,所以在残差减少的方向上建立一个新的模型。在GB算法框架上加入决策树,就是GBDT(GradientBoost Decision Tree)算法。偏差和方差的区别 偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大原创 2020-10-20 15:18:38 · 295 阅读 · 0 评论 -
Sklearn.metrics函数
Python Sklearn.metrics 简介及应用示例利用Python进行各种机器学习算法的实现时,经常会用到sklearn(scikit-learn)这个模块/库。无论利用机器学习算法进行回归、分类或者聚类时,评价指标,即检验机器学习模型效果的定量指标,都是一个不可避免且十分重要的问题。因此,结合scikit-learn主页上的介绍,以及网上大神整理的一些资料,对常用的评价指标及其实现、应用进行简单介绍。一、 scikit-learn安装网上教程很多,此处不再赘述,具体可以参照:ht转载 2020-10-19 16:25:53 · 26495 阅读 · 0 评论 -
sklearn 各种包导入
sklearn 各种包导入1、聚类模型from sklearn.cluster import Kmeans2、数据集from sklearn.datasets import load_irissklearn标准数据结构data = [[feature1,feature2,feature3]*nsample]target = [0,2,,1,2,1,2,0...]3、特征选择 用于筛选特征from sklearn.feature_selection import Se.转载 2020-10-19 16:12:33 · 1530 阅读 · 0 评论 -
集成学习
集成学习集成学习(ensemble learning)----通过构建并结合多个机器学习器来完成学习任务的机器学习算法。集成学习用于: 1)分类问题集成 2)回归问题集成 3)特征选取集成 4)异常点检测集成集成学习主要问题:1)是如何得到若干个个体学习器; 2)如何选...原创 2020-10-16 16:56:58 · 465 阅读 · 0 评论 -
GridSearchCV()参数
GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数。注:适合于小数据集,一旦数据的量级上去了,很难得出结果。 数据量比较大的时候可以使用一个快速调优的方法——坐标下降(一种贪心算法:拿当前对模型影响最大的参数调优,直到最优化;再拿下一个影响最大的参数调优,如此下去,直到所有的参数调整完毕。这个方法的缺点就是可能会调到局部最优而不是全局最优,但是省时间省力,巨大的优势面前,还是试一试吧,后续可以再拿bagging再优化)。 Gri...转载 2020-10-16 16:07:45 · 14698 阅读 · 7 评论 -
基于Python的ADF单位根检验方法——时间序列平稳检验
目录[隐藏]Abstract 平稳随机过程 肉眼检验 单位根检验 ADF Test in Python ReferenceAbstract在ARMA/ARIMA这样的自回归模型中,模型对时间序列数据的平稳是有要求的,因此,需要对数据或者数据的n阶差分进行平稳检验,而一种常见的方法就是ADF检验,即单位根检验。平稳随机过程在数学中,平稳随机过程(Stationary r...转载 2020-04-20 15:17:47 · 17136 阅读 · 2 评论 -
模型评估指标
评估指标根据任务类型分类:分类指标、回归指标、聚类指标和排序指标等。一、分类指标二分类的混淆矩阵:TP (真正,True Positive):表示真实结果为正例,预测结果也是正例;FP (假正,FalsePositive ):表示真实结果为负例,预测结果却是正例;TN (真负, True Negative ):表示真实结果为正例,预测结果却是负例;FN (假负,False ...原创 2020-04-01 21:10:01 · 1397 阅读 · 1 评论 -
机器学习流程
机器学习主要有四个流程:问题建模。明确业务指标和模型预测目标,根据预测目标选择适当的评估指标用于模型评估。接着从原始数据中选择最相关的样本子集用于模型训练,并对样本子集划分训练集和测试集,应用交叉验证的方法对模型进行选择和评估。 特征工程。完成问题建模、对数据进行筛选和清洗之后的步骤,就是对数据抽取特征,即特征工程。 模型选择。经过特征工程得到一份高质量的特征之后,需要考虑哪个模型能够更准...原创 2020-04-01 20:14:19 · 997 阅读 · 0 评论 -
LogisticRegression函数各参数及意义
原创 2019-08-07 17:55:29 · 2927 阅读 · 1 评论 -
准确率、精确率、召回率、F1值、ROC、AUC
一、TP、TN、FP、FN概念混淆矩阵描述TP、TN、FP、FN。 混淆矩阵 正类(predict label) 负类(predict label) 正类(label) True Posit...原创 2020-02-25 13:55:30 · 862 阅读 · 0 评论 -
动态规划(Dynamic programming)
动态规划(Dynamicprogramming)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或分治)的方式去解决。 适用动态规划解决的问题特点:最优化原理、最优化原理、有重叠子问题。目标:给定两个字符串s1和s2以及编辑操作(如...原创 2019-11-05 15:52:07 · 256 阅读 · 0 评论 -
奇异值分解(SVD)
下面说一下在 python 中实现 SVDNumpy 有一个 linalg 的线性代数工具箱。接下来我们了解一下 领用该工具箱如何实现下矩阵的SVD处理。矩阵A = [[1,3,5,9,7],[8,12,3,4,7],[3,1,5,7,13],[11,10,5,9,3],[14,16,2,8,7]]from numpy import ∗U,Sigma,VT = linalg.s...原创 2019-10-24 15:04:43 · 222 阅读 · 0 评论 -
监督学习、无监督学习、半监督学习、强化学习
目录监督学习非监督学习半监督学习强化学习懒散学习法积极学习法监督学习1)训练数据有标柱类别;2)指根据训练数据学习一个模型,然后能对后来的输入做预测;3)输入变量和输出变量可以是连续的,也可以是离散的。若输入变量和输出变量均为连续变量,则称为回归;输出变量为有限个离散变量,则称为分类。4)必须要有训练集与测试样本。在训练集中找规律,而对测试样本使用这...原创 2019-08-22 16:04:17 · 287 阅读 · 0 评论 -
常用聚类方法
未完待续!原创 2019-08-22 17:21:02 · 266 阅读 · 0 评论 -
降维方法总结
未完待续!原创 2019-08-22 17:24:01 · 173 阅读 · 0 评论 -
分类与回归的区别
分类与回归的区别:分类是判断对应类别,而回归的输出是一个具体值。后续补充内容!原创 2019-08-26 09:39:24 · 151 阅读 · 0 评论 -
距离度量方法
距离定义 假设有n维向量a、b、c,则定义距离满足以下三个条件:1)非负性:d(a,b)>=0,当且仅当a=b时,d(a,b)=0;2)对称性:d(a,b)=d(b,a);3)三角不等式:d(a,b)<=d(a,c)+d(c,b)距离度量方法 在特征空间中,取出两个特征,它们分别是n维的特征向量(1)明可夫斯基距离(闵可夫斯基距离)...原创 2019-08-27 15:11:20 · 1243 阅读 · 0 评论 -
机器学习评价指标汇总
未完待续!!!原创 2019-08-21 17:01:22 · 136 阅读 · 0 评论