Python编写误差函数 python 计算误差

求python支持向量机多元回归预测代码

这是一段用 Python 来实现 SVM 多元回归预测的代码示例:

成都创新互联服务项目包括亳州网站建设、亳州网站制作、亳州网页制作以及亳州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,亳州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到亳州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

# 导入相关库

from sklearn import datasets

from sklearn.svm import SVR

from sklearn.model_selection import train_test_split

from sklearn.metrics import mean_squared_error

# 加载数据集

X, y = datasets.load_boston(return_X_y=True)

# 将数据集拆分为训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 创建SVM多元回归模型

reg = SVR(C=1.0, epsilon=0.2)

# 训练模型

reg.fit(X_train, y_train)

# 预测结果

y_pred = reg.predict(X_test)

# 计算均方误差

mse = mean_squared_error(y_test, y_pred)

print("Mean Squared Error:", mse)

在这段代码中,首先导入了相关的库,包括 SVR 函数、train_test_split 函数和 mean_squared_error 函数。然后,使用 load_boston 函数加载数据集,并将数据集分为训练集和测试集。接着,使用 SVR 函数创建了一个 SVM 多元回归模型,并使用 fit 函数对模型进行训练。最后,使用 predict 函数进行预测,并使用 mean_squared_error 函数计算均方误差。

需要注意的是,这仅仅是一个示例代码,在实际应用中,可能需要根据项目的需求进行更改,例如使用不同的超参数

编写一个python函数

import os

def ldir(path, ext=None):

if not os.path.exists(path) or not os.path.isdir(path):

return None

dl = os.listdir(path)

if path[-1] not in ['\\', '/']:

path = path + '\\'

if ext is not None and ext[0] != '.':

ext = '.' + ext

rl = []

for p in dl:

if os.path.isfile(path + p) and ext is not None:

if p.endswith(ext):

rl.append(p)

# 如果是带路径

# rl.append(path + p)

python3

Python科学计算——任意波形拟合

任意波形的生成 (geneartion of arbitrary waveform) 在商业,军事等领域都有着重要的应用,诸如空间光通信 (free-space optics communication), 高速信号处理 (high-speed signal processing),雷达 (radar) 等。在任意波形生成后, 如何评估生成的任意波形 成为另外一个重要的话题。

假设有一组实验数据,已知他们之间的函数关系:y=f(x),通过这些信息,需要确定函数中的一些参数项。例如,f 是一个线型函数 f(x)=k*x+b,那么参数 k 和 b 就是需要确定的值。如果这些参数用 p 表示的话,那么就需要找到一组 p 值使得如下公式中的 S 函数最小:

这种算法被称之为 最小二乘拟合 (least-square fitting)。scipy 中的子函数库 optimize 已经提供实现最小二乘拟合算法的函数 leastsq 。下面是 leastsq 函数导入的方式:

scipy.optimize.leastsq 使用方法

在 Python科学计算——Numpy.genfromtxt 一文中,使用 numpy.genfromtxt 对数字示波器采集的三角波数据导入进行了介绍,今天,就以 4GHz三角波 波形的拟合为案例介绍任意波形的拟合方法。

在 Python科学计算——如何构建模型? 一文中,讨论了如何构建三角波模型。在标准三角波波形的基础上添加了 横向,纵向的平移和伸缩特征参数 ,最后添加了 噪声参数 模拟了三角波幅度参差不齐的随机性特征。但在波形拟合时,并不是所有的特征参数都要纳入考量,例如,噪声参数应是 波形生成系统 的固有特征,正因为它的存在使得产生的波形存在瑕疵,因此,在进行波形拟合并评估时,不应将噪声参数纳入考量,最终模型如下:

在调用 scipy.optimize.leastsq 函数时,需要构建误差函数:

有时候,为了使图片有更好的效果,需要对数据进行一些处理:

leastsq 调用方式如下:

合理的设置 p0 可以减少程序运行时间,因此,可以在运行一次程序后,用拟合后的相应数据对 p0 进行修正。

在对波形进行拟合后,调用 pylab 对拟合前后的数据进行可视化:

均方根误差 (root mean square error) 是一个很好的评判标准,它是观测值与真值偏差的平方和观测次数n比值的平方根,在实际测量中,观测次数n总是有限的,真值只能用最可信赖(最佳)值来代替.方根误差对一组测量中的特大或特小误差反映非常敏感,所以,均方根误差能够很好地反映出测量的精密度。

RMSE 用程序实现如下:

拟合效果,模型参数输出:

leastsq 函数适用于任何波形的拟合,下面就来介绍一些常用的其他波形:

python新手关于编写函数的问题

sum = 0

def sum(i1, i2):

result = 0

for i in range(i1, i2 + 1):

result += i

return result

sum = sum(1, 9)

print sum(1, 9)

报错是因为,你的变量sum和函数sum是相同的名称。

导致执行sum=sum(1,9)时,把sum重载为了int型的变量,导致再执行sum(1,9)时会报错。

如果改成这样,不管顺序如何都不会报错了。

sum1 = 0

def sum(i1, i2):

result = 0

for i in range(i1, i2 + 1):

result += i

return result

sum1 = sum(1, 9)

print sum(1,9)

如何用python实现函数?

∧ X1Y1+X2Y2+......+XnYn-n*X(平均值)Y(平均值)

b =---------------------------------------------------------------

X1²+X2²+......+XnYn-(X(平均值))²

∧ ∧

a =Y(平均值)- b X

∧ ∧ ∧

y =b X+ a

Python--math库

Python math 库提供许多对浮点数的数学运算函数,math模块不支持复数运算,若需计算复数,可使用cmath模块(本文不赘述)。

使用dir函数,查看math库中包含的所有内容:

1) math.pi    # 圆周率π

2) math.e    #自然对数底数

3) math.inf    #正无穷大∞,-math.inf    #负无穷大-∞

4) math.nan    #非浮点数标记,NaN(not a number)

1) math.fabs(x)    #表示X值的绝对值

2) math.fmod(x,y)    #表示x/y的余数,结果为浮点数

3) math.fsum([x,y,z])    #对括号内每个元素求和,其值为浮点数

4) math.ceil(x)    #向上取整,返回不小于x的最小整数

5)math.floor(x)    #向下取整,返回不大于x的最大整数

6) math.factorial(x)    #表示X的阶乘,其中X值必须为整型,否则报错

7) math.gcd(a,b)    #表示a,b的最大公约数

8)  math.frexp(x)      #x = i *2^j,返回(i,j)

9) math.ldexp(x,i)    #返回x*2^i的运算值,为math.frexp(x)函数的反运算

10) math.modf(x)    #表示x的小数和整数部分

11) math.trunc(x)    #表示x值的整数部分

12) math.copysign(x,y)    #表示用数值y的正负号,替换x值的正负号

13) math.isclose(a,b,rel_tol =x,abs_tol = y)    #表示a,b的相似性,真值返回True,否则False;rel_tol是相对公差:表示a,b之间允许的最大差值,abs_tol是最小绝对公差,对比较接近于0有用,abs_tol必须至少为0。

14) math.isfinite(x)    #表示当x不为无穷大时,返回True,否则返回False

15) math.isinf(x)    #当x为±∞时,返回True,否则返回False

16) math.isnan(x)    #当x是NaN,返回True,否则返回False

1) math.pow(x,y)    #表示x的y次幂

2) math.exp(x)    #表示e的x次幂

3) math.expm1(x)    #表示e的x次幂减1

4) math.sqrt(x)    #表示x的平方根

5) math.log(x,base)    #表示x的对数值,仅输入x值时,表示ln(x)函数

6) math.log1p(x)    #表示1+x的自然对数值

7) math.log2(x)    #表示以2为底的x对数值

8) math.log10(x)    #表示以10为底的x的对数值

1) math.degrees(x)    #表示弧度值转角度值

2) math.radians(x)    #表示角度值转弧度值

3) math.hypot(x,y)    #表示(x,y)坐标到原点(0,0)的距离

4) math.sin(x)    #表示x的正弦函数值

5) math.cos(x)    #表示x的余弦函数值

6) math.tan(x)    #表示x的正切函数值

7)math.asin(x)    #表示x的反正弦函数值

8) math.acos(x)    #表示x的反余弦函数值

9) math.atan(x)    #表示x的反正切函数值

10) math.atan2(y,x)    #表示y/x的反正切函数值

11) math.sinh(x)    #表示x的双曲正弦函数值

12) math.cosh(x)    #表示x的双曲余弦函数值

13) math.tanh(x)    #表示x的双曲正切函数值

14) math.asinh(x)    #表示x的反双曲正弦函数值

15) math.acosh(x)    #表示x的反双曲余弦函数值

16) math.atanh(x)    #表示x的反双曲正切函数值

1)math.erf(x)    #高斯误差函数

2) math.erfc(x)    #余补高斯误差函数

3) math.gamma(x)    #伽马函数(欧拉第二积分函数)

4) math.lgamma(x)    #伽马函数的自然对数


分享名称:Python编写误差函数 python 计算误差
URL标题:http://myzitong.com/article/dodsdsi.html