推荐系统开发用什么语言?注意什么?

时光不回向店铺—美食


Python推荐算法开发,java 基于springboot 开发后台数据接口,vue开发前端界面


SNAP视频


经过20多年的发展,item-based已经成为推荐系统的标配,而推荐系统已经成为互联网产品的标配。很多产品甚至在第一版就要被投资人或者创始人要求必须“个性化”,可见,推荐系统已经飞入寻常百姓家,作为推荐系统工程师的成长也要比从前更容易,要知道我刚工作时,即使跟同为研发工程师的其他人如PHP工程师(绝无黑的意思,是真的)说“我是做推荐的”,他们也一脸茫然,不知道“推荐”为什么是一个工程师岗位。

如今纵然“大数据”, “AI”,这些词每天360度无死角轰炸我们,让我们很容易浮躁异常焦虑不堪,但不得不承认,这是作为推荐系统工程师的一个好时代。

推荐系统工程师和正常码农们相比,无需把PM们扔过来的需求给像素级实现,从而堆码成山;

和机器学习研究员相比,又无需沉迷数学推导,憋出一个漂亮自洽的模型,一统学术界的争论;

和数据分析师相比,也不需绘制漂亮的图表,做出酷炫的PPT能给CEO汇报,走上人生巅峰。

掌握核心原理的技能

数学:微积分,统计学,线性代数

周边学科:信息论基础

推荐算法: CF,LR,SVM,FM,FTRL,GBDT,RF,SVD,RBM,RNN,LSTM,RL

数据挖掘:分类,聚类,回归,降维,特征选择,模型评价

实现系统检验想法的技能

操作系统: Linux

编程语言: Python/R, Java/C++/C,sql,shell

RPC框架: thrift, Dubbo,gRPC

web服务: tornado, django, flask

数据存储: redis, hbase, cassandra, mongodb, mysql, hdfs,hive, kafka, elasticsearch

机器学习/深度学习: Spark MLib,GraphLab/GraphCHI,Angel,MXNet,TensorFlow,Caffe, Xgboost,VW,libxxx

文本处理: Word2vec,Fasttext,Gensim,NLTK

矩阵分解: Spark ALS,GraphCHI,implicit,qmf,libfm

相似计算: kgraph, annoy,nmslib, GraphCHI, columnSimilarities(spark.RowMatrix)

实时计算: Spark Streaming, Storm,Samza

为效果负责的技能

熟悉常见离线效果指标:准确率,召回率,AUC,基尼系数

能够定义产品效果指标:点击率,留存率,转换率,观看完整率

会做对比试验并分析实验结果:指标数据可视化

知道常见推荐产品的区别: Feed流推荐,相关推荐,TopN推荐,个性化推送

其他软技能

英文阅读;读顶级会议的论文、一流公司和行业前辈的经典论文和技术博客,在Quora和Stack Overflow上和人交流探讨;

代码阅读;能阅读开源代码,从中学习优秀项目对经典算法的实现;

沟通表达;能够和其他岗位的人员沟通交流,讲明白所负责模块的原理和方法,能听懂非技术人员的要求和思维,能分别真需求和伪需求并且能达成一致。


莫非8125


我的方案是thinkphp,前端vuejs,后端用nodejs或者swoole

理由如下

人生苦短,我用php,php就不多说了

vuejs和nodejs都是js,一脉相承,学习简单

swoole是类php语言,和php结合使用的


老欧日常


使用JS+CSS+HTML5语言。 小程序是基于微信平台的轻量级应用,它的开发是应用微信提供的小程序前端规范,结合企业自己开发的应用后端来制作的。 小程序开发使用的语言本质上就是JS+CSS+HTML5,不过不能直接用HTML标签,微信提供一个组件库,没有DOM和其他浏览器上的API;网络、Canvas等也重新包装过。 对于微信小程序而言,前端程序是唯一差异于网站建设技术的,因此,只要使用JS+CSS+HTML5让前端程序过得了关,能够写前端的接口,那么使用PHP,又或者java,以及asp.net的程序语言都是完全支持的。一般对于企业而言,都是采用php程序开发微信小程序;技术要求高一点的可以采用java程序开发。


0孤月痕0


我来回答这个问题,不少语言可以做。

java语言做推荐系统是比较好的,做好推荐系统要熟悉算法演练机器学习,分布式技术希望能帮到你。


D调多E点


java和php语言,一个是面向后端,一个面向前端。


一根葱


答案很简单。

服务器用go,前端vue。


分享到:


相關文章: