自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 李宏毅深度学习-回归

1.梯度下降利用梯度下降寻找最优解是,如果在该点的梯度为负(向下),则需要增加参数大小;如果梯度为正(向上),则需要减小参数大小。计算时,减去学习率*偏导表示和梯度方向反向,即负的就要增加,正的就要减少。正则化使曲线更平滑,不考虑偏置(偏置只是将曲线上下移动,不影响平滑度)。2.bias和variance简单的函数式拟合出来的效果往往variance更小,但bias较大。复杂的多项式拟合出来的效果往往variance比较大,但bias较小。可以通过多次拟合曲线,最后.

2022-03-09 09:48:10 599

原创 神经网络随手记-1

sigmod函数主要缺点在输入值变大时,梯度会变得非常小甚至消失,这意味着,在训练神经网络时,如果发生这种饱和,我们将无法根据梯度来更新权重。函数输出不是以 0 为中心的,会降低权重更新的效率。Relu 线性整流函数当输入为正时,不存在梯度饱和问题。计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。但存在Dead ReLU 问题。当输入为负时,所有负值部分的斜率都为0,ReLU 完全失效。Leaky ReLU在

2022-02-10 15:35:57 708

原创 pytorch实现简易回归问题

代码部分import torchfrom torch.autograd import Variableimport torch.nn as nnimport torch.nn.functional as Fimport torch.utils.data as Datafrom sklearn.model_selection import train_test_splitimport matplotlib.pyplot as pltimport numpy as np#建立数据np.

2022-02-08 15:29:06 1340

原创 pytorch入门day5-卷积神经网络实战

LeNet网络实战import torchfrom torch.utils.data import DataLoaderfrom torchvision import datasetsfrom torchvision import transformsfrom torch import nnfrom lenet5 import Lenet5from torch import optimdef main(): batch_size=32 cifar_train

2022-02-06 09:40:29 1033 1

原创 Pytorch入门day4

目录动量与学习率衰减Dropout卷积神经网络动量与学习率衰减取决于β参数的选取,根据矢量三角形法则,选取下次的运动方向。一般来说,我们希望在训练初期学习率大一些,使得网络收敛迅速,在训练后期学习率小一些,使得网络更好的收敛到最优解。下图展示了随着迭代的进行动态调整学习率的4种策略曲线:参考:pytorch必须掌握的的4种学习率衰减策略 - 知乎 (zhihu.com)DropoutDropout可以作为训练深度神经网络的一种trick供选择。在每个训练.

2022-02-04 10:39:43 1234

原创 吴恩达机器学习作业-逻辑回归1

在这部分的练习中,你将建立一个逻辑回归模型来预测一个学生是否能进入大学。假设你是一所大学的行政管理人员,你想根据两门考试的结果,来决定每个申请人是否被录取。你有以前申请人的历史数据,可以将其用作逻辑回归训练集。对于每一个训练样本,你有申请人两次测评的分数以及录取的结果。为了完成这个预测任务,我们准备构建一个可以基于两次测试评分来评估录取可能性的分类模型。import scipy.optimize as optimport numpy as npimport pandas as pdimport

2022-02-02 17:22:35 847

原创 Pytorch入门day3

目录梯度激活函数2D函数的最优化多分类问题梯度梯度的本意是一个向量(矢量), 表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。影响梯度的因素:initialization status(初始状态) learning rate(学习率)momentom(动量)激活函数神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直

2022-02-02 15:10:41 1248

原创 Pytorch入门day2

目录基本数据类型创建Tensor索引和切片维度变换Broadcasting合并和分割数学运算及统计属性基本数据类型Tensor(张量)是线性代数中用到的一种数据结构,类似向量和矩阵,你可以在张量上进行算术运算。PyTorch(Facebook创建的python包,提供两个高层特性:1) 类似Numpy的基于GPU加速的张量运算 2) 在基于回放(tape-based)的自动微分系统之上构建的深度神经网络。在一般意义上,以基于可变数目的轴的规则网格组织的一组..

2022-02-01 13:31:29 649

原创 Pytorch入门

