案例:回归求解 | 学习笔记

简介: 快速学习案例:回归求解

开发者学堂课程【人工智能必备基础:概率论与数理统计:案例:回归求解】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/545/detail/7442


案例:回归求解

一、Lasso 回归

X[ 1,1,1,1]W1[1/4,1/4,1/4,1/4],w2[1,0,0,0], w1 和 w2 相加起来都等于1. 区分:趋势不同,w1 趋势更稳定,能处理更多类型的数据。

多加了一个绝对值项来惩罚过大的系数,alphas=0 那就是最小二乘了(表示惩罚力度)

In (1078]: # logarithmic scale: log base 2
# high values to rero-out more variables

alphas=2.**k np. arange(2, 12)(选择不同的参数)
scores . np. empty_like (alphas)
for i, a in enumerate (alphas) :
lasso . Lasso (random_state = seed)(指定好模型)

lasso. set_params (alpha = a)(指定惩罚力度)
lasso. fit(X_ train, y_train)
scores[i] = lasso. score(X_ test, y. test)(结果值是由测试集进行计算的,训练集只是建立方程,测试集是利用方程进行结果的评估)(一般测试集只是用来选参数)

(交叉验证)
lassocv = LassoCV(cv = 10, random state F seed)(指定交叉验证的个数)

lassocv, fit (features, target)(将原始数据存入)
lassocv_ score = lassocv. score (features, target)(得到 score 值)

lassocv_ alpha = lassocv. alpha_(将 α 值拿出)

plt. figure(figsize = (10, 4))

plt. plot (alphas, scores,’ -ko’ )
plt. axhline (lassocv score, color = c)

plt. xlabel(r’ $\alpha$’ )

plt. ylabel(‘CV Score’)
plt. xscale (‘log’,basex=2)
sns. despine(offset=15)

print(‘CV results:’, lassocv_ score, lassocv. _alpha)

CV results: 0826897171636 225757779669

