自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 DAY 30 模块和库的导入

这就需要我们养成看文档的能力,文档就是以终为始思想的体现。文档就是api使用说明书,可能你日常买东西都不喜欢看使用说明书,但是在代码学习中,这一步是绕不开的。(python解释器的目录和终端的目录不一致)

2025-05-19 14:11:47 195

原创 DAY 29 复习日:类的装饰器

复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等,未来再过几个专题部分我们即将开启深度学习部分。动态改造:运行时给类换"心脏"(替换__init__方法)新增功能:自动记录每单制作(实例化时打印LOG)装饰器像"外挂":不修改原类代码就能添加新功能。功能扩展:就像给手机装新APP,给类增加新方法。装饰器思想的进一步理解:外部修改、动态。🍰【类装饰器就像蛋糕店的新服务】🍰。类方法的定义:内部定义和外部定义。支持外卖订单跟踪(log方法)

2025-05-18 20:20:14 381

原创 DAY 28 类的定义和方法

calculate_perimeter():计算周长(公式:2×(长+宽))。is_square() 方法,判断是否为正方形(长 == 宽)。calculate_circumference():计算圆的周长(公式:2πr)。shape_type="rectangle":创建长方形(参数:长、宽)。calculate_area():计算圆的面积(公式:πr²)。shape_type="circle":创建圆(参数:半径)。calculate_area():计算面积(公式:长×宽)。

2025-05-17 11:45:37 448

原创 DAY 27 函数专题2:装饰器

编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)

2025-05-16 17:36:36 182

原创 DAY 26 函数专题1

编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。函数的参数类型:位置参数、默认参数、不定参数。user_id 是一个必需的位置参数。

2025-05-15 12:34:56 853

原创 DAY 25 异常处理

这是最基本的错误处理结构。

2025-05-14 12:24:44 369

原创 DAY 24 元组和OS模块

对自己电脑的不同文件夹利用今天学到的知识操作下,理解下os路径。

2025-05-13 16:30:51 575

原创 DAY 23 pipeline管道

整理下全部逻辑的先后顺序,看看能不能制作出适合所有机器学习的通用pipeline。ColumnTransformer和Pipeline类。转化器和估计器的概念。

2025-05-12 12:46:07 527

原创 DAY 22 复习日kaggle泰坦里克号人员生还预测

仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。参考如何使用kaggle。写下使用注意点,并对。

2025-05-11 20:17:13 525

原创 DAY 21 常见的降维算法

通过主成分分析(PCA)或 t - 分布随机邻域嵌入(t - SNE)等降维方法,将基因表达数据降维到二维或三维空间,研究人员可以直观地观察不同样本之间的关系,发现潜在的生物模式。特征选择:在数据分析和建模过程中,降维可以帮助我们筛选出最具代表性的特征,去除无关或冗余的特征。数据存在冗余特征:数据集中可能存在一些高度相关或冗余的特征,这些特征对模型的贡献有限,反而会增加计算负担。降维可以去除这些冗余特征,保留最具代表性的信息。例如,在视频压缩中,通过降维技术去除视频帧中的冗余信息,实现数据的高效压缩。

2025-05-10 20:33:40 663

原创 DAY 20 奇异值SVD分解

