《第1节导数的概念及运算》由会员分享,可在线阅读,更多相关《第1节导数的概念及运算(7页珍藏版)》请在人人文库网上搜索。
1、第三章 DISANZ11ANG导数及其应用第1节导数的概念及运算考试要求 1.通过实例分析,经历由平均变化率过渡到瞬时变化率的过程,了解导数概念的实际背景,知道导数是关于瞬时变化率的数学表达,体会导数的内涵与思想;2.体会极限思想;3.通过函数图象直观理解导数的几何意义;4.能根据1导数定义求函数y= c,y= x,y=x2,y=x3,y= X,的导数;5.能利用给出的基本初等函数的导数公式和导数的四则运算法则,求简单函数的导数;能求简单的复合函数(限于形如f(ax+ b)的导数;6.会使用导数公式表.Ill E8知识核斷JLiLLaLLl.回颐敕材知识梳理1. 导数的概念设函数y= f(x)
2、在区间(a,b)上有定义,且xo (a,b),若Ax无限趋近于0时,比 值2二 S+ 气-彳0)无限趋近于一个常数 A,则称f(x)在x=xo处可导, 并称该常数A为函数f(x)在x = xo处的导数,记作f'x0).若函数y= f(x)在区间(a, b)内任意一点都可导,则f(x)在各点的导数也随着x的 变化而变化,因而是自变量x的函数,该函数称作f(x)的导函数,记作f'x(2. 导数的几何意义导数f'x0)的几何意义就是曲线y=f(x)在点P(xo,f(xo)处的切线的斜率,在点 P 的切线方程为yyo= f'x0)(x xo).3. 基本初等函数的导数公
5、(f(x)工 °).3曲线的切线与曲线的公共点的个数不一定只有一个,而直线与二次曲线相切只有一个公共点.4.函数y=f(x)的导数f'x)反映了函数f(x)的瞬时变化趋势,其正负号反映了变化的方向,其大小X) |反映了变化的快慢,(f'x(越大,曲线在这点处的切线越“陡”.诊断自测1判断下列结论的正误.(在括号内打“V”或“X”)f'x(是函数y=
数据库字段名批量转化为驼峰格式
这与Cpython 编译优化相关,行为称为字符串驻留
,但驻留的字符串中只包含字母,数字或下划线。
下一步,使用conda config --remove channels url地址
删除清华镜像,如下命令删除第一个。然后,依次删除所有镜像源
添加目前可用的中科大镜像源:
并设置搜索时显示通道地址:
最近几天,后台几个小伙伴问我,无论pip还是conda安装pytorch
都太慢了,都是安装官方文档去做的,就是超时装不上,无法开展下一步,卡脖子的感觉太不好受。
说明已经安装好清华的镜像源。如果没有安装,请参考下面命令安装源:
依次安装上面所有的源。
并设置搜索时显示通道地址,执行下面命令:
通过lxml模块提取值
除了简单地判断是否匹配之外,正则表达式还有提取子串的强大功能。用()
表示的就是要提取的分组(group)。比如:^(\d{3})-(\d{3,8})$
分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码
如果正则表达式中定义了组,就可以在Match
对象上用group()
方法提取出子串来。
创建窗体,命名为XiaoDing
,整个的界面如下所示:
qt 设计器
提供的常用控件基本都能满足开发需求,通过拖动左侧的控件,很便捷的就能搭建出如下的UI界面,比传统的手写控件代码要方便很多。
最终设计的计算器XiaoDing
界面如下,
比如,其中一个用于计算器显示的对象:lcdNumber
,对象的类型为:LCD Number
。右侧为计算器中用到的所有对象。
使用如下命令,将设计好的ui
文件转为py
文件:
按钮RE
,M
, RE
对应的实现逻辑:
本项目基于Kaggle电影影评数据集,通过这个系列,你将学到如何进行数据探索性分析(EDA),学会使用数据分析利器pandas
,会用绘图包pyecharts
,以及EDA时可能遇到的各种实际问题及一些处理技巧。
我们的目标是变为如下结构:
乍看可使用pivot
,但很难一步到位。
所以另辟蹊径,提供一种简单且好理解的方法:
以上方法是重新创建一个DataFrame,直接把df.a
所有可能取值作为新dataframe的列,index调整为[0]
,注意类型必须是数组类型(array-like 或者 Index),两个轴确定后,data
填充数据域。
数据来自kaggle,共包括三个文件:
使用pandas导入此文件:
次导入其他两个数据文件
第二个关键字参数:delimiter='::'
,表示文件分隔符使用::
后面几个关键字参数分别代表使用的引擎,文件没有表头,所以header
为None;
导入后dataframe的列名使用names
关键字设置,这个参数大家可以记住,比较有用。
Kaggle电影数据集第一节,我们使用数据处理利器 pandas
, 函数read_csv
导入给定的三个数据文件。
用到的read_csv
,某些重要的参数,如何使用在上一节也有所提到。下面开始数据探索分析(EDA)
表movies
字段Genre
表示电影的类型,可能有多个值,分隔符为|
,取值也可能为None
.
针对这类字段取值,可使用Pandas中Series提供的str
做一步转化,注意它是向量级的,下一步,如Python原生的str
类似,使用contains
判断是否含有comedy
字符串:
注意使用的两个参数:case
, na
case为 False,表示对大小写不敏感; na Genre列某个单元格为NaN
时,我们使用的充填值,此处填充为False
得到掩码mask后,pandas非常方便地能提取出目标记录:
1-4介绍数据读入
,处理组合值
,索引数据
等, pandas中使用较多的函数,基于Kaggle真实电影影评数据集,最后得到所有喜剧 ID
:
下面继续数据探索之旅~
拿到所有喜剧的ID后,要想找出其中平均得分最高的前10喜剧,需要关联另一张表:ratings
:
再回顾下ratings表结构:
pandas 中使用join
关联两张表,连接字段是Movie ID
,如果顺其自然这么使用join
:
左右滑动,查看完整代码
大家可验证这种写法,仔细一看,会发现结果非常诡异。
究其原因,这是pandas join函数使用的一个算是坑点,它在官档中介绍,连接右表时,此处右表是comedy
,它的index
要求是连接字段,也就是 Movie ID
.
左表的index不要求,但是要在参数 on
中给定。
Genre列为NaN
表明,这不是喜剧。需要筛选出此列不为NaN
的记录。
pandas最方便的地方,就是向量化运算,尽可能减少了for循环的嵌套。
按列筛选这种常见需求,自然可以轻松应对。
为了照顾初次接触 pandas 的朋友,分两步去写:
结果中,Genre字段中至少含有一个Comedy字符串,表明验证了我们以上操作是OK的。
截止目前已经求出所有喜剧电影result
,前5行如下,Genre中都含有Comedy
字符串:
result中会有很多观众对同一部电影的打分,所以要求得分前10的喜剧,先按照Movie ID
分组,然后求出平均值:
都是满分?这有点奇怪,会不会这些电影都只有几个人评分,甚至只有1个?评分样本个数太少,显然最终的平均分数不具有太强的说服力。
所以,下面要进行每部电影的评分人数统计
果然,竟然有这么多电影的评论数只有1次!样本个数太少,评论的平均值也就没有什么说服力。
查看watchs2
一些重要统计量:
共有10740部喜剧电影被评分,平均打分次数20次,标准差86,75%的电影样本打分次数小于7次,最小1次,最多1843次。
绘制评论数的频率分布直方图,便于更直观的观察电影被评论的分布情况。上面分析到,75%的电影打分次数小于7次,所以绘制打分次数小于20次的直方图:
histn
元祖表示个数和对应的被分割的区间,查看histn[0]
:
看到电影评论次数1到19次的喜剧电影9222部,共有10740部喜剧电影,大约86%
的喜剧电影评论次数小于20次
,有1518
部电影评论数不小于20次。
我们肯定希望挑选出被评论次数尽可能多的电影,因为难免会有水军和滥竽充数等异常评论
行为。那么,如何准确的量化最小抽样量呢?
根据统计学的知识,最小抽样量和Z值、样本方差和样本误差相关,下面给出具体的求解最小样本量的计算方法。
此处,$Z$ 值取为95%的置信度对应的Z值也就是1.96,样本误差取为均值的2.5%.
根据以上公式,编写下面代码:
只计算影评超过20次,且满足最小样本量的电影。计算得到的n3r
前5行:
进一步求出最小样本量:
筛选出满足最小抽样量的喜剧电影:
结果显示如下,因此共有173
部电影满足最小样本抽样量。
按照平均得分从大到小排序:
有一个细节容易忽视,因为上面连接的ratings
表Movie ID
会有重复,因为会有多个人评论同一部电影。所以再对n3s_sort
去重:
仅靠Movie ID
还是不知道哪些电影,连接movies
表:
分类变量的数值化,是指将枚举类变量转化为indicator变量或称dummy变量。
如果输入的字符有4个唯一值,看到字符a被解析为[1,0,0,0],向量长度为4.
也就是说dummy向量的长度等于输入字符串中,唯一字符的个数。
Flask是Python轻量级web框架,容易上手,被广大Python开发者所喜爱。
今天我们先从hello world开始,一步一步掌握Flask web开发。例子君是Flask框架的小白,接下来与读者朋友们,一起学习这个对我而言的新框架,大家多多指导。
通过装饰器:App.route('/')创建index页的路由或地址,一个/
表示index页,也就是主页。
然后启动,会在console下看到如下启动信息,表明服务启动成功
。
接下来,打开一个网页,相当于启动客户端,并在Url栏中输入:http://127.0.0.1:5000/
,看到页面上答应出hello world
,证明服务访问成功。
同时在服务端后台看到如下信息,表示处理一次来自客户端的get
请求。
数据持久化就是将数据写入到数据库存储的过程。
本例子使用sqlite3
数据库。
3)创建与数据库实例test.db
的连接:
key. 主键的取值必须是唯一的(unique
),否则会报错。
第一次执行上面语句,表books
创建完成。当再次执行时,就会报重复建表
的错误。需要优化脚本,检查表是否存在IF NOT EXISTS books
,不存在再创建:
提交后才会真正生效,写入到数据库
9)关闭期初建立的连接conn
务必记住手动关闭,否则会出现内存泄漏
10)查看结果 例子君使用vs code
,在扩展库中选择:SQLite
安装。
新建一个sq
文件:a.sql
,内容如下:
右键run query
,得到表books
插入的4行记录可视化图:
以上十步就是sqlite3写入数据库的主要步骤,作为Flask系列的第二篇,为后面的前端讲解打下基础。
}