RVM初次见面

今天发现在centOS安装1.9.*版本的ruby非常不方便,磊哥推荐用RVM,所以学习一下。

rvm主要可以负责ruby版本的安装和切换。就比如在centOS上面,ruby1.9版本安装不方便,如果使用rvm,就可以:

rvm install 1.9.3

rvm use 1.9.3

就可以成功切换了。当然RVM也支持更多的功能,比如在一个项目中,添加一个.rvmrc文件,就可以通过这个文件自动切换ruby版本

RVM安装

首先是利用ruby安装:
curl -L https://get.rvm.io | bash -s stable --ruby
那么安装完成之后可以在安装的log最后看到提示:要求你执行 source "$HOME/.rvm/scripts/rvm"。执行这句语句之后,就可以在shell中使用rvm了。
不过等一下,如果要比较方便的使用,可能需要做一些处理。
rvm在bash中可以使用,必须需要执行上述的一句语句,因此我们把它写入.base_profile,这个文件在home下面,是个隐藏文件。一般情况下这行代码已经被写入了的。
然后如果你使用Red Hat, centOS, Fedora上的Gnome,那么需要在的首选项中把以登录shell方式命令(run commands as login shell)勾上。好了。接下来就可以方便使用了。

ruby安装

安装某个版本的ruby就可以使用rvm install 版本号(1.9.3...)来执行。
rm -rf $rvm_path/usr不过我在其中遇到了一个问题,我没法require到openssl。然后按照官网的quick fix执行:
$ rm -rf $rvm_path/usr
Find the requirements (follow the instructions):
$ rvm requirements
Reinstall ruby:
$ rvm reinstall 1.9.3
其中的requirements,会返回一坨东西。我就找到下面的一句话,然后执行:
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel
然后全部执行完就ok了

使用

使用就非常简单,按照普通的使用方式就可以了,rvm自动会用它的ruby来执行的。可以ruby -v看看版本或者which ruby也可以。
RVM即相关向量机(Relevance Vector Machine),是一种机器学习方法。它可以应用于各种领域,如金融领域可用于信用评级和风险评估,医疗领域可用于疾病诊断和预测,图像处理领域可用于图像分类和识别 [^1]。 #### 功能特点 - **稀疏性** - RVM模型能够自动选择与目标输出最相关的输入变量(相关向量),从而产生稀疏的模型表示。这意味着在模型训练过程中,大部分输入样本的权重会趋近于零,只有少数具有代表性的样本(相关向量)对模型输出起重要作用。相比其他模型,如支持向量机,RVM 通常能产生更稀疏的结果,这在处理高维数据时尤为重要,因为可以减少模型的复杂度,提高计算效率。 - **概率输出** - RVM 能够提供预测结果的概率信息。相比一些只输出确定性预测值的模型,概率输出可以让使用者了解预测结果的可靠性,便于在实际应用中进行决策。例如在医疗诊断中,知道病人患某种疾病的概率,比仅得到一个确诊结果更有助于医生制定治疗方案。 - **不需要调整核函数参数** - 在使用核函数进行非线性映射时,RVM不需要像支持向量机那样对核函数的参数进行复杂的调整。它通过贝叶斯框架自动学习这些参数,减少了使用者手动调参的工作量和因参数选择不当而导致模型性能不佳的风险。 #### 使用方法 以下是使用 Python 的 `scikit-learn` 库实现 RVM 进行回归任务的示例代码: ```python import numpy as np from sklearn.linear_model import BayesianRidge from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split # 生成示例数据 X, y = make_regression(n_samples=100, n_features=10, random_state=42) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建 RVM 模型(在 scikit-learn 中使用 BayesianRidge 近似实现) rvm_model = BayesianRidge() # 训练模型 rvm_model.fit(X_train, y_train) # 进行预测 y_pred = rvm_model.predict(X_test) ``` 在上述代码中: 1. 首先使用 `make_regression` 函数生成了一个回归任务的示例数据集。 2. 接着使用 `train_test_split` 函数将数据集划分为训练集和测试集。 3. 创建 `BayesianRidge` 模型对象,在 `scikit-learn` 里该模型可近似实现 RVM 的功能。 4. 使用 `fit` 方法在训练集上训练模型。 5. 使用训练好的模型对测试集进行预测,得到预测结果 `y_pred`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值