目录环境配置查看cuda是否安装完成sigmod与relu函数环境配置查看cuda是否安装完成查看在该目录下是否存在该文件。在cmd命令行输入nvcc- V可以查看你的cuda版本。查看Pytorch版本以及GPU是否可用import torchprint(torch.__version__)print('gpu:',torch.cuda.is_available())sigmod与relu函数Relu是一个非常优秀的激活哈..

2022-01-30 15:55:24 915

原创 sklearn中的神经网络

目录概述softmax概述在机器学习中,我们建模,将特征矩阵输入模型中,然后算法为我们输出预测结果。只不过在人脑中,数以亿计的神经细胞相互链接来构建一个生物神经网络(一个神经细胞当然可以和众多个神经细胞相连),我们的机器学习中,往往只有一个模型或者一种算法在运行。人脑通过构建复杂的网络可以进行逻辑,语言,情感的学习,相信模拟这种结构的机器也可以有很强大的学习能力,于是人工神经网络应运而生。神经网络原理最开始是基于感知机提出——感知机是最古老的机器学习分类算法之一,在1957年就已经

2022-01-30 10:45:08 4005

原创 吴恩达机器学习作业-线性回归1

在本部分的练习中,您将使用一个变量实现线性回归,以预测食品卡车的利润。假设你是一家餐馆的首席执行官,正在考虑不同的城市开设一个新的分店。该连锁店已经在各个城市拥有卡车,而且你有来自城市的利润和人口数据。您希望使用这些数据来帮助您选择将哪个城市扩展到下一个城市。可视化显示预测后的结果和损失函数。from cProfile import labelimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltdef

2022-01-29 19:48:29 850

原创 机器学习sklearn-xgboost3

目录过拟合:剪枝参数与回归模型调参XGBoost模型的保存和调用使用Pickle保存和调用模型使用Joblib保存和调用模型XGB中的样本不均衡问题过拟合:剪枝参数与回归模型调参作为天生过拟合的模型,XGBoost应用的核心之一就是减轻过拟合带来的影响。作为树模型,减轻过拟合的方式主要是靠对决策树剪枝来降低模型的复杂度,以求降低方差。只要电脑有足够的计算资源,并且你信任网格搜索,那任何时候我们都可以使用网格搜索。只是使用的时候要注意,首先XGB的参数非常多,参数可取的范.

2022-01-29 15:09:35 678

原创 机器学习sklearn-xgboost2

目录选择弱评估器:重要参数boosterXGB的目标函数:重要参数objective参数化决策树 :参数alpha,lambda结构分数之差让树停止生长:重要参数gamma选择弱评估器:重要参数booster 梯度提升算法中不只有梯度提升树,XGB作为梯度提升算法的进化,自然也不只有树模型一种弱评估器。在XGB中,除了树模型,我们还可以选用线性模型,比如线性回归,来进行集成。虽然主流的XGB依然是树模型,但我们也可以使用其他的模型。基于XGB的这种性质,我们有参数“boos.

2022-01-29 10:43:01 506

原创 机器学习sklearn-xgboost1

目录概述梯度提升树方差与泛化误差结论重要参数subsample重要参数eta概述XGBoost全称是eXtreme Gradient Boosting,可译为极限梯度提升算法。它由陈天奇所设计,致力于让提升树突破自身的计算极限,以实现运算快速,性能优秀的工程目标。和传统的梯度提升算法相比,XGBoost进行了许多改进, 它能够比其他使用梯度提升的集成算法更加快速,并且已经被认为是在分类和回归上都拥有超高性能的先进评估器。梯度提升树XGBoost的基础是..

2022-01-28 10:34:42 329

原创 机器学习sklearn-朴素贝叶斯2

目录概率类模型的评估指标布里尔分数Brier Score对数损失可靠性曲线预测概率的直方图多项式朴素贝叶斯sklearn中的多项式贝叶斯伯努利朴素贝叶斯朴素贝叶斯的样本不均衡问题补集朴素贝叶斯贝叶斯作文本分类概率类模型的评估指标 混淆矩阵和精确性可以帮助我们了解贝叶斯的分类结果。然而,我们选择贝叶斯进行分类,大多数时候都不是为了单单追求效果,而是希望看到预测的相关概率。这种概率给出预测的可信度,所以对于概率类模型,我们希望能够由其他的模型评估指标来帮助我.

