python训练营day29
知识点回顾
- 类的装饰器
- 装饰器思想的进一步理解:外部修改、动态
- 类方法的定义:内部定义和外部定义
作业:复习类和函数的知识点,写下自己过去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 社区的强大支持。
@浙大疏锦行