当前位置: 首页 > news >正文

python训练营day29

知识点回顾

  1. 类的装饰器
  2. 装饰器思想的进一步理解:外部修改、动态
  3. 类方法的定义:内部定义和外部定义

作业:复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等,未来再过几个专题部分我们即将开启深度学习部分。

在过去 29 天对机器学习中类和函数的复习过程中,我对这两个重要概念以及 Python 工具本身有了更为深刻的理解和感悟。

一、函数

函数作为可复用的代码块,是编程逻辑模块化的核心。复习之初,我重新梳理了函数的定义、参数传递、返回值等基础概念。函数就像是一个 “黑匣子”,输入特定的参数,经过内部的计算和处理,输出相应的结果。在机器学习中,函数的作用至关重要。以数据预处理为例,我编写了一系列函数用于数据清洗、标准化、归一化等操作。比如,通过定义一个data_cleaning函数,将数据中缺失值填充、异常值处理等操作封装起来,这样在处理不同数据集时,只需调用该函数即可,大大提高了代码的复用性和开发效率。

同时,我还深入理解了高阶函数和匿名函数的概念和应用。高阶函数可以接受函数作为参数或返回一个函数,这为实现更加灵活和抽象的编程逻辑提供了可能。在机器学习算法的优化过程中,常常会用到高阶函数来实现动态调整学习率等功能。匿名函数则适用于一些简单的、临时性的函数定义场景,比如在使用map、filter等函数进行数据处理时,匿名函数可以让代码更加简洁明了。

二、类

类是面向对象编程的核心概念,它是对现实世界中事物的抽象描述。复习过程中,我从类的定义、属性、方法以及继承、多态等特性入手,逐步深入理解类在机器学习中的应用。类就像是一个蓝图,通过定义类,可以创建具有特定属性和行为的对象。在机器学习中,我们可以将模型、数据集等抽象为类。例如,定义一个NeuralNetwork类,其中包含神经网络的结构定义、训练方法、预测方法等属性和方法。通过创建NeuralNetwork类的实例,我们可以方便地对不同的神经网络模型进行管理和操作。

继承和多态特性让代码的扩展性和灵活性得到了极大提升。通过继承,我们可以创建一个子类,继承父类的属性和方法,并根据需要进行扩展和修改。在机器学习算法的实现中,很多算法之间存在相似性,通过继承可以避免重复代码的编写。多态则使得不同类的对象可以对同一消息做出不同的响应,这在处理多种类型的模型时非常有用,比如不同类型的分类器可以通过统一的接口进行训练和预测。

三、Python

Python 作为一门简洁、高效且功能强大的编程语言,在机器学习领域得到了广泛应用。通过这 29 天的复习,我更加深刻地体会到了 Python 的优势。Python 丰富的库和框架,如 NumPy、Pandas、Scikit-learn、TensorFlow 等,为机器学习的开发提供了极大的便利。NumPy 提供了高效的数值计算功能,Pandas 用于数据处理和分析,Scikit-learn 封装了大量经典的机器学习算法,TensorFlow 则是深度学习领域的主流框架。这些库和框架基于 Python 的语法和特性,使得开发者可以快速地实现复杂的机器学习任务。

Python 的语法简洁明了,易于学习和掌握。它的动态类型系统使得代码编写更加灵活,减少了很多繁琐的类型声明。同时,Python 的代码可读性很强,通过合理的缩进和命名规范,即使是复杂的机器学习代码也能清晰易懂。在复习过程中,我也遇到了一些 Python 语法和库使用的问题,但通过查阅文档和在线资源,都能够快速找到解决方案,这也体现了 Python 社区的强大支持。

@浙大疏锦行

http://www.dtcms.com/a/200938.html

相关文章:

  • C++类与对象--5 运算符重载
  • 【Canvas与图标】圆角方块蓝星CSS图标
  • 纯前端实现图文识别 OCR
  • 异步委托执行管理器:更新
  • 嵌入式培训之数据结构学习(六)树(二叉树)、哈希表、内核链表
  • 理解 Swift 逃逸闭包与 implicit `self`
  • virtual下Ubuntu24.04版本上配置网络与外网和宿主机之间互通
  • ros2-类继承,lambda,共享指针,多线程
  • 【C++】C++的IO流
  • 数据结构学习笔记—初识数据结构
  • 【机器学习】线性回归和损失函数
  • 特征值与特征向量的计算——PCA的数学基础
  • Java SpringBoot 集成 SpringSecurity
  • BC27 计算球体的体积
  • VS2017编译openssl3.0.8
  • 【成品设计】STM32和UCOS-II的项目
  • 命令行登录 MySQL 报 Segmentation fault 故障解决
  • 博客系统功能测试
  • 如何轻松删除电脑上的文件(无法恢复文件)
  • 成功案例丨GEZE与Altair合作推动智能建筑系统开发
  • Nginx端口telnet不通排查指南
  • 解决 Linux Bash 脚本因换行符问题导致的 “bash^M: No such file or directory“ 错误
  • es快速上手(从MySQL角度)
  • Java 进阶 1.0.1
  • Java高频面试之并发编程-18
  • 五分钟本地部署大模型
  • “星睿O6”AI PC 开发套件评测: NPU 算力测评(1)
  • MySQL 锁机制深度剖析:全局锁、表锁与行锁
  • 如何从容应对面试?
  • 大模型小课堂开课啦!!!