随笔分类 - 机器学习
ROC曲线绘制
摘要:1. 引入相关包 使用matplotlib包作为绘图库,故要引入相关的包 为了使画出的图更为符合期刊要求,这里引入SciencePlots。 它是一个基于Matplotlib的补充包,里面主要包含了一些以.mplstyle为后缀的图表样式的配置文件。这样,你画图的时候只需要通过调用这些配置文件,就能
分类算法评价
摘要:分类算法有很多,不同分类算法又用很多不同的变种。不同的分类算法有不同的特定,在不同的数据集上表现的效果也不同,因此需要根据特定的问题和任务选择合适的算法进行求解。对分类算法给出客观的评价,对算法的选择很有必要。 一、常用术语 为了简化和统一考虑分类问题,我们假设分类目标只有两类,正例(positiv
监督学习集成模型——对比与调参
摘要:一、三大Boosting算法对比 XGBoost、LightGBM和CatBoost都是目前经典的SOTA(state of the art)Boosting算法,都可以归入梯度提升决策树算法系列。这三个模型都是以决策树为支撑的集成学习框架,其中XGBoost是对原始版本GBDT算法的改进,而Lig
监督学习集成模型——LightGBM
摘要:LightGBM的全称为Light Gradient Boosting Machine,即轻量的梯度提升机,由微软在其论文“LightGBM: A Highly Efficient Gradient Boosting Decision Tree”中提出,作为与XGBoost并驾齐驱的SOTA Boo
监督学习集成模型——XGBoost
摘要:一、XGBoost原理 XGBoost的全称为eXtreme Gradient Boosting,即极度梯度提升树,由陈天奇在其论文“XGBoost: A Scalable Tree Boosting System:https://arxiv.org/pdf/1603.02754.pdf 中提出,一
监督学习集成模型——GBDT
摘要:一、梯度提升树 提升是一类将弱学习器提升为强学习器的算法总称。 提升树(boosting tree)就是弱学习器为决策树的提升方法。针对提升树模型,加性模型和前向分步算法的组合是典型的求解方式。当损失函数为平方损失和指数损失时,前向分步算法(通过一轮轮的弱学习器学习,利用前一个弱学习器的结果来更新后
监督学习集成模型——AdaBoost
摘要:一、集成学习与Boosting 集成学习是指将多个弱学习器组合成一个强学习器,这个强学习器能取所有弱学习器之所长,达到相对的最佳性能的一种学习范式。 集成学习主要包括Boosting和Bagging两种学习框架。Boosting是一种将弱学习器提升为强学习器的算法,所以也叫提升算法。 以分类问题为例
决策树算法
摘要:决策树(decision tree)是一类最常见、最基础的机器学习算法。决策树基于特征对数据实例按照条件不断进行划分,最终达到分类或回归的目的。 决策树模型的核心概念包括特征选择方法、决策树构造过程和决策树剪枝。常见的特征选择方法包括信息增益、信息增益比和基尼指数(Gini index),对应的三种
监督学习集成模型——随机森林
摘要:Boosting与Bagging Boosting和Bagging都是机器学习中一种集成学习框架。集成学习的意思是将多个弱分类器组合成一个强分类器,这个强分类器能取所有弱分类器之所长,达到相对的最优性能。 Boosting的一般过程如下。以分类问题为例,给定一个训练集,训练弱分类器要比训练强分类器容
特征工程(四)特征抽取
摘要:特征抽取与特征选择在功能上类似,都最终实现了数据集特征数量的减少,但特征选择得到的是原有特征的子集,而特征抽取是将原有特征根据某种函数关系转换为新的特征,并且数据集维度比原来的低。两者所得到的的特征集合与原特征集合对应关系不同。 4.1 无监督特征抽取 实现无监督特征抽取的算法有很多,这里仅以“主成
特征工程(三)特征选择
摘要:经过“数据清理”和“特征变换”后的数据集,已经满足了数据科学项目中算法对数值的基本要求。但是, 不呢止步于此,数据集的特征数量、质量会影响计算效率和最终模型的预测、分类效果。所以要对特征进行选择,即根据具体的项目选择适合的特征。 3.1 特征选择简述 是不是维度越大的数据越好?是不是所有的维度都是必
特征工程(二)数据转换
摘要:数据科学项目中少不了要用到机器学习算法。通常每种算法都会对数据有相应的要求,比如有的算法要求数据集特征是离散的,有的算法要求数据集特征是分类型的,而数据集特征不一定就满足这些要求,必须依据某些原则、方法对数据进行变换。 2.1 特征的类型 特征的类型由其所有值的集合决定,通常有如下几种: 分类型:性
特征工程(一)数据清理
摘要:现实的数据是多种多样的,即使它们已经是结构化的,仍可能存在各种问题,如数据不完整、丢失、类型错误、前后不一致等。因此需要进行数据清理(Data cleaning),也译为数据清洗。 1.1 基本概念 通常以二维表的方式表示数据,Pandas的DataFrame类型的数据是最常见的。 import p
朴素贝叶斯与贝叶斯网络
摘要:1、朴素贝叶斯 朴素贝叶斯是一种基于贝叶斯定理和特征条件独立假设的分类算法。 简单而言,对于给定的训练数据,朴素贝叶斯先基于特征条件独立假设学习输入和输出的联合概率分布,然后基于此分布对于新的实例,利用贝叶斯定理计算出最大的后验概率。朴素贝叶斯不会直接学习输入输出的联合概率分布,而是通过学习类的先验
时间序列ARIMA模型
摘要:一、数据平稳性与差分法 1.1 平稳性 平稳性就是要求经由样本时间序列所得到的拟合曲线在未来的一段期间内仍能顺着现有的形态“惯性”地延续下去 平稳性要求序列的均值和方差不发生明显变化 1.2 严平稳与弱平稳 严平稳:严平稳表示的分布不随时间的改变而改变。 如:白噪声(正态),无论怎么取,都是期望为0
基于矩阵分解的CF算法实现
摘要:所用数据集:链接:https://pan.baidu.com/s/1OLQE7mpefXGRpADyVEkpVQ 提取码:7x5c 一、矩阵分解发展史 1.1 Traditional SVD 通常SVD矩阵分解指的是SVD(奇异值)分解技术,在这我们姑且将其命名为Traditional SVD(传统
协同过滤推荐算法
摘要:一、推荐模型构建流程 Data(数据)->Features(特征)->ML Algorithm(机器学习算法)->Prediction Output(预测输出) 1.1 数据清洗/数据处理 数据来源 显性数据 Rating 打分 Comments 评论/评价 隐形数据 Order history 历
线性回归(最小二乘法和梯度下降)
摘要:一、定义与公式 线性回归(Linear regression)是一种线性模型,利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。 具体来说,利用线性回归模型,可以从一组输入变量x的线性组合中,计算输出变量y。 只有一个自变量的情况称为单变量回归,大于一
分类算法
摘要:一、数据集介绍与划分 学习目标 目标 知道数据集的分为训练集和测试集 知道sklearn的分类、回归数据集 拿到的数据是否全部都用来训练一个模型? 1、 数据集的划分 机器学习一般的数据集会划分为两个部分: 训练数据:用于训练,构建模型 测试数据:在模型检验时使用,用于评估模型是否有效 划分比例:
特征工程
摘要:2.1 数据集 目标 知道数据集的分为训练集和测试集 会使用sklearn的数据集 2.1.1 可用数据集 Kaggle网址:https://www.kaggle.com/datasets UCI数据集网址: http://archive.ics.uci.edu/ml/ scikit-learn网址