Tony 发布的文章

Win10+XGBoost Python包的安装


  鉴于网上教程大多过时而且扯淡,特此记录一下我的安装过程。XGBoost提供R和Python的包,这里介绍Python包的安装。   XGBoost是数据挖掘中用到一个新型的数据分析包,相对其它Boosting模型更加高效。具体请看XGBoost

  想要安装XGBoost首先需要具备以下几个条件:

  1.安装Python(建议2.7)并设置好环境变量   2.安装numpy和scipy包(或者直接用Python科学计算的集成环境Anaconda)   3.下载mingw-w64,并解压到C盘根目录(路径不含中文即可),将其bin目录位置添加到系统环境变量path之后(如 C:\mingw64\bin),并将bin目录下 mingw32-make.exe改名为make.exe,便于后面调用。   4.安装好Git,推荐Git

  然后就可以开始安装XGBoost了。

  1.打开 Git Bash 并选择一个下载位置

  2.依次执行 git clone --recursive https://github.com/dmlc/xgboost

cd xgboost

git submodule init

git submodule update

  注:git submodule 用于更新公共资源

  3.执行 cp make/mingw64.mk config.mk (如果不用Bash会报错)

  执行 make -j4 大约编译10分钟

  4. 进入文件夹 cd python-package

  执行 python setup.py install

  结束之后使用import xgboost验证,不报错即可。


由Ionic浅谈WebAPP在移动开发中的发展


  最近接触到一个HTML5应用程序开发框架 Ionic ,简单来说 “ 它使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。ionic 主要关注外观和体验,以及和应用程序的 UI 交互,特别适合用于基于 Hybird 模式的 HTML5 移动应用程序开发 ”。之所以选择Ionic出于多方面原因,1.项目开发人员有限 2。开发人员技术有限,无法兼顾Android和Ios 3.开发时间有限,原生开发费时繁琐。相信很多小型开发团队也存在这种情况,于是像Ionic这样的webapp框架成为一种不错的选择,类似的还有MUI,Zepto等,他们的优缺点不逐一分析,Ionic算是一个发展的高峰,在用户体验和实现功能上已经十分接近原生应用,同时可以应用于android和ios,windowsphone(如果勉强算活着的话)平台,十分方便。


使用Slim框架快速实现RESTful


  最近开发中有一个需求即实现客户端和服务端的的数据交互,需要在服务端实现RESTful架构。直接开发必然力不从心,于是考虑是否有相应的框架能够快速实现。从开源项目中一番搜寻,从易用性的角度决定使用php作为开发语言(请求量大的情况可以使用java)。php中的相关框架也较多,发现Slim非常适合编写API服务。

  先附上Slim3.0开发文档Slim中文网站,通过这足够了解Slim的具体使用。

  Slim框架可以很方便地实现get,post,put,patch,delete请求。配置好服务器之后,将github上的slim项目中的1.png 放在目录下,在这之前请配置apache服务器支持.htaccess。然后改写index.php文件就可以实现一个简单的web应用。


不得不知的TensorFlow


  随着人工智能技术的快速发展,越来越多的公司和研究人员加入到其中并诞生了一系列人工智能相关的开源项目,其中就有TensorFlow,MXNet,Caffe,Keras等,这些开源库各有各的特点,它们的出现有利于开发者掌握和开发仍智能相关产品,赋予未来更多想象力。   这里之所以更关注TensorFlow其中一个原因是这是由谷歌开发的,谷歌在这方面的实力世界领先,AlphaGo带来的冲击是巨大的,表明人工智能的时代已经越来越近。   所谓TensorFlow是基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图象的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。 TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。   TensorFlow同样支持GPU,分布式,可以使运行速度大大提高。


基于用户画像的推荐算法实现


  接上文,现代社交网站常常需要根据用户身份和偏好向他们推荐相似用户,比如微博,并且这些数据常常数据量常常十分巨大,简单的协同过滤算法已经不能满足需求了,那么该如何应用mahout更好地解决呢?当然要根据场景和数据具体分析,同时Mahout中的算法十分丰富(查看),并且依托于hadoop,可以充分发挥云端的力量。这里只是抛砖引玉,尝试用组合推荐的方法进行用户社会化推荐。   首先来看看假定的数据构成: