现在我们已经知道如何去定义一个新的类型,下一步就是编写以自定义对象为参数的函数,并返回自定义对象作为结果。在本章中,我还将介绍“函数式编程风格”和两种新的编程开发方案。 本章的代码示例可以从 http://thinkpython2.com/code/Time1.py 下载。练习的答案可以从 http://thinkpython2.com/code/Time1_soln.py 下载。 时间 再举一个
目前你已经知道如何使用函数来组织你的代码,同时用内置的类型来管理数据。 下一步我们将学习“面向对象编程”,即使用 程序员定义的类来组织代码和数据。 面向对象编程是一个很大的话题,讲完需要一些章节。 本章的示例代码可以在http://thinkpython2.com/code/Point1.py 获取; 练习题的答案可以在http://thinkpython2.com/code/Point1_sol
类是描述了一组有共同行为的对象。由类描述的对象称为类的一个实例。类指定了其实例拥有的属性(原文为slot卡槽)的名称,而这些属性的值由实例自身来进行填充。类同样也指定了可以应用于其实例的方法(method)。属性值可以是任何形式,但方法的值必须是过程。 类具有继承性。因此,一个类可以是另一个类的子类,我们称另一个类为它的父类。一个子类不仅有它自己“直接的”属性和方法,也会继承它的父类的所有属性和方
一个有用的Scheme程序经常需要与底层操作系统进行交互。 11.1 检查和删除文件 file-exists?会检查它的参数字符串是否是一个文件。delete-file接受一个文件名字符串作为参数并删除相应的文件。这些程序并不是Scheme标准的一部分,但是在大多数Scheme实现中都能找到它们。用这些过程操作目录(而不是文件)并不是很可靠。(用它们操作目录的结果与具体的Scheme实现有关。)
在本章里,我们将使用 Lisp 来自己实现面向对象语言。这样子的程序称为嵌入式语言 (embedded language)。嵌入一个面向对象语言到 Lisp 里是一个绝佳的例子。同時作为一个 Lisp 的典型用途,並演示了面向对象的抽象是如何多自然地在 Lisp 基本的抽象上构建出来。 17.1 继承 (Inheritance) 11.10 小节解释过通用函数与消息传递的差别。 在消息传递模型里,
接下来三章提供了大量的 Lisp 程序例子。选择这些例子来说明那些较长的程序所采取的形式,和 Lisp 所擅长解决的问题类型。 在这一章中我们将要写一个基于一组 if-then 规则的推论程序。这是一个经典的例子 —— 不仅在于其经常出现在教科书上,还因为它反映了 Lisp 作为一个“符号计算”语言的本意。这个例子散发着很多早期 Lisp 程序的气息。 15.1 目标 (The Aim) 在这个程
你可以认为OCaml分成了两部分:一个是核心语言,聚焦于值和类型,一个是模块语言,聚焦于模块和模块签名。这些子语言是分层的,模块中可以包含类型和值,但是普通的值不能包含模块或模块类型。这意味着你不能定义一个值为模块的变量,或一个接收一个模块作为参数的函数。 围绕这种层次,OCaml以 第一类模块的形式提供一种方法。第一类模块是普通的值,可以从普通模块创建,也可以转回普通模块。 第一类模块是一种复杂
我们经常收集许多可能与监督预测任务相关的特征,但我们不知道它们中的哪一个实际上是预测性的。 为了提高可解释性,有时还提高泛化表现,我们可以使用自动特征选择来选择原始特征的子集。 有几种可用的特征选择方法,我们将按照复杂性的升序来解释。 对于给定的监督模型,最佳特征选择策略是尝试每个可能的特征子集,并使用该子集评估泛化表现。 但是,特征子集是指数级,因此这种详尽的搜索通常是不可行的。 下面讨论的策略
线性模型在可用的数据很少时非常有用,或者对于文本分类中的非常大的特征空间很有用。 此外,它们是正则化的良好研究案例。 用于回归的线性模型 用于回归的所有线性模型学习系数参数coef_和偏移intercept_,来使用线性特征组合做出预测: y_pred = x_test[0] * coef_[0] + ... + x_test[n_features-1] * coef_[n_features-1]
在本节中,我们将研究如何链接不同的估计器。 简单示例:估计器之前的特征提取和选择 特征提取:向量化器 对于某些类型的数据,例如文本数据,必须应用特征提取步骤将其转换为数值特征。 为了说明,我们加载我们之前使用的 SMS 垃圾邮件数据集。 import os with open(os.path.join("datasets", "smsspam", "SMSSpamCollection")) as
在许多任务中,例如在经典的垃圾邮件检测中,你的输入数据是文本。 长度变化的自由文本与我们需要使用 scikit-learn 来做机器学习所需的,长度固定的数值表示相差甚远。 但是,有一种简单有效的方法,使用所谓的词袋模型将文本数据转换为数字表示,该模型提供了与 scikit-learn 中的机器学习算法兼容的数据结构。 假设数据集中的每个样本都表示为一个字符串,可以只是句子,电子邮件或整篇新闻文章
问题内容: 我已经将数据文件加载到Python pandas数据框中。我有一个格式的datetime列。 我需要做的是创建一个新列,将其四舍五入到最接近的四分之一小时。因此,上述日期将四舍五入为。 如何在熊猫中做到这一点?我尝试从此处使用解决方案,但出现错误。 问题答案: 假设您的系列由对象组成,则需要使用。范例- 上面的示例始终四舍五入到前一个四分之一小时(行为类似于发言权功能)。 编辑 四舍五
7.21测评:性格测试 7.23一面: 自我介绍 讲讲第一个项目及遇到最大的挑战 为什么来合肥 对38所了解吗 怎么不投南京研究所 反问问题 7.28二面: 自我介绍 是否保研 代码能力强吗?用什么语言写的? 发表的文章是根据项目来的吗? 深挖第一个项目 你的执行力如何? 社团具体的经历,你做了什么? 有没有期望的城市或者工作?南京的研究所投了吗? 有兄弟姐妹吗?有男朋友吗? 了解过38所吗? 对
问题内容: 我在表中有一个DATETIME列,其值类似于: 我需要能够将这些值更新为: 基本上四舍五入到最接近的分钟…大于30秒的所有时间都会增加,小于30秒的任何时间都会减少。 我找到了这个答案https://stackoverflow.com/a/19291128/99401并将SQL更改为 SQL小提琴 但这只会四舍五入。如何根据秒取整? 问题答案: 一种解决方案(SQL Fiddle)可以
本文向大家介绍浅谈php中的循环while、do...while、for、foreach四种循环,包括了浅谈php中的循环while、do...while、for、foreach四种循环的使用技巧和注意事项,需要的朋友参考一下 php中的while循环,循环执行代码块制定的次数,或者当指定的条件为真时循环执行代码块。 ----------------------------------------