2022-01-26 12:38:09 1130

原创 机器学习sklearn-朴素贝叶斯

目录概述sklearn中的朴素贝叶斯高斯朴素贝叶斯概述算法得出的结论,永远不是100%确定的,更多的是判断出了一种“样本的标签更可能是某类的可能 性”,而非一种“确定”。我们通过某些规定,比如说,在决策树的叶子节点上占比较多的标签,就是叶子节点上所有 样本的标签,来强行让算法为我们返回一个固定结果。但许多时候,我们也希望能够理解算法判断出的可能性本身。每种算法使用不同的指标来衡量这种可能性。比如说,决策树使用的就是叶子节点上占比较多的标签所占的比例(接口pr.

2022-01-25 11:01:33 2643

原创 机器学习sklearn-多项式回归

目录线性关系线性模型和非线性模型利用线性回归解决非线性问题多项式回归线性模型线性关系首先,”线性“这个词用于描述不同事物时有着不同的含义。我们最常使用的线性是指“变量之间的线性关系(linear relationship)”,它表示两个变量之间的关系可以展示为一条直线,即可以使用方程来进行拟合。要探索两个变量之间的关系是否是线性的,最简单的方式就是绘制散点图,如果散点图能够相对均匀地分布在一条直线的两端,则说明这两个变量之间的关系是线性的。因此,三角函数,高次函数,指数函

2022-01-24 11:57:33 4966

原创 机器学习sklearn-线性回归

我们往往称呼这个式子为SSE(Sum of Sqaured Error,误差平方和)或者RSS(Residual Sum of Squares 残差平方和)。在sklearn所有官方文档和网页上,我们都称之为RSS残差平方。...

2022-01-23 15:08:19 1943

原创 机器学习sklearn-支持向量机实例(预测天气)

目录数据预处理完整代码数据预处理导入数据查看相关信息在现实中,我们会先分训练集和测试集,再开始进行数据预处理。这是由于,测试集在现实中往往是不可获得的,或者被假设为是不可获得的,我们不希望我们建模的任何过程受到测试集数据的影响,否则的话,就相当于提前告诉了模型一部分预测的答案。完整代码import pandas as pdimport numpy as npimport sysimport refrom sklearn.model_sele...

2022-01-22 11:52:55 3661 2

原创 机器学习sklearn-支持向量机3

软间隔有一些数据,可能是线性可分,但在线性可分状况下训练准确率不能达到100%,即无法让训练误差为0,这样的数据被我们称为“存在软间隔的数据”。此时此刻,我们需要让我们决策边界能够忍受一小部分训练误差,我们就不能单纯地寻求最大边际了。 因为对于软间隔地数据来说,边际越大被分错的样本也就会越多,因此我们需要找出一个”最大边际“与”被分错的样本数量“之间的平衡。因此,我们引入松弛系数和松弛系数的系数C作为一个惩罚项,来惩罚我们对最大边际的追求。 所以软间隔让决定两条虚线超平面的支持向量可

2022-01-21 14:52:08 1189

原创 机器学习sklearn-支持向量机2

目录非线性SVM和核函数如何选择最佳核函数SVC在乳腺癌数据上的表现非线性SVM和核函数非线性SVM的损失函数的初始形态为:同理,非线性SVM的拉格朗日函数和拉格朗日对偶函数也可得:这种变换非常巧妙,但也带有一些实现问题。 首先,我们可能不清楚应该什么样的数据应该使用什么类型的映射函数来确保可以在变换空间中找出线性决策边界。极端情况下,数据可能会被映射到无限维度的空间中,这种高维空间可能不是那么友好,维度越多,推导和计算的难度都会随之暴增。其次,即使已知适当的映射函数

2022-01-19 18:45:54 836

原创 机器学习sklearn-支持向量机1

相关概念支持向量机的分类方法,是在这组分布中找出一个超平面作为决策边界,使模型在数据上的 分类误差尽量接近于小,尤其是在未知数据集上的分类误差(泛化误差)尽量小。边际很小的情况,是一种模型在训练集上表现很好,却在测试集上表现糟糕的情况,所以会“过拟合”。所以我们在找寻决策边界的时候,希望边际越大越好。支持向量机,就是通过找出边际最大的决策边界,来对数据进行分类的分类器。也因此,支持向量分类器又叫做最大边际分类器。这个过程在二维平面中看起来十分简单,但将上述过程使用数学表达出来,

2022-01-19 11:47:52 815 1

原创 机器学习sklearn-KNN

目录1 概述2 sklearn中的聚类算法2.1 聚类算法的模型评估指标2.2重要参数init & random_state & n_init 初始化质心2.3 重要参数max_iter & tol:让迭代停下来3 Kmeans做矢量量化1 概述机器学习当中,有相当一部分算法属于“无监督学习”,无监督的算法在训练的时候只需要特征矩阵X,不需要标签。PCA降维算法就是无监督学习中的一种,聚类算法,也是无监督学习的代表算法之一。 聚类算法又叫..

2022-01-17 19:26:36 741

原创 机器学习sklearn-逻辑回归制作评分卡

目录1 导入数据查看相关信息​​2 数据预处理2.1 去重复值+更新索引2.2 填补缺失值2.3 处理易操作2.4 划分训练集和测试集并保存3 分箱1 导入数据查看相关信息2 数据预处理2.1 去重复值+更新索引删除重复数据以后,索引依然是原来的数值,一定要记得更新为删除完重复数据之后的样本数量。2.2 填补缺失值查看缺失值比例针对于该数据,我们需要填充的是月收入和家属人数。家属人数缺失很少,仅缺失了大约2.5%,可以考虑直接删

2022-01-16 21:12:51 1262

原创 机器学习sklearn-逻辑回归

目录L0范数,L1范数,L2范数sigmond函数损失函数penalty和C参数逻辑回归中的特征工程梯度下降L0范数,L1范数,L2范数L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以.

2022-01-15 17:31:45 848

原创 机器学习sklearn-降维算法

1.PCA(主成分分析)PCA常用于高维数据的降维,可用于提取数据的主要特征分量。在降维中,PCA使用的信息量衡量指标,就是样本方差,又称可解释性方差,方差越大,特征所带的信息量越多。Var代表一个特征的方差,n代表样本量,xi代表一个特征中的每个样本取值,xhat代表这一列样本的均值。在数学原理中,无论是PCA和SVD都需要遍历所有的特征和样本来计算信息量指标。并且在矩阵分解的过程之中,会产生比原来的特征矩阵更大的矩阵,比如原数据的结构是(m,n),在矩阵分解中为了找出最佳.

2022-01-14 12:38:11 848

原创 机器学习sklearn-特征过程及数据预处理

1 基本概念数据预处理的目的:让数据适应模型,匹配模型的需求。 特征工程是将原始数据转换为更能代表预测模型的潜在问题的特征的过程,可以通过挑选最相关的特征,提取特征以及创造特征来实现。其中创造特征又经常以降维算法的方式实现。 可能面对的问题有:特征之间有相关性,特征和标签无关,特征太多或太小,或者干脆就无法表现出应有的数据现象或无法展示数据的真实面貌 特征工程的目的:1) 降低计算成本,2) 提升模型上限1.1 sklearn中的的数据预处理和特征工程模块prep...

