网站没做好能不能备案,突泉建设局三务公开网站,大同网站建设站建设,重庆建设科技培训中心官方网站1.认识Scipy
SciPy#xff08;发音为 Sigh Pie#xff09;是一个开源的 Python 算法库和数学工具包。
通常与 NumPy、Matplotlib 和 pandas 等库一起使用#xff0c;这些库共同构成了 Python 的科学计算基础。
2.使用Scipy基本函数
2.1 引用Scipy函数 impor…1.认识Scipy
SciPy发音为 Sigh Pie是一个开源的 Python 算法库和数学工具包。
通常与 NumPy、Matplotlib 和 pandas 等库一起使用这些库共同构成了 Python 的科学计算基础。
2.使用Scipy基本函数
2.1 引用Scipy函数 import scipy.stats as st 2.2 构建一个简单的随机算数函数
2.2.1 引用函数、创建方程
衰减公式 e a * e^(-b*x)c
import numpy as np
import matplotlib.pyplot as plt
import scipy
def y(x,a,b,c):return a * np.exp(-b * x) c
2.2.2 构建数列
0~4之间的50个数
xdata np.linspace(0,4,50)
ydata y(xdata,2.5,1.3,0.5)
print(xdata,ydata)
2.2.3 模拟噪声处理
ydata_noise ydata 0.5 * np.random.randn(xdata.size)
plt.plot(xdata,ydata_noise)
#plt.show() 测试
2.2.4 生成拟合曲线
params,pcov scipy.optimize.curve_fit(y,xdata,ydata_noise)
plt.plot(xdata,y(xdata,*params))
plt.show()
3. 随机变量与变量分布
创建一个具备正态分布形态的随机变量
s1 st.norm.rvs(loc0, scale1, size100)
生成了100个正态分布的随机数并存储在变量 s1 中。其中随机数满足条件
loc0 期望值scale1 方差标准差size100 数量
import seaborn as sns
import matplotlib.pyplot as plt
import scipy.stats as st
s1 st.norm.rvs(loc0,scale1,size100)
s2 st.norm.rvs(loc1,scale2,size100)
s3 st.norm.rvs(loc2,scale3,size100)
sns.distplot(s1)
sns.distplot(s2)
sns.distplot(s3)
plt.legend(labels[1,2,3])
plt.show() 4.检测检验
4.1 分布图总体VS样本
s0 st.norm.rvs(72,1,1000)#测试总体概率
s1 st.norm.rvs(68,0.8,100)#测试样本概率
sns.distplot(s0)
sns.distplot(s1)
plt.show() 4.2 置信区间、拒绝域
置信区间总体概率为95%
拒绝域概率p5%0.05
3*std当类别数据3个方差时就是小概率事件即可以拒绝原假设接收备择假设。
plt.figure(figsize(10,5))#设置窗口尺寸
sns.distplot(st.norm.rvs(size1000))
plt.show() 4.3 计算出现的频率
print(st.norm.cdf(-2))
print(st.norm.ppf(0.022))
4.4 简单计算p值的方法
zscore (68-72)/0.8
print(zscore)
5. 流失vs非流失用户样本差异
5.1 数据预处理提取月消费
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import scipy.stats as stdate pd.read_csv(WA_Fn-UseC_-Telco-Customer-Churn.csv)
#按是否流失提取月消费数据
churn0 date[date[是否流失]No][月消费]
churn1 date[date[是否流失]Yes][月消费]
print(churn0.head())
5.2 观察分布结构
5.2.1 频数分布
plt.figure(figsize(15,5))
churn0.hist(bins50)
churn1.hist(bins50)
plt.legend(labels[churn0,churn1])
plt.show() 5.2.2 概率分布
plt.figure(figsize(15,5))
sns.distplot(churn0.tolist())
sns.distplot(churn1.tolist())
plt.legend(labels[churn0,churn1])
plt.show() 5.2.3 双侧检查
是否存在显著性差异
H0非流失用户μ值 流失用户μ值 ---均值无显著性差异
H1非流失用户μ值 ≠ 流失用户μ值 ---均值有显著性差异
5.2.3.1 st.ks_2samp(s0, s1)
这个函数执行Kolmogorov-Smirnov测试用于比较两个样本是否来自同一分布。
s0 churn0.tolist()
s1 churn1.tolist()
print(st.ks_2samp(s0, s1))
statistic0.24859894401422267, 统计量值越小分布越相似pvalue4.827359624586335e-75, 远远小于p值标准值0.05拒绝H0接收H1statistic_location68.8, 统计量位置检验统计量发生位置statistic_sign1 统计量符号 statistic_sign1为正数
5.2.3.2 st.describe(s0/s1)
这个函数输出样本s1/s0的描述性统计信息
print(st.describe(s0))
print(st.describe(s1))
nobs5174, 数量minmax(18.25, 118.75), 最大最小值mean61.26512369540008, 均值variance966.7527670734265,方差值skewness-0.025012288702718842, 偏度值kurtosis-1.3551511690013145)峰值
偏度值统计数据分布偏斜方向和程度的度量是统计数据分布非对称程度的数字特征
峰值概率密度分布曲线在平均值处峰值高低的特征数如果峰度大于三峰的形状比较尖