机器学习(一)相关数学概念

一、 数学相关重要概念

(1) 均值 — 平均值 可用numpy 进行求解

import numpy

x = [1,2,3,4,5,3]
x_avg = numpy.mean(x)
print(x_avg)

(2) 中值 — 对于所有值排序后的中间值

import numpy

x_mid = numpy.median(x)
print(x_mid)

(3) 众数 — 出现次数最多的数

from scipy import stats

x_most = stats.mode(x)
print(x_most[0])

使用 numpy.unique() 亦可以

import numpy as np
array = np.array([1,2,3,4,4,5])
vals,counts = np.unique(array, return_counts=True)
index = np.argmax(counts)
print(vals[index])

(4) 标准差 — 又称为均方差,描述值得离散程度

低标准差表示大多数数字接近平均值;
高标准差表示这些值在更大的范围内;

import numpy

deta = numpy.std(x)

标准差公式:
 标准差公式

(5) 方差 — 标准差的平方,表示值的分散程度

import numpy 

deta^2 = numpy.var(x)

方差公式:
在这里插入图片描述

(6) 百分位数 — 提供一个数字,描述了给定比例下小于的值

x = [1,2,3,4,5,6,7,5,4,3,1]

y = numpy.percentile(x,100) #百分之百的数都小于y
print(y)

y = 7  #100%

二、 数据分布

(1) 标准正态分布

x = numpy.random.normal(5.0,1.0,1000) # 5.0 是 平均值, 1.0 是标准差, 1000个数

import numpy
import matplotlib.pyplot as plt

x = numpy.random.normal(5.0,1.0,1000)# 5.0 是 平均值, 1.0 是标准差, 1000个数
plt.hist(x,100) #直方图
plt.show()

在这里插入图片描述

(2) 散点图

import numpy
import matplotlib.pyplot as plt
numpy.random.seed(2)


x = numpy.random.normal(3, 1, 100)

y = numpy.random.normal(150, 40, 100)/x


train_x = x[:80]
train_y = y[:80]

test_x = x[80:]
test_y = y[80:]

plt.scatter(x,y)
plt.plot(myline,mymodel(myline))
plt.show()

在这里插入图片描述

三、缩放

当数据拥有不同的值,甚至使用不同的度量单位时,就很难去比较他们,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削弱数值水平较低指标的作用。因此,为了保证结果的可靠性,需要对原始指标数据进行标准化处理我们可以使用缩放来比较两个值。

标准化方法

(1)Min-max 标准化

min-max标准化方法是对原始数据进行线性变换。设minA和maxA分别为属性A的最小值和最大值,将A的一个原始值x通过min-max标准化映射成在区间[0,1]中的值x’,这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

其公式为:

z = x − m i n m a x − m i n z = \frac{x-min}{max-min} z=maxminxmin

(2) 零-均值规范化(z-score标准化)

又叫 标准差标准化,经过处理的数据的 均值为 0,标准差为 1

这种方法基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’。z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。

其公式为:

z = x − x ˉ s , z = \frac{x-\bar{x}}{s}, z=sxxˉ,

其中 z z z是标准化后的值, x ˉ \bar{x} xˉ 是均值, s s s 是均值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值