摘要: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 欲实现JSON字符串和java对象之间的互相转换,方法有很多!本人层也因为项 阅读全文
posted @ 2014-02-26 15:53 huangshanshan 阅读(1580) 评论(0) 推荐(0) 编辑
摘要: 在统计分析中,有时候需要计算矩阵每列非0元素的个数,可以用以下方法:先用find找到每列不为0的元素index,然后用count计数。假设有矩阵A[M,N], 结果存在countZeroscountZeros=zeros(1,N);for i=1:M countZeros(i)=length(find(A(:,i)>0);end 阅读全文
posted @ 2013-10-15 09:05 huangshanshan 阅读(4414) 评论(0) 推荐(0) 编辑
摘要: 在Java中,我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串、或者对字符串进行分割、或者对字符串一些字符进行替换/删除,一般会通过if-else、for 的配合使用来实现这些功能。如下所示:Java代码public class Test{ public static void main(String args[]) { String str="@Shang Hai Hong Qiao Fei Ji Chang"; boolean rs = false; for(int i=0;i.*|/匹配首尾空格的正则表达式:(^s*)|(s... 阅读全文
posted @ 2013-09-10 16:35 huangshanshan 阅读(281) 评论(0) 推荐(0) 编辑
摘要: is 运算符并不是说明对象是某种类型的一种方式,而是可以检查对象是否是给定的类型,或者是否可以转换为给定的类型,如果是,这个运算符就返回true。is 运算符的语法如下: is 这个表达式的结果如下:如果是一个类类型,而也是该类型,或者它继承了该类型,或者它封箱到该类型中,则结果为true。如果是一个接口类型,而也是该类型,或者它实现了该接口的类型,则结果为true。如果是一个值类型,而也是该类型,或者它被拆箱到该类型中,则结果为true。实例using System;using System.Collections.Generic;using System.Linq;using System 阅读全文
posted @ 2013-08-31 15:13 huangshanshan 阅读(2162) 评论(0) 推荐(0) 编辑
摘要: 接口的实现分为:隐式实现和显式实现。如果类或者结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口那么接口中相同名称成员就要显式实现。显示实现是通过使用接口的完全限定名来实现接口成员的。使用显式接口成员执行体通常有两个目的:1、因为显式接口成员执行体不能通过类的实例进行访问,这就可以从公有接口中把接口的实现部分单独分离开。如果一个类只在内部使用该接口,而类的使用者不会直接使用到该接口,这种显式接口成员执行体就可以起到作用。2、显式接口成员执行体避免了接口成员之间因为同名而发生混淆。如果一个类希望对名称和返回类型相同的接口成员采用不同的实现方式,这就必须要使用到显式接口成员执行 阅读全文
posted @ 2013-08-30 16:35 huangshanshan 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 本分步指南描述如何使用两个接口:IComparer和IComparable。在同一篇文章中讨论这些接口有两个原因。经常在一起,使用这些接口和接口类似 (并且有相似的名称),尽管它们用于不同用途。如果您有一个数组的类型 (如字符串或整数) 已经在支持IComparer,可以该数组进行排序而不提供对IComparer的任何显式引用。在这种情况下,数组中的元素强制转换为IComparer(Comparer.Default) 为您的默认实现。但是,如果您想要为您自定义的对象提供排序或比较功能,则必须实现一个或这两种接口。在这篇文章中引用以下.NET Framework 类库命名空间:System.Co 阅读全文
posted @ 2013-08-30 10:12 huangshanshan 阅读(1204) 评论(0) 推荐(1) 编辑
摘要: 1:两者的设计理念不同:抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于“是”(is-a)的关系;而接口是定义行为规范,因此对于实现接口的子类来说,相对于接口来说,是“行为需要按照接口来完成”,是like-a的关系。2:抽象类表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。这弥补了类的多继承问题。成员方法3:抽象类在定义类型方法的时候,可以给出方法的实现部分,也可以不给出;而对于接口来说,其中所定义的方法都不能给出实现部分;只能够有静态的不能被修改的数据成员(也就是必须是static final的)。4:继承类对于两 阅读全文
posted @ 2013-08-29 15:12 huangshanshan 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 由于社交网络盛行,现在许多关于推荐系统的研究都考虑了如何使用social relation来改进推荐系统。虽然有很多论文都成功的使用social relation改进了推荐效果,然而,也有一些尝试失败了。那么在这里就稍微讨论一下为何social relation可以改进推荐系统,为何有些没有得到改进。social relation有益于推荐的方面:(1)用户倾向于向朋友寻求建议。用户的喜好通常和他/她social network中的用户相似。社会网络分析中的社会相关性理论(Homophily,social influence)的支撑。(2)传统的推荐系统打分信息非常稀疏以至于不能准确计算用户的 阅读全文
posted @ 2013-08-17 15:51 huangshanshan 阅读(505) 评论(0) 推荐(0) 编辑
摘要: http://www.grouplens.org/taxonomy/term/14Movielens Dataset:其中Movielens-100k和movielens-1M有用户对电影的打分,电影的title、genre、IMDB链接、用户的gender、age、occupation、zip code。movielens-10M中还有用户对电影使用的tag信息。HetRec2011 Dataset:包括了movielens-2k、delicious-2k和last.fm-2k。在movielens-2k中,电影的信息更加丰富了,有IMDB和Rotten Tomatoes的信息,具体还有电影 阅读全文
posted @ 2013-08-16 10:21 huangshanshan 阅读(21636) 评论(2) 推荐(1) 编辑
摘要: 1. LibFM项目主页:http://www.libfm.org/2. Svdfeature项目主页:http://apex.sjtu.edu.cn/apex_wiki/svdfeature3. Libsvm和Liblinearlibsvm项目主页:http://www.csie.ntu.edu.tw/~cjlin/libsvm/liblinear项目主页:http://www.csie.ntu.edu.tw/~cjlin/liblinear/初次使用必读:practical guidelibsvm的开发心得by林智仁:http://www.csie.ntu.edu.tw/~cjlin/ta 阅读全文
posted @ 2013-08-14 21:05 huangshanshan 阅读(881) 评论(0) 推荐(1) 编辑