image.pnglt’s already a good result: R squared of 0.82. Let’s take a look a the features contributing to the model.
In [1115]: a lassocv coefficients
coefs = pd. Series(lassocv. coef_ . index =features. columns)(将系数都拿出)
# prints out the number of picked/eliminated/features
print( “Lasso picked”+ str( sum(coefs!=0))+”features and eliminated the other
str(sum(coefs ==0))+” features”.)
# takes first and last 10
coefs =pd.concat([coefs. sort values(). head(5),coefs.sortvalues().tail(5)])
plt. figure(figsize = (10, 4))
coefs. plot(kind =” barh”, color= c)
plt. title("Coefficients in the Lasso Model)

plt. show()
Lasso picked 13 features and eliminated the other52 features.

image.pngIn [1080]: model_11 = LassoCV(alphas = alphas, cv =10, random_state = seed).fit(X train. y_ train)
y_ pred_ 11 = mode1_ 11. predict(x test)
model_ 11. score(X_ test, y_ test)

Out[1080]: 0. 83307445226244159
We get higher score on the test than on the train set, which showsthat the model can propbably generalize well on the unseen data.
In (1113]: =# residual plot
plt. rcParams[‘ figure. Figsize’] = (6.0, 6. 0)preds = pd. DataFrame(“preds “: model_11. predict(X_ train), “true": y _train))(将当前结果导入)

preds[" residuals “] = preds[" true"] preds[preds" ]
preds. plot(x = preds , y = residuals, kind = scatter, color = c)
Out(1113]: <matplotlib. axes. _ subplots. AxesSubplot at 0x15c9f48d0>

image.png

可用 x 值表示预测值,y 值表示之间的差异。

In [1082]: def MSE(y_ true,y_ pred):
mse = mean_squared_error(y_true, y_pred)

print(‘MSE:% 92. 3f’% mse)
return mse
def R2(y_true,y_pred):
r2 = r2_score(y_true, y_pred)

print(‘ R2: %2. 3f’% r2)
return r2
MSE(y_test, y_pred _11);(表示局方误差)

 R2(y_test, y_pred 11);
MSE: 3870543. 789

R2: 0.833
In [1083]: # predictions
d= (‘ true’: list(y_ test),
‘predicted&apos’ : pd. Series(y_pred_11)

}
pd. DataFrame (d). head()

Out[1083]:

Predicted         true
0               8698.454622    8499.0
1              16848.107734     17450.0
2              11050.616354    9279.0
3             10177.257093     7975.0
4             6505.098638      6692.0

scikit-learn 的用法:

进入 Linear Models,刚才使用的是linear_model.Lasso([alpha,fit_intercept,…])(表示交叉验证)linear_model.LassoCV([eps,n_alphas,…])(直接进行建模)。比如对模块不熟悉,点击进入查看即可。可看到公式既公式是怎么算的。也会说明 α 的作用。会有例子。会说明用 scikit-learn 进行弧边模型的建立。scikit-learn 里的 API 可以帮助找到你想要的。

相关文章
|
3月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1058 1
|
机器学习/深度学习 编解码 并行计算
论文阅读笔记 | Transformer系列——CSWin Transformer
论文阅读笔记 | Transformer系列——CSWin Transformer
1131 0
论文阅读笔记 | Transformer系列——CSWin Transformer
|
2月前
|
存储 缓存 算法
亚马逊 SP-API 深度开发:关键字搜索接口的购物意图挖掘与合规竞品分析
本文深度解析亚马逊SP-API关键字搜索接口的合规调用与商业应用,涵盖意图识别、竞品分析、性能优化全链路。通过COSMO算法解析用户购物意图,结合合规技术方案提升关键词转化率,助力卖家实现数据驱动决策,安全高效优化运营。
|
3月前
|
缓存 安全 C++
C盘爆满电脑卡?3个简单技巧+1个便捷工具,小白也能轻松清理
电脑使用久了,C盘常因系统文件、软件安装和临时缓存堆积而空间不足,导致运行卡顿甚至蓝屏。本文教你识别C盘“隐形垃圾”,并提供3个手动清理技巧和1个实用工具(CCleaner),轻松释放空间,提升电脑速度,延长使用寿命。定期清理C盘,让电脑始终保持流畅运行。
728 0
|
4月前
|
人工智能 自然语言处理 安全
如何让 AI 工具更懂你,更听话?
你是否也曾被AI“气到吐血”?明明说的是A,AI却给了B?别沮丧,2025年的AI也需要“正确沟通”。本文教你五大提示技巧:动态提示、多模态输入、Few-shot示例、任务分解与安全边界,让AI从“人工智障”变身“贴心助手”。学会“说AI的语言”,释放创造力,提升效率,开启智能生活新时代!
1357 0
WK
|
机器学习/深度学习 算法
什么是损失函数和损失函数关于参数的梯度
损失函数是机器学习中评估模型预测与真实值差异的核心概念,差异越小表明预测越准确。常见损失函数包括均方误差(MSE)、交叉熵损失、Hinge Loss及对数损失等。通过计算损失函数关于模型参数的梯度,并采用梯度下降法或其变种(如SGD、Adam等),可以优化参数以最小化损失,提升模型性能。反向传播算法常用于神经网络中计算梯度。
WK
572 0
|
Kubernetes 测试技术 Perl
混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh
483 1
|
10月前
|
存储 JSON API
义乌购商品列表数据接口(义乌购API系列)
义乌购作为全球知名的小商品批发平台,提供了丰富的商品数据接口。通过其商品列表接口,开发者和商家可以获取商品名称、价格、库存等信息,助力电商数据分析、竞品调研及店铺运营优化。本文详细介绍该接口的概念、请求方式、参数与响应数据,并提供Python请求示例,帮助用户高效利用接口资源。接口支持HTTP/HTTPS协议的GET和POST请求,返回JSON格式数据,需在开放平台注册并申请权限,遵守调用限制。
|
机器学习/深度学习 算法 5G
基于BP神经网络的CoSaMP信道估计算法matlab性能仿真,对比LS,OMP,MOMP,CoSaMP
本文介绍了基于Matlab 2022a的几种信道估计算法仿真,包括LS、OMP、NOMP、CoSaMP及改进的BP神经网络CoSaMP算法。各算法针对毫米波MIMO信道进行了性能评估,通过对比不同信噪比下的均方误差(MSE),展示了各自的优势与局限性。其中,BP神经网络改进的CoSaMP算法在低信噪比条件下表现尤为突出,能够有效提高信道估计精度。
343 2
|
NoSQL 安全 关系型数据库
20)用 Redis 实现分布式锁
20)用 Redis 实现分布式锁
291 1