对于任何矩阵(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。应用:结构化数据中,将原来的m个特征降维成k个新的特征,新特征是原始特征的线性组合,捕捉了数据的主要方差信息,降维后的数据可以直接用于机器学习模型(如分类、回归),通常能提高计算效率并减少过拟合风险。降噪:通常噪声对应较小的奇异值。

2025-05-09 10:07:25 493

原创 DAY 19 特征筛选算法

【代码】DAY 19 特征筛选算法。

2025-05-08 10:47:09 572

原创 DAY 18 簇

1. 你最开始聚类的时候,就选择了你想最后用来确定簇含义的特征,那么你需要选择一些特征来进行聚类,那么你最后确定簇含义的特征就是这几个特征,而非全部。如你想聚类消费者购买习惯,那么他过去的消费记录、购买记录、购买金额等等,这些特征都与消费者购买习惯有关,你可以使用这些特征来确定簇含义,一些其他的特征,如消费者年龄,工作行业则不考虑。2. 最开始用全部特征来聚类,把其余特征作为 x,聚类得到的簇类别作为标签构建监督模型,进而根据重要性筛选特征,来确定要根据哪些特征赋予含义。cp 变量分布特征相对不突出;

2025-05-07 11:11:44 1047

原创 DAY 17 聚类

实际在论文中聚类的策略不一定是针对所有特征,可以针对其中几个可以解释的特征进行聚类,得到聚类后的类别,这样后续进行解释也更加符合逻辑。DBSCAN 的参数是 eps 和min_samples,选完他们出现k和评估指标。除了经典的评估指标,还需要关注聚类出来每个簇对应的样本个数,避免太少没有意义。聚类常见算法:kmeans聚类、dbscan聚类、层次聚类。KMeans 和层次聚类的参数是K值,选完k指标就确定。以及层次聚类的 linkage准则等都需要仔细调优。选择合适的算法,根据评估指标调参( )

2025-05-06 11:21:02 564

原创 DAY 16 numpy数组的深入

因为前天说了shap,这里涉及到数据形状尺寸问题,所以需要在这一节说清楚,后续的神经网络我们将要和他天天打交道。- `rand()`和`random()`都是均匀分布,但`rand()`能直接生成数组。- `randn()`生成的数据会有正有负,其他方法都是非负数。- 纯"random" → Python基础随机。- "np.random" → NumPy增强版。numpy数组的创建:简单创建、随机创建、遍历、运算。- "n" → 正态(normal)numpy数组的索引:一维、二维、三维。

2025-05-05 17:33:44 828

原创 DAY 15 kaggle结构化数据集

对于数据的认识,很重要的一点是,很多数据并非是为了某个确定的问题收集的,这也意味着一份数据你可以完成很多不同的研究,自变量、因变量的选取取决于你自己-----很多时候针对现有数据的思考才是真正拉开你与他人差距的最重要因素。同一个问题,特征加工上,是否对数据进一步加工得出了新的结论-----你的加工被证明是有意义的。研究问题的选择上,同一个数据你找到了有意思的点,比如更换了因变量,做出了和别人不同的研究问题。数据的质量上,是否有好的研究主题但是你这个数据很难获取,所以你这个研究有价值。什么叫做数据的质量?

2025-05-04 22:40:14 705

原创 DAY14 SHAP图

参数要求:shap_explanation:需为 Explanation 对象,shap_values 形状应为 (n_features,),代表单个样本每个特征的 SHAP 值。data 形状同样是 (n_features,),对应单个样本的特征值。尝试确定一下shap各个绘图函数对于每一个参数的尺寸要求,如shap.force_plot力图中的数据需要满足什么形状?确定分类问题和回归问题的数据如何才能满足尺寸,分类采取信贷数据集,回归采取单车数据集。参考上述文档补全剩余的几个图。

2025-05-03 23:21:54 268

原创 DAY13 不平衡数据集的处理策略

从示例代码可以看到 效果没有变好,所以很多步骤都是理想是好的,但是显示并不一定可以变好。这个实验仍然有改进空间,如下。1. 我还没做smote+过采样+修改权重的组合策略,有可能一起做会变好。针对上面这2个探索路径,继续尝试下去,看看是否符合猜测。2. 我还没有调参,有可能调参后再取上述策略可能会变好。不平衡数据集的处理策略:过采样、修改权重、修改阈值。

2025-05-02 20:35:17 213

原创 DAY12 退火算法

的思路为主,尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。如果新解的适应度差于当前解,则以一定的概率接受新解,这个概率与当前温度和适应度差值有关,温度越高,接受较差解的概率越大。指数降温:Tk+1=α⋅TkTk+1 =α⋅Tk (常用,简单但需调参)。温度:控制搜索过程中的随机性(高温时允许接受劣解,低温时趋向稳定)。能量函数(目标函数):需最小化的目标(如损失函数、路径长度等)。当温度低于终止温度时,算法终止,输出当前最优解。

2025-05-01 20:36:16 599

原创 DAY11 贝叶斯优化和网格搜索

对于信贷数据的其他模型,如LightGBM和KNN 尝试用下贝叶斯优化和网格搜索。贝叶斯优化(2种实现逻辑,以及如何避开必须用交叉验证的问题)随机搜索(简单介绍,非重点 实战中很少用到,可以不了解)time库的计时模块,方便后人查看代码运行时长。

2025-04-30 14:04:04 596

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

今日代码比较多,但是难度不大,仔细看看示例代码,好好理解下这几个评估指标。尝试对心脏病数据集采用机器学习模型建模和评估。机器学习模型建模的三行代码。机器学习模型分类问题的评估。

2025-04-29 15:48:21 442

原创 day9 热力图和子图的绘制

尝试对着心脏病数据集绘制热力图和单特征分布的大图(包含几个子图)enumerate()函数。介绍了热力图的绘制方法。介绍了子图的绘制方法。

2025-04-28 14:18:44 444

原创 day 8

作业:对心脏病数据集的特征用上述知识完成,一次性用所有的处理方式完成预处理尝试手动完成,多敲几遍代码。连续特征的处理:归一化和标准化。至此,常见的预处理方式都说完了。

2025-04-27 12:44:55 156

原创 day7 复习日

针对之前学到的所有知识,针对心脏病项目的数据集来完成数据的预处理。

2025-04-26 19:55:02 115

原创 day6 数据初步可视化

单特征可视化:连续变量箱线图(还说了核密度直方图)、离散特征直方图。作业:去针对其他特征绘制单特征图和特征和标签的关系图。箱线图美化--->直方图。特征和标签关系可视化。

2025-04-25 17:45:33 491

原创 day5 离散特征的独热编码

可以鼠标悬停来查看每个函数的参数,这里采用了类型注解写法,可以看到每个参数的要求类型,同时可以看到参数的默认值,如果没有默认值就是必填参数。注意:这里区分离散变量仅仅通过object类型,实际中还需要结合对数据的认识,这里为了方便没有考虑现实意义。现在在py文件中 一次性处理data数据中所有的连续变量和离散变量。3. 对独热编码后的变量转化为int类型。2. 对离散变量进行one-hot编码。随着学习往后,需要了解的函数越来越多。4.对所有缺失值进行填充。1. 读取data数据。

2025-04-24 17:52:53 656

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

完成后在py文件中独立完成一遍,并且利用debugger工具来查看属性(不借助函数显式查看)----养成利用debugger工具的习惯。按照示例代码的要求,去尝试补全信贷数据集中的数值型缺失值。打开数据(csv文件、excel文件)查看数据(尺寸信息、查看列名等方法)利用循环补全所有列的空值。众数、中位数填补空值。

2025-04-23 17:23:25 771

原创 day3列表和循环

print(f'优秀分数个数:{excellent_count}\n分数总和:{total_score}\n分数平均值:{average_score:.3f}')print(f'第一个技术:{first_tech}\n当前列表长度:{current_length}\n最终列表内容:{tech_list}')创建一个包含三个字符串元素的列表 tech_list,元素分别为 “Python”, “Java”, “Go”。最终列表内容:['Python', 'Ruby', 'JavaScript']

2025-04-22 11:44:51 891

原创 day 2

题目: 定义两个整数变量,score_a 赋值为 75,score_b 赋值为 90。比较 score_a 是否小于等于 score_b,将结果存储在变量 is_a_lower_or_equal 中;print(f'{score_a}是否小于等于{score_b}:{is_a_lower_or_equal}')print(f'{score_a}是否不等于{score_b}:{is_different}')print(f'{score_a}是否大于{score_b}:{is_a_higher}')

2025-04-21 17:42:35 452

原创 day 1

计算这两个变量的和,并将结果存储在一个新的变量 a 中;计算这两个变量的余数,叫做c。然后,使用 f-string 打印出类似 “20 加 8 的结果是:28” 的信息,分成三行打印。我的名字是"{name}",\n我住在{city}。我的名字是"{name}",我住在{city}。我的名字是{name},我住在{city}。函数将每个变量的值单独打印出来,每个值占一行。请注意输出格式中的逗号和空格)请注意输出格式中的逗号和空格)请注意输出格式中的逗号和空格)请注意输出格式中的逗号和空格)

2025-04-20 19:02:32 513

空空如也

空空如也

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

TA关注的人

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