![个人头像照片](https://ucc.alicdn.com/avatar/img_708b1278a043ee8093b6e98aed5124ee.jpg)
著有《机器学习实践应用》,阿里云机器学习PAI产品经理,个人微信公众号“凡人机器学习”。
1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api。所以很多人也想制作自己的api。网上关于这方面的教程实在是很少,今天我就顺手做了一个,把方法公布下。 首先秀一下效果: 用“curl”方法,返回一个json,大家也可以试下: curl -i http://ospafzone.duapp.com/ospaf
哎,本来想把今晚留给蛋疼的latex。我的导师让我写一篇论文,我正在研究怎么用latex。但是想了想,明天就过生日了,最后一晚还是写点东西,静静地思考下。。本来想写点东西发到朋友圈或是qq空间的,突然觉得那样会有点难堪,大家生活在不同的空间和纬度,你我都不能清楚地理解对方。 在23岁这一年,坦率的说还是比较满意的一年,相比于20岁、21和22岁。感觉这一年突然有了使命感和
1.背景 一直想自己动手写个web app玩玩,前几天看了一个github的resume自动生成的web-app,所以就动手仿造了一个csdn的简历生成器。结构很简单,前端是html/css文件(这个模仿了github的那个网页,因为博主不太懂前端)。后台是一个爬虫软件,可以把csdn的个人信息爬下来,然后显示出来,最后部署到了百度云。百度的云数据库,真是坑爹.......,我
1.背景 虽然可能大神门在编辑器方面都比较偏向于vim之类的自由度更高的工具,但是从我个人来讲sublime这样的插件安装更方便的工具还是比较得心应手的。之前用sublime写英语作文,但是没有一个比较好用的timer,Package_Control里面的track_timer不能实时显示时间,所以博主就自己动手,写了这个插件,可以实时timer,记录时间。效果如下图
快捷键笔记: 分屏:command+option+number word count:control+shift+c 是否开启拼写错误:f6 跳出插件菜单“command+shift+p mark down preview: 先跳到markdown extended 再control+shift+G
今天研究了下mac终端的启动流程。下面以sublime为例,介绍怎么在mac的终端中添加app启动方法。 方法1 :使用“open -a /Applications/Sublime\ Text\ 2.app/”,这种方法可以直接打开,但是每次都要这样做的话为免麻烦。在网上又找到方法二 方法2 :使用“alias sublime='open -a /Applications/Sublime\
1.背景 每当我们浏览github开源项目的时候,比较牛的项目,往往在readme文件里,会有如下图这样的小绿标。因为博主的好奇心比较强,所以就研究了下怎么添加这个。大家也不妨动手试试! 2.步骤 (1)登陆以下网站,它会自动绑定你的github账号-https://travis-ci.org/ (2)
转自:http://www.cnblogs.com/weidagang2046/archive/2012/10/22/tf-idf-from-probabilistic-view.html 信息检索概述 信息检索是当前应用十分广泛的一种技术,论文检索、搜索引擎都属于信息检索的范畴。通常,人们把信息检索问题抽象为:在文档集合D上,对于由关键词w[1] ... w[k]组成的查询串q,返回一个按查
1.背景 最近参加了一个评测,是关于新闻个性化推荐。说白了就是给你一个人的浏览记录,预测他下一次的浏览记录。花了一周时间写了一个集成系统,可以一键推荐新闻,但是准确率比较不理想,所以发到这里希望大家给与一些建议。用到的分词部分的代码借用的jieba分词。数据集和代码在下面会给出。 2.数据集 一共五个字段,以tab隔开。分别是user编号,news编号,时间编号,新闻标
这是我给研究生刚入学的师弟师妹们的一封信,分享给大家吧 Hi dear team-members: 我们的项目已经接近尾声,过一段我会去成都把项目部署完成。感谢大家这段时间的辛苦工作。 发这个邮件的原因,是我不知道大家是否在等待我来部署任务,或是可以自主的学习。 首先我想说的事情是,不要指望做好实验室的项目就会找到好
谷歌4亿英镑收购人工智能公司DeepMind,百度目前正推进“百度大脑”项目,腾讯、阿里等各大巨头也在积极布局深度学习。随着社会化数据大量产生,硬件速度上升、成本降低,大数据技术的落地实现,让冷冰冰的数据具有智慧逐渐成为新的热点。要从数据中发现有用的信息就要用到数据挖掘技术,不过买来的数据挖掘书籍一打开全是大量的数学公式,而课本知识早已还给老师了,着实难以下手、非常头大! 我们不妨先跳过数学公
1.背景 写博客快两年了,写了100+的文章,最火的文章也是大家最关注的就是如何实现android系统截屏。其实我们google android_screen_shot就会找到很对办法,但那些都是很多年前的了,在android4.*版本后,android对于源码进行了更正,使得以前的方法都不能够使用。 感谢cjd6568358这名网友,我
1.概述 软件成熟度评估的最终目标是帮助软件的可持续发展,并为用户应用提供必要的技术参考。开放源代码软件成熟度评估也不例外。我们通过软件的成熟度评估,形成全面的涉及技术、应用、法律等层面的评价报告,帮助那些正在或潜在的开源软件使用者准确的了解软件的技术特性和应用特性,从而为他们选择适合自身需求的开源软件提供参考。同时报告中涉及的大量评测数据,为开源软件的开发者提供帮助,促进他们有效的
1.背景 最近心血来潮,买了一个域名,本来要买fuckgfw的,没想到被抢注了。就拿自己的英文名买了一个,叫做www.garvinli.com。因为知道会有很多朋友不太清楚整个网站搭建的过程,所以在这里贴出之前的一些列教程。有的是两年前写的,比较稚嫩哈! 手把手教您制作并发布个人网站或主页(一)(图解教程针对小白) 如何在github发布个人网站或开源项目-手把手教您制作并发
唔,之前已经想过今后不动android,没想到还是因为比赛的原因重操旧业。android有很多问题是由于eclipse的不完善造成的,比如今天遇到的这个问题 Unable to execute dex: Multiple dex files define [2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multipl
1.背景 最大似然估计是概率论中常常涉及到的一种统计方法。大体的思想是,在知道概率密度f的前提下,我们进行一次采样,就可以根据f来计算这个采样实现的可能性。当然最大似然可以有很多变化,这里实现一种简单的,实际项目需要的时候可以再更改。 博主是参照wiki来学习的,地址请点击我 这里实现的是特别简单的例子如下(摘自wiki的最大似然)
1.背景 最早用github的时候,我傻傻的问舍友大神,git里面的branch是干什么的,他用了很直白的解释,我至今还记得。“branch就是你可以自己建立一个分支,随便乱搞而不影响整个项目”。git分支应该是git最nb的特色吧,分支的建立和合并都十分方便。 大体的原理是这样的(图借用progit),比如说我们有一个master,
1.背景 今天学习了下如何给项目打标签,为此项目的修改标记版本号,然后可以直接推送版本号到服务器上,方便了很多,而且便于对项目进行管理。 2.打标签 1.查询已有标签,可以使用git tag命令,查询某个特定版本可以git tag -l 'v*' git tag 2.为版本创建标签 git tag -a v1.4
1.背景 git管理远程仓库,本文以github为例。 2.管理远程仓库 1.本地ssh认证,在github建立一个repo叫做ospaf-GetWordFre 2.添加远程仓库,可以用git remote 命令实现,o是仓库名,可以用git remote -v查看 git remote add o g
1.背景 git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作。git执行本地项目管理包括对于相关文件的追踪,暂存区的比较分析,提交,撤销等功能。 2.本地项目管理 首先mkdir一个文件夹,叫做GitTestFile,然后执行下面代码,创建git的管理配置git init 接着加入如下代码,git add
1.背景 git是比较流行的版本管理软件,博主才疏学浅,到目前为止只用过svn和git。虽然git也用了较长时间了,但是还是没有深入学习过,这周打算阅读Progit,对git有一个深入的总结,另外把git的一些主要命令总结下,方便日后学习工作中使用。 2.git简史 读了一遍Progit第一章节,印象比较深刻的有如下几点。 1.git的底层是数
1.背景 最近在搞得ospaf项目(可以移步ospaf中期报告来了解),对于commits数据进行特征提取的时候发现,因为开源项目的commits的特点有以下两个主要放面:1.动词往往出现在第一个字,例如add、revert之类的。2.动词相对固定,主要也就是那几种,add、revert、update、merge、remove之类的。 所以要做的工作就比较清
1.背景 因为最近在搞ospaf也是就是一个开源项目成熟度分析工具,因为项目跟Ohloh有一些共同点,所以对ohloh进行了调研。 简单来说,最初的ohloh是一个代码搜索工具。我们输入一行代码,然后他可以查找到这行代码出现在那些开源软件的哪些类中,还是比较强大的,特别是在进行一些源码追踪的任务的时候。如下图所示,当我输入“python”的时候,它会显示python出现
1.背景 随着将中期的代码托管到CSDN的平台上,ospaf(开源项目成熟度分析工具)已经有了小小的雏形,当然还远远不够。 首先还是要感谢这次活动组织方CSDN,感觉挺有Google Summer Code 中国版的味道。还有就是我的夏令营导师David,给了我很多指导和帮助,线下的交流也很让我长见识。 接着来说ospaf这个项目(有兴趣的tx可以去看题
1.背景 首先感谢这次博客的主办方CSDN以及在初赛为我投票的网友们,你们的支持是Garvin前进的动力。本文思路的依据来源于本次天猫大数据竞赛长达三个月的参赛体验。博主作为一个在校的学生,可能如果不是这次比赛,很难能够拥有一套完整的云环境来对TB级的数据进行分析和实践。下面是博主的一点心得,在此抛砖引玉,希望能给大家在云端大数据处理方面带来一点启示。 2.对于
1.背景 PCA(Principal Component Analysis),PAC的作用主要是降低数据集的维度,然后挑选出主要的特征。 PCA的主要思想是移动坐标轴,找到方差最大的方向上的特征值,什么叫方差最大的方向的特征值呢。就像下图中的曲线B,一样,它的覆盖范围最广。 基本步骤:(1)首先计算数据集的协方差矩阵
1.背景 采样算法是机器学习中比较常用,也比较容易实现的(出去分层采样)。常用的采样算法有以下几种(来自百度知道): 一、单纯随机抽样(simple random sampling) 将调查总体全部观察单位编号,再用抽签法或随机数字表随机抽取部分观察单位组成样本。 优点:操作简单,均数、率及相应的标准误计算简单。 缺点:总体较大时,难以一一编号。 二、系统抽样(sy
1.背景 无监督学习的定义就不多说了,不懂得可以google。因为项目需要,需要进行无监督的分类学习。 K-means里面的K指的是将数据分成的份数,基本上用的就是算距离的方法。 大致的思路就是给定一个矩阵,假设K的值是2,也就是分成两个部分,那么我们首先确定两个质心。一开始是找矩阵每一列的最大值max,最小值min,算出range=max-
1.背景 项目需要,打算用python实现矩阵的去噪和归一化。用numpy这些数学库没有找到很理想的函数,所以一怒之下自己用标准库写了一个去噪和归一化的算法,效率有点低,不过还能用,大家如果有需要可以拿去。 (1)去噪算法:根据概率论的知识,如果一组数据服从正态分布,我们设均值是n,方差是v,那么对于每个离散数值有百分之九十二以上的概率会在(n-3*v,n+3*v)的区间内。所以这里的
1.背景 项目需要,用python实现了将字典内容存入本地的mysql数据库。比如说有个字典dic={"a":"b","c":"d"},存入数据库效果图如下: 2.代码 ''' Insert items into database @author: hakuri ''' import MySQLdb def InsertData(TableName,dic):
1.背景 项目需求,要求获得github的repo的api,以便可以提取repo的数据进行分析。研究了一天,终于解决了这个问题,虽然效率还是比较低下。 因为github的那个显示repo的api,列出了每个repo的详细信息,而且是json格式的。现在貌似还没有找到可以分析多个json格式数据的方法,所以用的是比较蠢得splite加re的方法。如果大家有更好的方法,不发
1.首先实现命令行下可运行mysql 这一部分网上有一位大神说的已经很清楚了,直接引用过来,多谢哈。引用:http://www.lihui.info/mac-pydev-mysqldb/ 在mac os上安装MySQLdb,遇到了很多问题,总结一下: 首先,如果用sudo easy_install mysql-pyth
原文地址:http://blog.csdn.net/aaronhadoop/article/details/24577221 一、Mahout简介 查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个Mahout) 步入正文啦: Mahout 是一个
1.github api github api是http形式的api,功能还是比较丰富的,博主因为项目的原因主要用到的是提取project信息这项功能,返回的数据是JSON格式。 api页:https://developer.github.com/v3/ Options: (H) means HTTP/HTTPS only, (F) means FTP only -
我这里写一个简单的流程,大家可以参考一下: 首先fork我的项目 把fork过去的项目也就是你的项目clone到你的本地 在命令行运行 git branch develop 来创建一个新分支 运行 git checkout develop 来切换到新分支 运行 git remote add upstream https://github.com/numbbbbb/the-swift-prog
前言 WHY 云:为什么我们需要云,大数据时代我们面对两个问题,一个是大数据的存储,一个是大数据的计算。由于数据量过大,在单个终端上运行效率过差,所以人们用云来解决这两个问题。 WHAT IS 云:云得益于分布式计算的思想。举个简单的例子,执行一千万个数据每个数据都乘以10并输出,在个人pc上需要大概20分钟。如果是100台电脑做这个工作,可能只用几十秒就可以完成。云就是我
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.拟合问题 这节课首先讲到了一个我们经常遇到的问题,欠拟合(underfitting)以及过拟合(overfitting)。其中过拟合是最常见的,这个问题,来源于我们一个特征值的权重过于突出,就会造成过拟合。比如说我们有一个特征值X。就是容易造成欠拟合,因为这个结论是一条直线。但是,当我们把
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.感受 这一节课Andrew讲的是监督学习应用中的梯度下降方法(Supervised-Learning,grading and descent)。 公式比较多,不过还比较基础,主要是一些矩阵论的应用。 2.笔记 Grading and descent 主要
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 斯坦福机器学习公开课差不多是网上能找到的最好的机器学习入门课程了。现在一共有20节课放到网络上,博主是在网易公开课学的,那里的视频有中文字幕然后课件也很全。 (地址:http://v.163.com/special/opencourse/machinelearning.html)
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.参会有感 首先还是非常感谢CSDN能给我票,让我有机会参加这次中国云计算峰会。感觉不写点什么对不起CSDN送我的门票(看到网上卖一千多一张呢)。 还是得从国家会议中心说起,两年前lz曾经在那当过IDF的志愿者,当时是纯体力劳动,负责给参会人员发一些杂志什么的,当时苦逼的为了多
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 协同过滤(collaborative filtering)是推荐系统常用的一种方法。cf的主要思想就是找出物品相似度高的归为一类进行推荐。cf又分为icf和ucf。icf指的是item collaborative filtering,是将商品进行分析推荐。同理ucf的u指的是user
修改Linux的PATH方法有三(添加用户的路径到PATH): 方法一: 直接在命令行中输入:#PATH=$PATH:/etc/apache/bin。这种方法只对当前会话有效,也就是说每当登出或注销系统后,PATH设置就会恢复原有设置。 方法二: 修改/etc/profile文件。在/etc/profile文件的适当位置添加PATH=$PATH:/etc/apache/bin (注意:=即等号
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.归并重复项 原始mytable: +------+-------+| user | brand |+------+-------+| aa | 9 || aa | 9 || bb | 4 || bb | 3 || cc | 9 |+-----
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 上一节学习支持向量机,感觉公式都太难理解了,弄得我有点头大。不过这一章的Adaboost线比较起来就容易得多。Adaboost是用元算法的思想进行分类的。什么事元算法的思想呢?就是根据数据集的不同的特征在决定结果时所占的比重来划分数据集。就是要对每个特征值都构建决策树,并且赋予他们不同的
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景知识 前面我们提到的数据集都是线性可分的,这样我们可以用SMO等方法找到支持向量的集合。然而当我们遇到线性不可分的数据集时候,是不是svm就不起作用了呢?这里用到了一种方法叫做核函数,它将低维度的数据转换成高纬度的从而实现线性可分。 可能有的人不明白为什么低维度的数据集转换
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景知识 通过上一节我们通过引入拉格朗日乗子得到支持向量机变形公式。详细变法可以参考这位大神的博客——地址 参照拉格朗日公式F(x1,x2,...λ)=f(x1,x2,...)-λg(x1,x2...)。我们把上面的式子变型为: 约束条件就变成了: 下面就根据最小优化算法SMO(Se
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 强烈推荐阅读(http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982639.html) 支持向量机SVM(support vector machines)。SVM是一种二值分类器,是近些年比较流行的一种
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景知识 在刚刚结束的天猫大数据s1比赛中,逻辑回归是大家都普遍使用且效果不错的一种算法。 (1)回归 先来说说什么是回归,比如说我们有两类数据,各有50十个点组成,当我门把这些点画出来,会有一条线区分这两组数据,我们拟合出这个曲线(因为很有可能是非线性),
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 以前我在外面公司实习的时候,一个大神跟我说过,学计算机就是要一个一个贝叶斯公式的套用来套用去。嗯,现在终于用到了。朴素贝叶斯分类器据说是好多扫黄软件使用的算法,贝叶斯公式也比较简单,大学做概率题经常会用到。核心思想就是找出特征值对结果影响概率最大的项。公式如下: 什么是朴
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 接着上一节说,没看到请先看一下上一节关于数据集的划分数据集划分。现在我们得到了每个特征值得信息熵增益,我们按照信息熵增益的从大到校的顺序,安排排列为二叉树的节点。数据集和二叉树的图见下。 (二叉树的图是用python的matplotlib库画出来的) 数据集: 决策树: