- 博客(35)
- 收藏
- 关注
原创 sklearn与XGBoost#03
XGBoost应用中的其他问题过拟合:剪枝参数与回归模型调参作为天生过拟合的模型,XGBoost应用的核心之一就是减轻过拟合带来的影响。作为树模型,减轻过拟合的方式主要 是靠对决策树剪枝来降低模型的复杂度,以求降低方差。在之前的讲解中,我们已经学习了好几个可以用来防止过拟 合的参数,包括上一节提到的复杂度控制 ,正则化的两个参数 和 ,控制迭代速度的参数 以及管理每次迭代前进行的随机有放回抽样的参数subsample。所有的这些参数都可以用来减轻过拟合。但除此之外,我们还有几个影响重 大的,专用
2022-01-11 23:39:11
566
原创 sklearn与XGBoost#02
文章目录求解XGB的目标函数求解XGB的目标函数在求解XGB的目标函数的过程中,我们考虑的是如何能够将目标函数转化成更简单的,与树的结构直接相关的写法, 以此来建立树的结构与模型的效果(包括泛化能力与运行速度)之间的直接联系。也因为这种联系的存在,XGB的目 标函数又被称为“结构分数”。其中 和 分别是在损失函 上 所求的一阶导数和二阶导数,他们被统称为每个样本的梯度统计 量(gradient statisticts)。在许多算法的解法推导中,我们求解导数都是为了让一阶导数等于0
2022-01-10 23:40:45
740
原创 sklearn与XGBoost#01
文章目录概述xgboost库与XGB的sklearn API概述xgboost库与XGB的sklearn API有两种方式可以来使用我们的xgboost库。第一种方式,是直接使用xgboost库自己的建模流程。其中最核心的,是DMtarix这个读取数据的类,以及train()这个用于训练的类。与sklearn把所有的参数都写在类中的 方式不同,xgboost库中必须先使用字典设定参数集,再使用train来将参数及输入,然后进行训练。会这样设计的原 因,是因为XGB所涉及到的参数实在太多
2022-01-09 18:06:31
919
原创 sklearn中的朴素贝叶斯#02
文章目录概率类模型的评估指标布里尔分数Brier Score概率类模型的评估指标布里尔分数Brier Score概率预测的准确程度被称为“校准程度”,是衡量算法预测出的概率和真实结果的差异的一种方式。一种比较常用的指 标叫做布里尔分数,它被计算为是概率预测相对于测试样本的均方误差:...
2022-01-09 11:00:28
482
原创 sklearn中的朴素贝叶斯#01
文章目录概述真正的概率分类器概述真正的概率分类器朴素贝叶斯是一种直接衡量标签和特征之间的概率关系的有监督学习算法,是一种专注分类的算法。朴素贝叶斯的算 法根源就是基于概率论和数理统计的贝叶斯理论,因此它是根正苗红的概率模型。接下来,我们就来认识一下这个简 单快速的概率算法。...
2022-01-06 19:13:23
769
原创 sklearn中的线性回归#02
文章目录非线性问题:多项式回归变量之间的线性关系数据的线性与非线性非线性问题:多项式回归变量之间的线性关系我们最常使用的线性是指“变量之间的线性关系(linearrelationship)”,它表示两个变量之间的关系可以展示为一条直线,即可以使用方 来进行拟合。要探索两个变量之间的关系是否是线性的,最简单的方式就是绘制散点图,如果散点图能够相对均匀地分布在一条直线的两 端,则说明这两个变量之间的关系是线性的。因此,三角函数( ),高次函数 ),指数函 数( )等等图像不为直线的函
2022-01-06 14:15:48
502
原创 sklearn中的线性回归#01
文章目录概述sklearn中的线性回归概述sklearn中的线性回归sklearn中的线性模型模块是linear_model,linear_model包含了多种多样的类和函数,主要有普 通线性回归,多项式回归,岭回归,LASSO,以及弹性网。类/函数 含义普通线性回归 linear_model.LinearRegression 使用普通最小二乘法的线性回归岭回归 linear_model.Ridge 岭回归,一种将L2作为正则化工具的线性最小二乘回归类/函数 含义linear_mode
2022-01-06 09:19:36
486
原创 sklearn中的支持向量机SVM(下)#02
文章目录SVC真实数据案例:预测明天是否会下雨导库导数据,探索特征SVC真实数据案例:预测明天是否会下雨导库导数据,探索特征import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitweather = pd.read_csv(r"D:\机器学习\sklearn\08支持向量机下\weatherAUS5000.csv",index_col=0)weather.head()#将
2022-01-04 22:09:48
673
原创 sklearn中的支持向量机SVM(下)#01
文章目录二分类SVC的进阶参数C的理解进阶二分类SVC的进阶参数C的理解进阶对于软间隔地数据来说,边际越大被分错的样本也就会越多,因此我们需要找出一个”最大边际“与”被分错的样 本数量“之间的平衡。因此,我们引入松弛系数 和松弛系数的系数C作为一个惩罚项,来惩罚我们对最大边际的追求。软间隔让决定两条虚线超平面的支持向量可能是来自于同一个类别的样本点,而硬间 隔的时候两条虚线超平面必须是由来自两个不同类别的支持向量决定的。而C值会决定我们究竟是依赖红色点作为 支持向量(只追求最大边界),还
2022-01-03 18:50:51
315
原创 sklearn中的支持向量机SVM(上)#02
文章目录非线性SVM与核函数SVC在非线性数据上的推广重要参数kernel非线性SVM与核函数SVC在非线性数据上的推广最终的决策函数:重要参数kernel关键概念:核函数“核技巧”(Kernel Trick),是一种能够使用数据原始空间中的向量计算来表示升维后的空间中的点积结果的数学方式。具体表现为 。而这个原始空间中的点积 函数 ,就被叫做“核函数”(Kernel Function)。核函数能够帮助我们解决三个问题:第一,有了核函数之后,我们无需去担心 究竟应该是什么样,因为
2022-01-02 09:32:46
118
原创 sklearn中的支持向量机SVM(上)#01
文章目录概述概述从算法的功能来看,SVM几乎囊括了我们前六周讲解的所有算法的功能从实际应用来看,SVM在各种实际问题中都表现非常优秀。它在手写识别数字和人脸识别中应用广泛,在文本和超 文本的分类中举足轻重,因为SVM可以大量减少标准归纳(standard inductive)和转换设置(transductivesettings)中对标记训练实例的需求。同时,SVM也被用来执行图像的分类,并用于图像分割系统。实验结果表 明,在仅仅三到四轮相关反馈之后,SVM就能实现比传统的查询细化方案(qu
2022-01-01 20:31:49
395
原创 sklearn中的逻辑回归#02用逻辑回归制作评分卡
文章目录概述导库,获取数据概述导库,获取数据%matplotlib inlineimport numpy as npimport pandas as pdfrom sklearn.linear_model import LogisticRegression as LR #其实日常在导库的时候,并不是一次性能够知道我们要用的所有库的。通常都是在建模过程中逐渐导入需要的库。#%%data = pd.read_csv(r".\rankingcard.csv",index_col=0)
2021-12-31 12:27:21
716
原创 sklearn中的逻辑回归#01
文章目录概述名为“回归”的分类器概述名为“回归”的分类器线性回归的任务,就是构造一个预测函数 来映射输入的特征矩阵x和标签值y的线性关系,而构造预测函数的核心就是找出模型的参数 和 ,著名的最小二乘法就是用来求解线性回归中参数的数学方法。通过函数 ,线性回归使用输入的特征矩阵X来输出一组连续型的标签值y_pred,以完成各种预测连续型变量的任务(比如预测产品销量,预测股价等等)。那如果我们的标签是离散型变量,尤其是,如果是满足0-1分布的离散型 变量,我们要怎么办呢?我们可以通过引
2021-12-28 22:31:33
617
原创 sklearn中的降维算法PCA和SVD
文章目录概述什么叫“维度”概述什么叫“维度”对于数组和Series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维。索引以外的数 据,不分行列的叫一维(此时shape返回唯一的维度上的数据个数),有行列之分叫二维(shape返回行x列),也 称为表。一张表最多二维,复数的表构成了更高的维度。当一个数组中存在2张3行4列的表时,shape返回的是(更 高维,行,列)。当数组中存在2组2张3行4列的表时,数据就是4维,shape返回(2,2,3,4)。数组中的每一张表
2021-12-28 14:46:52
150
原创 sklearn中的数据预处理和特征工程
文章目录概述数据预处理与特征工程sklearn中的数据预处理和特征工程概述数据预处理与特征工程数据挖掘的五大流程:获取数据数据预处理数据预处理是从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程可能面对的问题有:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断。 也可能,数据的质量不行,有噪声,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太 大或太小数据预处理的目的:让数据适应模型,匹配模型的需求特征工程:特征工程是将
2021-12-27 12:29:35
729
原创 随机森林在sklearn中的实现
文章目录随机森林概述集成算法概述sklearn中的集成算法随机森林概述集成算法概述集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合的结果,以此来获取比单个模型更好的回归或 分类表现。多个模型集成成为的模型叫做集成评估器(ensemble estimator),组成集成评估器的每个模型都叫做基评估器(base estimator)。通常来说,有三类集成算法:装袋法(Bagging),提升法(Boosting)和stacking装袋法的核心思想是构建多个相互独立的评估器,然后对其预测进行
2021-12-24 10:23:49
961
原创 决策树在sklearn中的实现
文章目录决策树决策树是如何工作的sklearn中的决策树sklearn 基本建模流程决策树决策树是如何工作的**决策树(Decision Tree)**是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业和领域都有广泛的应用。sklearn中的决策树模块sklearn.treesklearn中决策树的类
2021-12-23 17:04:16
679
原创 pandas#03-时间序列
文章目录生成一段时间范围关于频率的更多缩写在DataFrame中使用时间序列pandas重采样生成一段时间范围pd.date_range(start=None, end=None, periods=None, freq=‘D’)start和end以及freq配合能够生成start和end范围内以频率freq的一组时间索引start和periods以及freq配合能够生成从start开始的频率为freq的periods个时间索引关于频率的更多缩写在DataFrame中使用时间序列index=p
2021-12-20 20:17:45
387
原创 pandas#02-数据分组聚合
文章目录数据合并之join数据合并之merge数据合并之join**join:**默认情况下他是把行索引相同的数据合并到一起数据合并之merge**merge:**按照指定的列把数据按照一定的方式合并到一起#数据分组聚合01#例1:统计美国的星巴克数量和中国的哪个多import pandas as pdimport numpy as npfile_path="./starbucks_store_worldwide.csv"df=pd.read_csv(file_path)#pr
2021-12-17 15:41:10
80
原创 pandas#01
文章目录pandas的常用数据类型pandas之Series创建pandas之Series切片和索引pandas的常用数据类型1.Series 一维,带标签数组2.DataFrame 二维,Series容器pandas之Series创建import pandas as pdt1=pd.Series([1,4,6,2,8,6],index=list("abcdef"))print(t1)print(t1.head(2))print(t1.tail(2))tem_dict={"name":
2021-12-15 23:47:09
1597
原创 numpy学习
文章目录什么是numpynumpy创建数组(矩阵)什么是numpy一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算numpy创建数组(矩阵)...
2021-12-14 21:44:21
1191
原创 matplotlib#2:绘制散点图、条形图、直方图
文章目录绘制散点图例:展示北京2016年3,10月份每天白天的最高气温随时间(天)变化的某种规律散点图的更多应用场景绘制散点图例:展示北京2016年3,10月份每天白天的最高气温随时间(天)变化的某种规律#matplotlib绘制散点图from matplotlib import pyplot as pltfrom matplotlib import font_managermy_font=font_manager.FontProperties(fname="C:/Windows/Fonts/
2021-12-12 23:33:14
1113
原创 matplotlib#1:绘制折线图
matplotlib基本要点每个红色的点是坐标,把5个点的坐标连接成一条线,组成了一个折线图例1:展示一天中每隔两个小时(range(2,26,2))的气温(℃)from matplotlib import pyplot as plt #导入pyplot#设置图片大小plt.figure(figsize=(20,10),dpi=80)x=range(2,26,2)y=[15,13,14.5,17,20,25,26,26,27,22,18,15]#绘图plt.plot(x,y) #传入
2021-12-11 09:45:45
1230
原创 Python基础知识-pycharm版第九节笔记
文章目录模块(module)1. 模块化(module)程序设计理念2.模块化编程的流程模块(module)1. 模块化(module)程序设计理念Python 程序由模块组成。一个模块对应python 源文件,一般后缀名是:.py。模块由语句组成。运行Python 程序时,按照模块中语句的顺序依次执行。语句是Python 程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。2.模块化编程的流程模块化编程的一般流程:设计API,进行功能描述。编码实现API 中描述的功能。
2021-12-06 22:35:01
566
原创 Python基础知识-pycharm版第八节笔记
文章目录异常机制本质异常机制本质所谓异常处理,就是指程序在出现问题时依然可以正确的执行剩余的程序,而不会因为异常而终止程序执行。python 中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。下面较为完整的展示了python 中内建异常类的继承层次:python 中一切都是对象,异常也采用对象的方式来处理。处理过程:抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给解释器
2021-12-05 22:07:01
249
原创 Python基础知识-pycharm版第七节笔记
文章目录面向对象方法没有重载面向对象方法没有重载Python 中是没有方法的重载的。定义一个方法即可有多种调用方式,相当于实现了其他语言中的方法的重载。如果我们在类体中定义了多个重名的方法,只有最后一个方法有效。...
2021-12-04 17:41:26
656
原创 Python基础知识-pycharm版第六节笔记
文章目录嵌套函数(内部函数)嵌套函数(内部函数)嵌套函数:在函数内部定义的函数!#测试嵌套函数定义def outer(): print('outer running') def inner01(): print('inner01 running') inner01()outer()一般在什么情况下使用嵌套函数?封装- 数据隐藏外部无法访问“嵌套函数”。贯彻DRY(Don’t Repeat Yourself) 原则嵌套函数,可以让我们在函数
2021-12-01 23:38:43
705
原创 Python基础知识-pycharm版第六节笔记
文章目录第 5 章 函数用法和底层分析-2函数也是对象,内存底层分析变 量 的 作 用 域( 全 局 变 量 和 局 部 变 量)局 部 变 量 和 全 局 变 量 效 率 测 试参数的传递传递可变对象的引用传递不可变对象的引用浅拷贝和深拷贝传递不可变对象包含的子对象是可变的情况参数的几种类型位置参数默认值参数命名参数可变参数强制命名参数lambda 表达式和匿名函数eval()函数递归函数第 5 章 函数用法和底层分析-2函数也是对象,内存底层分析#测试函数也是对象def test01():
2021-09-26 19:06:50
276
原创 Python基础知识-pycharm版第五节笔记
for 循环和可迭代对象遍历for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下:for 变量 in 可迭代对象:循环体语句【操作】遍历一个元组或列表for x in (20,30,40):print(x*3)可迭代对象Python 包含以下几种可迭代对象:1. 序列。包含:字符串、列表、元组2. 字典3. 迭代器对象(iterator)4. 生成器函数(generator)5. 文件对象#测试for循环for x in (10,20,30): pri
2021-09-25 23:38:13
636
原创 Python基础知识-pycharm版第四节笔记
字典字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含: “键对象”和“值对象”。可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。列表中我们通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”。“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些可变对象,不能作为“键”。并且“键”不可重复。“值”可以是任意的数据,并且可重复。一个典型的字典的定义方式:a = {'name':'gaoqi','age':
2021-09-24 10:24:21
853
原创 Python基础知识-pycharm版第三节笔记
可变字符串在 Python 中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO对象或 array 模块。#实 操 作 业#1.从控制台输入用户的月薪,进行运算计算出年薪。打印输出用户的年薪monthlysalary=input("请输入月薪")annualsalary=12*int(monthlysalary)print(annualsalary)#2.使用字符串复制,用
2021-09-18 21:28:23
664
原创 Python基础知识-pycharm版第二节笔记
最基本内置数据类型和运算符每个对象都有类型,python 中最基本的内置数据类型:1. 整型整数,2345,10,502. 浮点型小数,3.14 或者科学计数法 314e-23. 布尔型表示真假,仅包含:True、False4. 字符串型由字符组成的序列。 “abc”,”sxt”,“尚学堂”,”百战程序员”数字和基本运算符使用 divmod()函数同时得到商和余数>>> a=9/2>>> a4.5>>> a=9//.
2021-09-10 14:33:31
598
原创 Python基础知识-pycharm版第一节笔记
图形化程序设计——用turtle输出四个矩形import turtleturtle.width(5)turtle.color("red")turtle.goto(100,0)turtle.goto(100,100)turtle.goto(0,100)turtle.goto(0,0)turtle.penup()turtle.goto(120,0)turtle.pendown()turtle.goto(220,0)turtle.goto(220,100)turtle.goto(12
2021-09-08 21:31:08
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人