自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DAY21 常见的降维算法

​:t-SNE 是一种强大的非线性降维技术,主要用于高维数据的可视化。它通过在低维空间中保持高维空间中数据点之间的局部相似性(邻域关系)来工作。与PCA关注全局方差不同,t-SNE 更关注局部细节。理解它的超参数(尤其是困惑度)和结果的正确解读方式非常重要。

2025-07-29 23:53:53 1032 1

原创 DAY20 奇异值SVD分解

方差贡献率≠预测相关性:前者描述 “数据自身变异的分布”,后者描述 “特征与目标的关联”,两者无必然联系。选择 k 时需结合任务:不能仅看累计方差贡献率,更要观察降维后模型的预测性能。你的案例中,即使 1 个维度解释 98% 的变异,但预测效果远差于原始特征,说明需要保留更多维度(哪怕累计贡献率略低)。建议尝试保留更多 k 值(如 k=2、3),观察模型准确率是否提升,以此找到 “解释变异” 和 “预测能力” 的平衡。经过多次试验, k=9时,预测精度与原逻辑回归一致。

2025-07-28 23:33:11 1666

原创 DAY19 常见的特征筛选算法

它的核心逻辑是:特征的方差反映了数据的变化程度,方差很小的特征几乎没有变化,对模型的预测帮助不大。保留的特征: ['age', 'sex', 'cp', 'trestbps', 'chol', 'restecg', 'thalach', 'exang', 'oldpeak', 'slope', 'ca', 'thal']保留的特征: ['age', 'cp', 'trestbps', 'chol', 'thalach', 'exang', 'oldpeak', 'slope', 'ca', 'thal']

2025-07-24 23:55:10 733

原创 DAY18 推断聚类后簇的类型

1. 你最开始聚类的时候,就选择了你想最后用来确定簇含义的特征,那么你需要选择一些特征来进行聚类,那么你最后确定簇含义的特征就是这几个特征,而非全部。如你想聚类消费者购买习惯,那么他过去的消费记录、购买记录、购买金额等等,这些特征都与消费者购买习惯有关,你可以使用这些特征来确定簇含义,一些其他的特征,如消费者年龄,工作行业则不考虑。分类后需要给这个簇赋予实际的含义,一般当你赋予实际含义的时候,你需要根据某几个特征来赋予,但是源数据特征很多,如何选择特征呢?推断簇含义的2个思路:先选特征和后选特征。

2025-07-23 23:57:42 1936

原创 DAY17 常见聚类算法

eps=0.7, min_samples=4, 簇数: 39, 噪声点: 7047, 轮廓系数: -0.026, CH 指数: 20.20, DB 指数: 0.955。eps=0.7, min_samples=5, 簇数: 15, 噪声点: 7214, 轮廓系数: -0.013, CH 指数: 26.35, DB 指数: 1.010。eps=0.6, min_samples=5, 簇数: 7, 噪声点: 7433, 轮廓系数: 0.347, CH 指数: 42.56, DB 指数: 0.988。

2025-07-21 23:29:03 2011

原创 DAY16 数组的常见操作和形状

在后续进行频繁的数学运算时,尤其是在深度学习领域,对 NumPy 数组的理解非常有帮助,因为 PyTorch 或 TensorFlow 中的 Tensor 张量本质上可以视为支持 GPU 加速和自动微分的 NumPy 数组。值得注意的是,二维数组不一定是正方形(即行数等于列数),它可以是任意的 n * m 形状,其中 n 是行数,m 是列数。1. 矩阵乘法:需要满足第一个矩阵的列数等于第二个矩阵的行数,和线代的矩阵乘法算法相同。所以这个值对应的就是第1个样本对应的这个特征对2个目标类别的shap值贡献。

2025-07-19 22:44:05 770

原创 DAY15 打卡

尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目,这样你也是独立完成了一个专属于自己的项目。先处理object类型特征,对于Month采用标签编码,对Visitor Type采用独热编码,对。SVM ROC-AUC 分数: 0.8715537729497241。,常用于机器学习项目,尤其是预测用户是否会在网站上购买商品(仔细回顾一下之前14天的内容,没跟上进度的同学补一下进度。有数据地址的提供数据地址,没有地址的上传网盘贴出地址即可。8.KNN模型与SVM模型训练。

2025-07-18 00:27:02 942

原创 DAY14 SHAP图的绘制

目标:理解复杂机器学习模型(尤其是“黑箱”模型,如随机森林、梯度提升树、神经网络等)为什么会对特定输入做出特定预测。SHAP 提供了一种统一的方法来解释模型的输出。核心思想:合作博弈论中的 Shapley 值SHAP (SHapley Additive exPlanations) 的核心基于博弈论中的 Shapley 值概念。想象一个合作游戏:玩家 (Players): 模型的特征 (Features) 就是玩家。游戏 (Game): 目标是预测某个样本的输出值。

2025-07-16 23:43:38 999

原创 DAY13 不平衡数据的处理

在处理类别不平衡的数据集时,标准机器学习算法(如默认的随机森林)可能会过度偏向多数类,导致对少数类的预测性能很差。目的:在不改变已训练好的模型的情况下,根据业务需求调整精确率(Precision)和召回率(Recall)之间的权衡。1. 对于少数类中的每个样本,计算它与少数类中其他样本的距离,得到其$k$近邻(一般$k$取5或其他合适的值)。当模型错误分类一个具有高权重的少数类样本时,会受到更大的惩罚(更高的损失值)。SMOTE的核心思想是通过在少数类样本的特征空间中进行插值来合成新的样本。

2025-07-13 23:51:16 903

原创 DAY12 启发式算法

表现好的个体(高验证分)更有机会“繁殖”(它们的参数组合会被借鉴和混合),并可能发生“变异”(参数随机小改动),产生下一代。- 简单理解: 把每个超参数组合想象成一个“粒子”(鸟)。它会记住自己飞过的最好位置,也会参考整个“鸟群”发现的最好位置,结合这两者来调整自己的飞行方向和速度,同时带点随机性。- 应用感觉: 像一个有点“冲动”的探险家,初期愿意尝试一些看起来不太好的路径(为了跳出局部最优的小山谷),后期则越来越“保守”,专注于在当前找到的好区域附近精细搜索。​:一群鸟找森林里唯一的面包(最优解)。

2025-07-12 22:59:15 873

原创 DAY11 常见调参方式

核心优势: 它不是随机选择下一个点,而是根据先前评估的结果建立一个概率模型(通常是高斯过程),预测哪些参数组合可能产生更好的结果,并据此选择下一个评估点。这使得它在寻找最优解方面通常比随机搜索更高效(用更少的迭代次数达到相似或更好的性能),特别是当模型训练(单次评估)非常耗时的时候。- 需要定义参数的分布,而不是固定的列表。- 需要定义参数的搜索空间,与随机搜索类似,当搜索空间非常大时,它通常比网格搜索和随机搜索更有效。- 对于给定的计算预算,随机搜索通常比网格搜索更有效,尤其是在高维参数空间中。

2025-07-11 23:39:04 325

原创 DAY10 机器学习建模与评估

准确率(Accuracy)是一个全局指标,衡量所有类别预测正确的比例 (TP + TN) / (TP + TN + FP + FN)。它不区分正负类,所以它只有一个值,不区分类别。单独调用的 precision_score, recall_score, f1_score 在二分类中默认只计算正类(标签 1)的性能。实际上原数据集中类似cp(胸痛类型)应该为object类型,但此处已进行标签编码。随机种子(Random Seed)的本质就是通过一个初始值(种子值)来​。2. 模型训练(代入训练集)

2025-07-10 23:49:20 609

原创 DAY 9 热力图和子图的绘制

热力图(Heatmap)是一种通过颜色深浅或色彩渐变来直观展示数据大小和模式的可视化工具,它能够有效地展示数据的密度或强度分布。在热力图中,颜色深浅代表数值的大小,红色通常表示较高的值,而蓝色或绿色则代表较低的。是Python中一个非常实用的内置函数,它能够在遍历可迭代对象时同时获取元素的索引和值,使代码更加简洁、清晰且可读性更强。在相关性热力图中,深红色表示强正相关(接近1),深蓝色表示强负相关(接近-1),浅色表示接近0,没有明显相关性。尝试对着心脏病数据集绘制热力图和单特征分布的大图(包含几个子图)

2025-07-09 22:57:16 717

原创 DAY8 标签编码与连续变量处理

字典(Dictionary)是Python中的一种数据类型,用于存储键值对(key-value pairs)。它是可变的、无序的,且每个键必须是唯一的。字典使用花括号 {} 来表示,键和值之间使用冒号 : 分隔,键值对之间使用逗号分隔。字典可以通过以下方式创建:(1)通过花括号{}直接创建(2)通过方法创建每个键必须是唯一的,而值可以是任意类型的对象,如字符串、整数、浮点数、列表等。

2025-07-08 23:40:21 759

原创 DAY7 复习日

通过输出可以了解到,心脏病数据集中没有缺失值,也没有离散特征需要进行独热编码。可以看出得心脏病的人最大心率集中在140-180,而没得心脏病的人群最大心率集中在120-160之间。1.针对心脏病项目的数据集,首先可以通过data.info()查看一下数据集的信息。针对之前学到的所有知识,针对心脏病项目的数据集来完成数据的预处理。显然具有1,2,3类型的胸痛人群也更容易具有心脏病。也看一看离散特征胸痛类型(cp)对心脏病的影响。再看最大心率与target的对比图。显然最大心率较高的人群更容易得心脏病。

2025-07-07 22:48:17 251

原创 DAY6 描述性统计 打卡

问题:直接画图显然有较大的问题,2,3,4的数量是不清楚的,且破产记录不应该出现小数,此外直方图的柱子并没有在数据点中心,因此需要进行修改。可以看出Own Home并不意味着不会违约,尽管人数较少,但是Own Home与Rent的人群的违约率几乎是持平的。破产次数为0的群体中,非违约(蓝色)占比显著高于违约(橙色),比例约 ​​5:1​​(5000 vs 1000)针对其他特征绘制单特征图和特征和标签的关系图,并且试图观察出一些有意思的结论。随着破产次数增加(1→4次),​​违约比例逐渐上升​​。

2025-07-06 23:00:02 799

原创 DAY5 独热编码 打卡

1.断点与debugger工具的好处:大项目需要调用其他文件,而jupyter不支持,只有.py文件支持,因此需要使用代码调试工具。2. 在python中对于变量名常常用英文含义和下划线来命名,而不借助拼音,这是便于他人阅读和理解代码的一种习惯。现在在py文件中 一次性处理data数据中所有的连续变量和离散变量。·对于统计模型,多重共线性会影响模型系数的解释性和稳定性,因此。版本2在找所有独热编码后的新特征名时,用到了列表推导式。·对于树模型,尽管多重共线性不敏感,但。题目:离散特征的独热编码。

2025-07-05 23:45:21 267

原创 DAY4 初识pandas库与缺失数据的补全

3.1 df.isnull() 这个方法返回一个布尔矩阵,也是dataframe对象,其中True表示对应位置的值是缺失值,False表示对应位置的值不是缺失值。pandas.read_excel() 函数用于读取 Excel 文件(.xlsx 或 .xls),支持多种参数来控制读取行为。与pandas.read_csv()类似,多一个参数sheet_name:指定工作表名称或索引(从 0 开始)。功能:生成数值列的描述性统计(如计数、均值、标准差、最小值、四分位数、最大值)。

2025-07-04 23:24:39 734

原创 DAY3 列表、循环和判断语句 打卡

在 Python 中, for 循环是一种用于迭代可迭代对象的控制流语句,可按顺序访问可迭代对象中的每个元素,并对每个元素执行一组语句。在 Python 中,列表(List)是一种非常常用的数据结构,它可以存储任意类型的元素,并且支持多种操作。列表中的元素是有序的、可变的,且支持重复元素。布尔类型只有两个值: True (真)和 False (假), True 的本质是数字1, False 的本质是0。可以通过索引来访问列表中的元素,索引从 0 开始,也支持负数索引(从 -1 开始,表示最后一个元素)。

2025-07-03 20:52:34 727

原创 DAY2 字符串操作与比较运算 打卡

在 var2[1:7:-1] 中, step 为 -1 ,表示从右向左切片,但 start=1 小于 end=7 ,这就导致切片的起始位置在结束位置的左侧,按照从右向左的方向无法找到符合条件的元素,因此会返回空字符串。(2) 大于等于”>=“,判断左边的值是否大于或等于右边的值,如果a大于等于b则为True,否则为False;(1) 大于">“,判断左边的值是否大于右边的值,比较的结果如果a大于b则为True,否则为False;=",判断两个值是否不相等,如果a不等于b则为True,否则为False。

2025-07-02 20:40:06 930

原创 DAY 1 变量与格式化字符串 打卡

然后,使用 f-string 打印出类似 “20 加 8 的结果是:28” 的信息,分成三行打印。使用时若字符串包含与外侧引号相同的字符,会引发语法错误,此时可选择另一种引号表示。- *objects :要输出的对象,可以是一个或多个,对象类型可以是字符串、数字、变量、表达式等。- file :指定输出的文件对象,默认为标准输出 sys.stdout。- sep :用于分隔不同对象的字符串,默认为一个空格 ' '。- end :每次输出后附加的字符串,默认为换行符 '\n'。

2025-07-01 23:23:57 607

空空如也

空空如也

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

TA关注的人

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