Overview 今天在Mac上运行一个在Windows中处理过的R脚本,不能正常运行,错误信息指向明确。 问题描述 使用./H_gr500_tune.R运行,报下面的错误: env: Rscript\r: No such file or directory 打开这个脚本,头几行内容如下: #!/usr/bin/env Rscript library(e1071) library(ply...阅读全文>>
机器学习项目服务器上线部署全流程记录
Overview 我们团队完整的机器学习项目已经做了两个了,分别是Bastion4和Bastion6。之前两个项目上线部署的记录过于片段化,针对现在马上要做完的Bastion3项目,我们在此完整记录搭建服务器各种环境的全部流程,以备不时之需。 完整的项目基本分为三大部分:Java处理业务逻辑;Perl后台消息队列;R机器学习模型预测。每个大部分还有很多细节,我们会在每部分都详细记录。 新申...阅读全文>>
一个R语言版本跟caret包不兼容的问题
Overview 最近在一台新的电脑上运行一个R脚本时,报了一个很奇怪的错误。因为类似的脚本已经运行了很多次,所以很快就可以确定是电脑的R环境不兼容引起的问题。 问题描述 脚本在运行时需要载入caret包,结果载入过程中报下面的错误: Loading required package: gplots Attaching package: ‘gplots’ The following o...阅读全文>>
一个Strut2引发的网站安全漏洞
Overview 前几天忽然收到学校云服务器安全中心的邮件,说我们部署的几台服务器流量明显出现异常,可能是被攻击了,并提供了几个可能的问题。大致看了下,问题出在Strut2,这不是个特有的问题,而是涉及到多个版本的安全问题,所以在这里记录一下。 问题描述 Struts2存在远程代码执行的严重漏洞,目前Struts2官方已经确认漏洞(漏洞编号S2-045,CVE编号:cve-2017-56...阅读全文>>
Mac下R语言导入xlsx包报错的解决方案
Overview 最近把系统更新到了最新版本(10.12.3),又安装了一个新的语言Julia,再使用R的时候,发现命令行已经不能通过R命令进入了,连*.R文件都不再能被R语言关联了。具体原因未知,于是先下了一个最新的R-3.3.3,顺带删了Julia,所有的library都要重新安装,结果安装好xlsx后导入的时候报了错。 各种解决方法都尝试了,还是不行。考虑到可能是R的版本太新了,就把...阅读全文>>
R语言输出表格到Word
Overview 由于投稿论文,需要将大量csv格式的表格输出到Word当中。故将csv格式的表格读入到R中,然后再从R中输出至Word。这需要一个软件和几个R包的支持,故将安装过程记录下来。 1.下载安装statconnDCOM 在Windows系统下,到 http://rcom.univie.ac.at 下载statconnDCOM3.6-0B3_Noncommercial,这是非商业...阅读全文>>
ubuntu14.04安装gearman及perl扩展包
Overview Bastion4这个项目经过我们实验验证和安全考虑,决定舍弃kafka而转用gearman这个消息队列框架,具体分析将在后续文章中给出,这里只记录gearman相关的安装。 1.下载安装gearman 最新版的gearman是gearmand-1.1.12。我们执行下面几步,先将其下载到本地主文件夹,并解压缩。 sudo apt-get update wget https...阅读全文>>
配置Apache2服务器以CGI方式运行Perl程序
Overview 这次我们开发Bastion4服务器使用了JAVA+Perl的架构,后端用Perl做服务器提供Webservice,用JAVA框架Struts接收处理用户请求,再跟Perl服务器交互。 我们使用Apache2作为Perl服务器,由于Apache2默认并不支持Perl,因此需要简单配置一下,使得Apache2以CGI的方式支持Perl运行。在配置的过程中,参考了一些网页,但由...阅读全文>>
训练集归一化和测试集归一化
Overview 做T4这个项目时,训练集采用了1502条正负样本数据,生成了大量的特征,由于各特征数据变化范围差异很大,于是我们按照重新缩放法做了数据的归一化,使得各特征的取值范围均控制在(0,1)内。然而在预测独立测试集3371条正负样本时,遇到一些疑问:独立测试集怎么办?如果独立测试集归一化,该怎么归一化,以谁为基准归一化,即它的最大值和最小值从何而来? 首先,毋庸置疑,独立测试集必...阅读全文>>
python解析命令行参数
Overview python程序也可以拥有C语言风格的命令行参数,例如-h/--help输出帮助信息,-i/--input提示输入文件,-o/--output提示输出文件等等。除了清晰明了,还有一个好处就是输入参数的顺序可以随意一些。 在python中,实现这个功能的函数跟C/C++中一样,也是getopt().下面用实际的代码展示一下。 1. getoptions.py 首先,我们定义...阅读全文>>