2022-01-13 12:44:25 1338

原创 机器学习sklearn-随机森林

目录1 集成学习2 随机森林分类器2.1 随机森林分类器函数及其参数2.2 构建随机森林2.3 在交叉验证下比较随机森林和决策树2.4 绘制n_estimators的学习曲线3 随机森林回归器3.1 随机森林分类器函数及其参数3.2 用随机森林回归填补缺失值4 机器学习调参的基本思想4.1 相关概念4.2 实例1 集成学习 集成学习通过构建并结合多个学习器来完成学习任务,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建.

2022-01-11 20:10:53 1883

原创 机器学习sklearn-决策树

1.相关概念1.1 定义分类决策树模型是一种描述对实例进行分类的树形结构.决策树由结点(node)和有向边( directed edge)组成.结点有两种类型:内部结点(internal node)和叶结点(leaf node)、内部结点表示一个特征或属性,叶结点表示一个类。 决策树的损失函数通常是正则化的极大似然函数。1.2 生成过程决策树的生成是一个递归过程.在决策树基本算法中,有三种情形会导致递归返回: (1)当前结点包含的样本全属于同一类别,无需划分;(2)当前属性集为空,或是.

2022-01-10 17:48:59 1805

原创 数据分析项目实战day2

目录1.人口数据分析1.导入并查看相关文件信息2.进行数据操作2.政治献金数据分析1.读取数据查看相关信息2.进行数据操作1.人口数据分析1.导入并查看相关文件信息state表示州的全称,abbreviation表示缩写。state表示州 areas表示所占面积。state表示州,age表示调查人口的年龄,year表示统计年份,population表示人口数量。2.进行数据操作将人口数据和各州简称数据合并。上图中有两列缩写,删除其...

