大数据HCIE成神之路之数学(1)——基础数学

基础数学

    • [1.1 基础数学实验介绍](#1.1 基础数学实验介绍)
      • [1.1.1 内容介绍](#1.1.1 内容介绍)
      • [1.1.2 框架介绍](#1.1.2 框架介绍)
    • [1.2 基础数学实现](#1.2 基础数学实现)
      • [1.2.1 ceil实现](#1.2.1 ceil实现)
      • [1.2.2 floor实现](#1.2.2 floor实现)
      • [1.2.3 cos实现](#1.2.3 cos实现)
      • [1.2.4 tan实现](#1.2.4 tan实现)
      • [1.2.5 degrees实现](#1.2.5 degrees实现)
      • [1.2.6 exp实现](#1.2.6 exp实现)
      • [1.2.7 fabs实现](#1.2.7 fabs实现)
      • [1.2.8 factorial实现](#1.2.8 factorial实现)
      • [1.2.9 fsum实现](#1.2.9 fsum实现)
      • [1.2.10 fmod实现](#1.2.10 fmod实现)
      • [1.2.11 log实现](#1.2.11 log实现)
      • [1.2.12 sqrt实现](#1.2.12 sqrt实现)
      • [1.2.13 pi实现](#1.2.13 pi实现)
      • [1.2.14 pow实现](#1.2.14 pow实现)
      • [1.2.15 trunc实现](#1.2.15 trunc实现)

1.1 基础数学实验介绍

1.1.1 内容介绍

基础数学知识在数据挖掘领域有着大量的应用,尤其是在算法设计和数值处理方面。本章节的主要目的就是基于Python语言和相应的基础数学模块,实现一些常用的数学基础算法,为进入数据挖掘的学习提供基础支持。

1.1.2 框架介绍

本章节使用到的框架主要包括math库,numpy库和scipy库。math库是Python的标准库,提供一些常用的数学函数;numpy库是Python的一个数值计算拓展库,主要用于处理线性代数,随机数生成,傅里叶变换等问题;scipy库主要用于统计,优化,插值,积分等问题的处理。

1.2 基础数学实现

导入相应库:

python 复制代码
import math 
import numpy as np

1.2.1 ceil实现

ceil(x) 取大于等于x的最小的整数值,如果x是一个整数,则返回自身。

代码输入:

python 复制代码
math.ceil(4.01)

结果输出:

python 复制代码
5

代码输入:

python 复制代码
math.ceil(4.99)

结果输出:

python 复制代码
5

1.2.2 floor实现

floor(x) 取小于等于x的最大的整数值,如果x是一个整数,则返回自身。

代码输入:

python 复制代码
math.floor(4.1)

结果输出:

python 复制代码
4

代码输入:

python 复制代码
math.floor(4.999)

结果输出:

python 复制代码
4

1.2.3 cos实现

cos(x) 求x的余弦,x必须是弧度(math.pi/4表示弧度,转换成角度为45度)。

代码输入:

python 复制代码
math.cos(math.pi/4)

结果输出:

python 复制代码
0.7071067811865476

代码输入:

python 复制代码
math.cos(math.pi/3)

结果输出:

python 复制代码
0.5000000000000001

解释:在Python中,math.cos()函数用于计算给定角度的余弦值。math.pi是一个常量,表示圆周率π,其值约为3.141592653589793。因此,math.pi/3表示π的1/3倍,即约为1.0471975511965979弧度。因为在计算机中进行浮点数运算时存在舍入误差,所以结果可能会略微偏差。在这种情况下,math.cos(math.pi/3)的近似值为0.5。

1.2.4 tan实现

tan(x) 返回x(x为弧度)的正切值。

代码输入:

python 复制代码
np.tan(math.pi/6)

结果输出:

python 复制代码
0.5773502691896257

注意:上述代码是使用Numpy库,NumPy库和Python的math模块在处理数学函数时使用不同的算法和精度。NumPy库使用基于C语言的底层实现,提供高精度的数学计算。而Python的math模块使用标准的浮点数实现,精度可能较低。

举例:

python 复制代码
math.tan(math.pi/4)

结果输出:

python 复制代码
0.9999999999999999

1.2.5 degrees实现

degrees(x) 把x从弧度转换成角度。

代码输入:

python 复制代码
math.degrees(math.pi/4)

结果输出:

python 复制代码
45.0

代码输入:

python 复制代码
math.degrees(math.pi)

结果输出:

python 复制代码
180.0

1.2.6 exp实现

exp(x) 返回math.e,也就是2.71828的x次方。

代码输入:

python 复制代码
math.exp(1)

结果输出:

python 复制代码
2.718281828459045

1.2.7 fabs实现

fabs(x) 返回x的绝对值。

代码输入:

python 复制代码
math.fabs(-0.003)

结果输出:

python 复制代码
0.003

1.2.8 factorial实现

factorial(x) 取x的阶乘的值。

代码输入:

python 复制代码
math.factorial(3)

结果输出:

python 复制代码
6

1.2.9 fsum实现

fsum(iterable) 对迭代器里的每个元素进行求和操作。

代码输入:

python 复制代码
math.fsum([1,2,3,4])

结果输出:

python 复制代码
10

1.2.10 fmod实现

fmod(x, y) 得到x/y的余数,其值是一个浮点数。

代码输入:

python 复制代码
math.fmod(20,3)

结果输出:

python 复制代码
2.0

1.2.11 log实现

log([x, base]) 返回x的自然对数,默认以e为底数,base参数给定时,按照给定的base返回x的对数,计算式为: log(x)/log(base)

代码输入:

python 复制代码
math.log(10)

结果输出:

python 复制代码
2.302585092994046

解释:math.log(10)表示以自然对数为底的10的对数。在数学中,自然对数的底数是常数e,约等于2.71828。因此,math.log(10)的结果约为2.302585092994046。这表示以自然对数为底的10的对数约为2.302585092994046。

举例:

python 复制代码
import math
math.log(math.exp(2))

结果数据:

python 复制代码
2.0

1.2.12 sqrt实现

sqrt(x) 求x的平方根。

代码输入:

python 复制代码
math.sqrt(100)

结果输出:

python 复制代码
10.0

1.2.13 pi实现

pi 数字常量,圆周率。

代码输入:

python 复制代码
math.pi

结果输出:

python 复制代码
3.141592653589793

1.2.14 pow实现

pow(x, y) 返回x的y次方,即 x**y

代码输入:

python 复制代码
math.pow(3,4)

结果输出:

python 复制代码
81.0

1.2.15 trunc实现

trunc(x:Real) 返回x的整数部分。

代码输入:

python 复制代码
math.trunc(6.789)

结果输出:

python 复制代码
6
相关推荐
知识分享小能手4 分钟前
mysql学习教程,从入门到精通,SQL ORDER BY 子句(14)
大数据·开发语言·数据库·sql·学习·mysql·大数据开发
最强大神31 分钟前
2025年最新大数据毕业设计选题-Hadoop综合项目
大数据·hadoop·毕业设计·毕业设计选题·大数据毕业设计选题·大数据毕设·大数据毕设选题
鸡c32 分钟前
es的封装
大数据·elasticsearch·搜索引擎
液态不合群37 分钟前
低代码开发:数据分析如何快速响应企业需求
低代码·数据挖掘·数据分析
A133038145362 小时前
电商店群模式如何利用云分账实现自动化资金管理
大数据
卓_尔_不_凡2 小时前
Pytorch学习---基于经典网络架构ResNet训练花卉图像分类模型
人工智能·分类·数据挖掘
CS数模3 小时前
2024 “华为杯” 中国研究生数学建模竞赛(D题)深度剖析|大数据驱动的地理综合问题|数学建模完整代码+建模过程全解全析
大数据·数学建模·华为
编程零零七3 小时前
Python数据分析工具(四):pymysql的用法
开发语言·python·oracle·数据挖掘·数据分析·python项目·python源码
陈吉俊3 小时前
实时流处理框架(如Flink、Spark Streaming)
大数据
@听风吟3 小时前
力扣之182.查找重复的电子邮箱
大数据·javascript·数据库·sql·leetcode