『sklearn学习』贝叶斯岭回归

# 贝叶斯岭回归(Bayesian Ridge Regression)
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

from sklearn.linear_model import BayesianRidge, LinearRegression

# 生成具有高斯权重模拟数据
np.random.seed(0)    # 设置 random 函数的随机种子
n_samples, n_features = 100, 100
X = np.random.randn(n_samples, n_features)    # 创建高斯数据集
lambda_ = 4.
w = np.zeros(n_features)
relevant_features = np.random.randint(0, n_features, 10)
print relevant_features
for i in relevant_features:
    w[i] = stats.norm.rvs(loc=0, scale=1. / np.sqrt(lambda_))
print "w: ", w
alpha_ = 50
noise = stats.norm.rvs(loc=0, scale=1. / np.sqrt(lambda_), size=n_samples)
y = np.dot(X, w) + noise
print "X: ", X
print "y: ", y

# 拟合和比较 BayesianRidge 与 LinearRegression 方法
clf = BayesianRidge(compute_score=True)
clf.fit(X, y)
ols = LinearRegression()
ols.fit(X, y)

lw = 2
plt.figure(figsi
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值