- 博客(59)
- 收藏
- 关注
原创 如何通过绘制【学习曲线】来判断模型是否【过拟合】
学习曲线函数,判断模型是否过拟合的方法。朴素贝叶斯是依赖于训练集准确率的下降,测试集准确率上升来解决过拟合问题
2024-01-07 08:59:31 1371
原创 线性模型拟合非线性数据中,如何找到最优的【分箱】数
score表示模型的预测得分的均值,而var表示这些得分的方差。通过绘制`score+np.array(var)*0.5`和`score-np.array(var)*0.5`这两条线,我们可以看到预测得分的变化范围,这可以帮助我们理解模型的预测性能的稳定性。这两条线实际上构成了一个置信区间,它表示的是我们对模型预测得分的不确定性。这是一种常见的可视化方法,可以帮助我们更好地理解和解释模型的性能。我们先来始化三个空列表,用于存储后续计算的预测得分、交叉验证得分的平均值和交叉验证得分的方差。
2023-11-14 19:53:02 240
原创 如何使用线性模型的【分箱】操作处理非线性问题
结果分析:从图像上可以看出,线性回归无法拟合出这条带噪音的正弦曲线的真实面貌,只能够模拟出大概的趋势,而决策树却通过建立复杂的模型将几乎每个点都拟合出来了。此时此刻,决策树处于过拟合的状态,对数据的学习过于细致, 而线性回归处于拟合不足的状态,这是由于模型本身只能够在线性关系间进行拟合的性质决定的。为了让线性回归在类似的数据上变得更加强大,我们可以使用分箱,也就是离散化连续型变量的方法来处理原始数据,以此来提升线性回归的表现。与分箱前的结果相比,线性回归明显变得更加灵活,而决策树的过拟合问题也得到了改善。
2023-11-14 19:22:52 241
原创 Lasso回归和岭回归详解
岭回归可以解决特征间的精确相关关系导致的最小二乘法无法使用的问题,而Lasso不行。当数据特征存在多重共线性,特征矩阵不满秩,或者用普通线性回归过拟合的状况时,我们需要用lasso回归或岭回归来构建模型。在lasso和岭回归中,找到最优的正则化系数是最重要的,现在我们就来实战如何找到最优的正则化系数。Lasso使用的是系数 的L1范式(L1范式则是系数 的绝对值)乘以正则化系数。岭回归使用的是系数 的L2范式(L2范式则是系数 的平方)乘以正则化系数。可以看到当α的值是98时,r2最大,即模型效果最好。
2023-11-13 21:12:08 795 2
原创 普通线性回归和评估指标代码实战
我们观察到,我们在加利福尼亚房屋价值数据集上的MSE其实不是一个很大的数(0.5),但我们的R2不高,百分之四十几的信息都被遗漏掉了。这证明我们的模型比较好地拟合了一部分数据的数值,却没有能正确拟合数据的分布。如果我们在图像右 侧分布着更多的数据,我们的模型就会越来越偏离我们真正的标签。这种结果类似于我们前面提到的,虽然在有限的数据集上将数值预测正确了,但却没有正确拟合数据的分布,如果有更多的数据进入我们的模型,那数据标签被预测 错误的可能性是非常大的。现在我们用MSE(均方误差)和r2来评判模型的好坏。
2023-11-13 16:09:49 128
原创 混淆矩阵和相应参数详解
我们在追求较高的Recall的时候,Precision会下降,就是说随着更多的少数 类被捕捉出来,会有更多的多数类被判断错误,但我们很好奇,随着Recall的逐渐增加,模型将多数类判断错误的 能力如何变化呢?因此,我们可以使用Recall和FPR之间的平 衡,来替代Recall和Precision之间的平衡,让我们衡量模型在尽量捕捉少数类的时候,误伤多数类的情况如何变化,这就是我们的ROC曲线衡量的平衡。可以理解为:分类正确的点(决策超平面上方的红色点+决策超平面下方的紫色点)/全部样本点。
2023-11-10 21:34:45 684
原创 详解交叉验证中【KFold】【Stratified-KFold】【StratifiedShuffleSplit】的区别
Stratified-KFold会根据样本标签分类,让训练集和测试集都保持原有样本的标签分类情况,shuffle = False or true决定的是分隔是顺序分隔还是随机分隔,同时数据是不可重复利用的;可以看到测试集被分层了。因为我们是二分类数据,所以每次都是从0类中抽一个,1类中抽一个,而且是按顺序抽取,即从0类的第一个数据,1类的第一个数据组合形成一个测试集。可以看到测试集被分层了,同时我们可以根据test_size选择测试集的比例,并且数据是可以重复的,可以看到测试集3出现了2次。
2023-11-08 13:15:22 706
原创 找到【SVM】中最优的惩罚项系数C
因为本来SVM是想找到间隔最大的分割面,所以C越大,SVC会选择边际更小的,能够更好的分类所有训练点的决策边界,不过模型的训练时间也会越长。如果C的设定值较小,那SVC会尽量最大化边界,决策功能会更简单,但代价是训练的准确度。输出结果为:0.9766081871345029 1.2340816326530613。输出结果为:0.9824561403508771 6.130408163265306。输出结果为:0.9824561403508771 5.938775510204081。
2023-11-07 22:02:13 1036
原创 如何找出最优的【SVC】核函数和参数值—以乳腺癌数据集为例
所以如果我们想要彻底地理解这三个参数,我们要先推 导出它们如何影响核函数地变化,再找出核函数的变化如何影响了我们的预测函数(可能改变我们的核变化所在的 维度),再判断出决策边界随着预测函数的改变发生了怎样的变化。虽然线性核函数的效果是最好的,但它是没有核函数相关参数可以调整的,rbf和多项式却还有着可以调整的相关参数,接下来我们就来看看这些参数。我们再来看看数据的分布,我们通过从1%的数据和最小值相对比,90%的数据和最大值相对比,查看是否是正态分布或偏态分布,如果差的太多就是偏态分布,谁大方向就偏向谁。
2023-11-07 20:17:18 315
原创 如何对非线性【SVM】进行三维可视化
我们可以通过调节elev参数去调整垂直方向的观察角度,调节zaim参数调节水平方向的观察角度。可以看到3D图被我们绘制出来了。可以看到一个环形的散点图就被创建完毕。首先导入相应的模块,
2023-11-06 14:45:40 1155
原创 如何选择SVM中最佳的【核函数】
由图可知,我们可以观察到,线性核函数和多项式核函数在非线性数据上表现会浮动,如果数据相对线性可分,则表现不错,如果是像环形数据那样彻底不可分的,则表现糟糕。Sigmoid核函数就比较尴尬,它在非线性数据上强于两个线性核函数,但效果明显不如rbf,它在线性数据上完全 比不上线性的核函数们,对扰动项的抵抗也比较弱,所以它功能比较弱小,很少被用到。我们现在有一系列线性或非线性可分的数据,我们希望通过绘制SVC在不同核函数下的决策边界并计算SVC在不同核函数下分类准确率来观察核函数的效果。
2023-11-06 10:51:17 1256
原创 线性【SVM】数学原理和算法实现
对于任何一个拉格朗日函数 L(x,α),都存在一个与它对应的对偶函数g(α) ,只带有拉格朗日乘数作为唯一的参数。如上图所示,正超平面,负超平面和决策超平面的表达式如图所示,假设现在在正负超平面上有Xm和Xn两个支持向量,表达式分别是①,②,①减②得到③,③可以写成④的形式(其中,w向量 = (w1,w2),Xm向量 = (X1m,X2m),Xn向量 = (X1n,X2n))。此时此刻,我们要求解的就不只有参数向量和截距,我们也要求解拉格朗日乘数 ,而我们的Xi和Yi都是我们已知的特征矩阵和标签。
2023-11-05 19:06:55 850
原创 【K_means】在矢量量化图像压缩中的应用
因为在图像处理中,一个像素的颜色是由它的红、绿、蓝三个通道的值相对于其他像素的这些值来决定的。即使我们将所有像素通道值都除以某个数,只要它们的相对大小保持不变,图像的颜色就会看起来一样,因此不用担心颜色会变化的问题。这是一个三维数组,图片长*宽一共有640*427 = 273280个像素点,每个像素点有3个特征(颜色三通道)。因为数据量太大,我们随机抽取1000个样本点来聚类,剩余的样本点在质心上继续聚类。可以看到,替换过后只剩下64种独一无二的颜色了。可以看到和原始图片相比,没有太大的区别。
2023-11-01 19:27:22 181
原创 基于【逻辑回归】的评分卡模型金融借贷风控项目实战
箱子的数量越多,每个箱子的区间就越小,模型对数据的拟合程度就越高,但是也会导致信息损失更多。因为当箱子的数量增加时,每个箱子中的样本数量就会减少,从而导致每个箱子中的样本分布更加不均匀,可能会出现某些箱子中只有少数样本,或者某些箱子中只有一种样本。完整的模型开发所需流程包括:获取数据,数据清洗和特征工程,模型开发,模型检验和评估,模型上线,模型检测和报告。接下来我们对各个特征进行分档,我们使用分箱来离散化连续变量,好让拥有不同属性的人,根据不同的特征被分成不同的类别,打上不同的分数,类似于聚类。
2023-10-30 19:59:32 1226
原创 如何绘制【逻辑回归】中threshold参数的学习曲线
可以发现现在特征只剩下9个了。但是我们怎么知道设置哪个threshold值后得到的特征矩阵去训练模型,会得到最优的模型效果呢?由图可知,随着threshold的值逐渐变大,被删除的特征越多,模型效果越差。接下来我们开始绘制threshold的学习曲线,也就是不同的threshold值对模型效果的影响。threshold参数的意义是通过筛选掉低于threshold的参数,来对逻辑回归的特征进行降维。这个时候有30个特征。可以发现,当threshold取0.0053时,模型可以获得最好的效果。
2023-10-27 21:51:12 735
原创 【PCA降维】在人脸识别中的应用
由图可知,和降维前的数据相比,新特征空间可视化的数据非常模糊,这是因为原始数据还没有被映射到特征空间中。而且通过对比可以发现,结果有明显的明暗差别,在比较亮的图片中,可以观察到眼睛,鼻子等五官,这说明新的特征空间里的新特征向量们,大多是亮度和五官相关的向量。由图可知,第一行是原图像,第二行是降维后再恢复的图像。可以发现二者有一些细微的差别,恢复后的图像更加模糊一些。降维后数据会有损失,且这种损失是不可逆的。接下来我们进行降维操作。
2023-10-26 09:17:59 176
原创 机器学习算法⑥—【逻辑回归】预测乳腺癌恶性程度
由结果可知,模型的准确率是0.958,说明有95%都预测正确;恶性肿瘤的召回率是0.94,说明有94%的患者的肿瘤恶性程度可以被正确判别,6%的患者的肿瘤恶性程度无法被模型正确判别。逻辑回归算法是一种用于二分类和多分类问题的统计学习分类算法,用于预测离散的类别标签。接下来我们根据癌细胞的一些特征属性,来判断乳腺癌的恶性程度。由数据可知,细胞一共有32个特征,第1列是标签,其他列是特征,没有缺失值需要处理,不需要进行数据清洗。因此我们进行进一步分析:将数据集分割为特征值和目标值。
2023-10-20 20:27:44 715 1
原创 机器学习算法④—【随机森林】超参数调优实现更高预测准确率
是一种强大的集成学习算法,它在决策树的基础上引入了样本抽样和特征抽样两种随机性,通过组合多个决策树来提高模型的性能和泛化能力。这个结果说明建立300棵决策树,每颗决策树的深度是25的时候,效果最好,准确率为0.78。这比用决策树构造的模型准确率提高了0.01。(注意:在这里不需要对y_train进行onehot编码,因为他的数据类型本身可以被计算机识别)
2023-10-18 22:48:19 1474
原创 机器学习算法③—【决策树算法】预测泰坦尼克号乘客生存
优点:简单的理解和解释,可以处理多分类问题。缺点:容易发生过拟合,对噪声敏感,不稳定。t=N7T8。
2023-10-18 18:27:12 475
原创 机器学习基础③——数据降维(filter,PCA),数据集加载,特征值和目标值,transform和predict
【代码】机器学习基础③——数据降维(filter,PCA),机器学习算法分类和开发流程。
2023-10-14 23:49:40 173
原创 机器学习基础①——特征抽取,文本向量化,one_hot编码,jieba分词,tf-idf词频
【代码】机器学习基础①——特征抽取,文本向量化,one_hot编码,jieba分词,tf-idf词频。
2023-10-14 11:40:03 72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人