2022-01-06 13:41:00 607

原创 数据分析项目实战day1

针对股票数据的项目分析实战目录针对股票数据的项目分析实战1.数据预处理2.调用to_dsv方法把数据保存到本地3.删除unnamed列4.找出所有收盘比开盘上涨超过3%的日期​5. 找出所有收盘比开盘跌幅超过2%的日期6.估计收益7.计算均线8.统计金叉和死叉的时期1.数据预处理首先需要使用pip install tushare安装tushare第三方包, Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工

2022-01-05 21:40:09 964

原创 python数据分析day6

目录1.911数据分析实战2.pandas时间序列3.pm2.5项目实战1.911数据分析实战如果遇到文件的数据量比较大,默认打印无法全部显示。可以尝试输入以下代码:#显示所有列pd.set_option('display.max_columns', None)#显示所有行pd.set_option('display.max_rows', None)#设置value的显示长度为100,默认为50pd.set_option('max_colwidth',100)

2022-01-04 18:27:39 634

原创 python数据分析day5

目录1.字符串离散化的案例2.数据合并3.数据分组聚合4.索引和复合索引1.字符串离散化的案例以统计电影分类为例,可以构造一个全为0的数组,列名为分类,如果某一条数据中出现过分类,就将0变为1。打印前三个数据观察电影类别,发现以,为间隔符进行分割。构建全为0的dataframe用于统计。遍历每一部电影,给出现对应类型的位置赋值1。统计每一个种类的电影数目利用matplotlib可以绘制出电影种类和对应数量的直方图。完整代码:...

2022-01-03 20:13:55 647

原创 python数据分析day4

目录pandas1.pandas的基础概念2.pandas和numpy的区别3.pandas的数据结构4.series相关操作5.DataFrame6.pandas读取外部数据7.pandas关于nan的处理pandas1.pandas的基础概念pandas,python+data+analysis的组合缩写,是python中基于numpy和matplotlib的第三方数据分析库,与后两者共同构成了python数据分析的基础工具包。2.pa...

2022-01-02 15:48:49 1012

原创 python数据分析day3

目录1.numpy1.什么是numpy?2.numpy中常见数据类型3.创建numpy数组4.numpy数组的属性5.数组的运算6.numpy轴7.numpy读取本地数据8.numpy的转置9.numpy的索引和切片10.数组的拼接和分割11.数组行列的交换12.numpy中的nan和inf13.numpy中的统计方法1.numpy1.什么是numpy?numpy是一个在python中做科学计算的基础库,支持高级大量的维度数组与矩阵...

2022-01-01 16:00:43 810

原创 python数据分析day2

matplotlib常见绘图目录matplotlib常见绘图1.matplotlib无法显示中文2.散点图3.条形图4.直方图1.matplotlib无法显示中文在利用matplotlib绘制图像时,中文会出现无法显示的问题,这里给出两种解决思路。1.在开头处设置plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常..

2021-12-30 16:04:30 1111

原创 python数据分析day1

1.jupyter notebook1.简介Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。2.打开方式1.直接在cmd输入jupyter notebook2.进入anaconda内部打开3.主要特点 编程时具有语法高亮、缩进、tab补全的功能。 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,S

2021-12-29 16:45:40 223

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除