Difference between process and thread

Though, multiprocess and multithread are all accessible ways to do parallel computing and big data problems, there are some differences between these two terms and I will list some reference and thoughts about this topic. Each process provides the resources needed to execute a program. A process has a virtual address space, executable code, open handles to … Continue reading Difference between process and thread

Fast way to do multi url parsing

Since opening URL sequentially, especially hundreds of URL is very slow, it is a perfect case to implement parallel computing. There are two biggest components that determine the speed of this task: “opening URL” and “read the context from the website”. So, I will briefly talk about the fast way to do the multi-URL parsing. First, we … Continue reading Fast way to do multi url parsing

My daily working log

I will list some packages or knowledge during my internship, just for reference and casual discussion. Python Time Scheduler Scheduler(https://pypi.python.org/pypi/schedule) Perfectly solving the problem of auto email sending Auto Email Sending Google Cloud (https://cloud.google.com/) DAG Structure Airflow(http://nerds.airbnb.com/airflow/) Word Comparision FuzzyWuzzy (https://github.com/seatgeek/fuzzywuzzy) Difflib (https://docs.python.org/2/library/difflib.html) Difflib provides three types of comparison method, regarding the speed. Graphical Viewer snakeviz … Continue reading My daily working log

What is the difference between L1 and L2 regularization?

From Quora https://www.quora.com/What-is-the-difference-between-L1-and-L2-regularization Justin Solomon has a great answer on the difference between L1 and L2 norms and the implications for regularization. ℓ1 vs ℓ2 for signal estimation: Here is what a signal that is sparse or approximately sparse i.e. that belongs to the ell-1 ball looks like. It becomes extremely unlikely that an ℓ2 penalty … Continue reading What is the difference between L1 and L2 regularization?

数据分析驱动用户增长

作者:邹昕 链接:https://zhuanlan.zhihu.com/p/21435486 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 非常荣幸知乎邀请我做了一次关于如何通过数据分析驱动用户增长的直播, 计划是先讲大概半个小时左右,然后有半个小时的时间大家自由提问。 后来实际情况是先花十几分钟时间回答了几个问题,然后讲了半个小时多点,再花了大概一个小时回答后续的问题。 由于是第一次做直播,对系统也不是很熟悉,有很多可以提高的地方。很多问题很有意思,所以花了点时间把内容整理成文字,希望对更多的人有帮助。 由于个人水平有限,同时需要兼具到不同的需求,这次直播的内容适合作为入门读物。 自我介绍先简单介绍一下我自己。我是清华生物系本科和硕士毕业,之后去北卡大学念药物药理学的博士,中间发现自己不适合走生物科研的路,所以在博士开始两年多的时候决定转硕士走人。很幸运的是当时的导师也很理解和支持我,拿到硕士之后我重新申请了北卡州立大学的数据分析的项目。毕业之后在 Discover 公司做信用卡风险模型和数据分析,大概工作了两年多。Discover 在国内有一个数据分析部门,发展得挺快的,现在应该是一两百人的样子,部门在上海,国内的翻译叫高沃,意思是高山沃土,有点奇怪的名字,听起来像是做农业啊化肥啊什么的。(后来有前同事跟我说,是先有高沃这个名字,然后就引申了高山沃土这个词)。 最后在今年年初的时候跳槽到 Facebook 做数据科学家,我们组是做用户增长的,我负责的一块主要是跟用户好友关系、好友推荐系统相关的数据分析。今天的分享就是关于通常情况下互联网产品是如何用数据分析来驱动用户增长的。 需要说明的一点,由于 Facebook 有严格的保密要求,所以这次直播内容肯定是不会透露属于内部消息的数据、产品或者策略之类的,我们公司对这个要求是非常的严格。所以直播里提到的例子如果涉及到 Facebook 的话,都会是已经公开的信息(一般是 Facebook F8 大会提到过的或者 Engineer blog 上的内容)。 行业特点 说到互联网产品的用户增长,可能大家都有所耳闻。与传统行业相比,互联网相关的产品有几个不一样的特点。一是由于网络效应,由于互联网相关产品更容易扩展,更有可能出现爆炸性增长的局面。二是互联网行业更容易出现赢者通吃的局面,比如优酷和土豆的合并,携程和去哪的合并,立马形成行业垄断。三是在行业发展前期一旦有一个好的产品领先,后来者就很难翻盘了,所以互联网行业会出现前期大量烧钱抢占市场和用户的局面,比如 Uber 是一个特别典型的例子。 Retention / 用户留存 对用户增长来说,什么是最重要的呢?有人说是用户最重要,有人说是 Acquisition 也就是新用户获取最重要。对很多互联网公司来说,不管是热门 Startup 还是已经比较成型的公司,首先需要解决的问题的是 retention,也就是用户留存。这也是为什么十几年前,大家通常用的指标都是注册用户,而Facebook 创始人 Mark Zuckerberg 从一开始就给公司定了明确的目标,注册用户并不是最重要的,最重要的应该是活跃用户。 用户留存曲线 好的产品和不好的产品用户留存是什么样子的呢?有这里就需要提到一个概念用户留存曲线。如下图所示,横轴是从注册开始到现在的天数,纵轴是活跃用户的比例。这里用的例子是月活用户,也就是说如果过去一个月之内你用过这个产品,那么你就算是一个 active user。很显然,注册开始第一天,大家都是月活,第二天第三天直到30天都是如此,从第31天开始,有一部分人不是月活了,因为他们只在第一天用了,之后就再也没用过,以此类推第32天33天等等。一个好的产品,应该是像蓝色曲线这样,随着时间的推移会有下降,但是到一定程度之后会趋于跟 x 轴平行。如果你看到一条绿线这样的用户留存曲线,那就你就需要好好研究一下你的产品了,因为这意味着随着时间的推移,所有注册用户都会放弃你的产品。那么即使你把全世界的人都抓来注册了,终究月活用户数也会变成0。 用户留存 vs. 新产品 推出新产品的时候,用户留存曲线是非常重要的,以确保有一个足够好的产品,接下来才是把这个产品推向更多用户的时候,很多互联网公司比如 Airbnb … Continue reading 数据分析驱动用户增长

Why is reproducible research such important in Biology?

Recently, I studied and listened to the course “reproducible research” on Coursera under the data science specialization. At the very beginning, I am little confused about the importance of reproducible research, since generally for us ( financial engineer), it seems unnecessary to reproduce other’s results. The version control, Rpub, cacher package, usage of knir and … Continue reading Why is reproducible research such important in Biology?

Using Sweave and knitr

Overview R includes a powerful and flexible system (Sweave) for creating dynamic reports and reproducible research using LaTeX. Sweave enables the embedding of R code within LaTeX documents to generate a PDF file that includes narrative and analysis, graphics, code, and the results of computations. knitr is an R package that adds many new capabilities … Continue reading Using Sweave and knitr