数据挖掘:如何寻找相关项

导读:随着大数据时代浪潮的到来数据科学家这一新兴职业也越来越受到人们的关注。本文作者Alexandru Nedelcu就将数学挖掘算法与大数据有机的结合起来,并无缝的应用在面临大数据浪潮的网站之中。

数据科学家需要具备专业领域知识并研究相应的算法以分析对应的问题,而数据挖掘是其必须掌握的重要技术。以帮助创建推动业务发展的相应大数据产品和大数据解决方案。EMC最近的一项调查也证实了这点。调查结果显示83%的人认为大数据浪潮所催生的新技术增加了数据科学家的需求。本文将为您展示如何基于一个简单的公式查找相关的项目。请注意,此项技术适用于所有的网站(如亚马逊),以个性化用户体验、提高转换效率。

查找相关项问题

要想为一个特定的项目查找相关项,就必须首先为这两个项目定义相关之处。而这些也正是你要解决的问题:

  • 在博客上,你可能想以标签的形式分享文章,或者对比查看同一个人阅读过的文章
  • 亚马逊站点被称为“购买此商品的客户还购买了”的部分
  • 一个类似于IMDB(Internet Movie Database)的服务,可以根据用户的评级,给出观影指南建议

不论是标签、购买的商品还是观看的电影,我们都要对其进行分门别类。这里我们将采用标签的形式,因为它很简单,而且其公式也适用于更复杂的情形。

以几何关系重定义问题

现在以我的博客为例,来列举一些标签:

  1. ["API""Algorithms""Amazon""Android""Books""Browser"]  

好,我们来看看在欧式空间几何学中如何表示这些标签。

我们要排序或比较的每个项目在空间中以点表示,坐标值(代表一个标签)为1(标记)或者0(未标记)。

因此,如果我们已经获取了一篇标签为“API”和“Browser”的文章,那么其关联点是:

  1. [ 1, 0, 0, 0, 0, 1 ] 

现在这些坐标可以表示其它含义。例如,他们可以代表用户。如果在你的系统中有6个用户,其中2个用户对一篇文章分别评了3星和5星,那么你就可以针对此文章查看相关联的点(请注意顺序):

  1. [ 0, 3, 0, 0, 5, 0 ] 

现在我们可以计算出相关矢量之间的夹角,以及这些点之间的距离。下面是它们在二维空间中的图像:

欧式几何空间距离

计算欧式几何空间两点之间距离的数学公式非常简单。考虑相关两点A、B之间的距离:

两点之间的距离越近,它们的相关性越大。下面是Ruby代码:

  1. # Returns the Euclidean distance between 2 points  
  2. #  
  3. # Params:  
  4. #  - a, b: list of coordinates (float or integer)  
  5. #  
  6. def euclidean_distance(a, b)  
  7.   sq = a.zip(b).map{|a,b| (a - b) ** 2}  
  8.   Math.sqrt(sq.inject(0) {|s,c| s + c})  
  9. end 
  10. # Returns the associated point of our tags_set, relative to our  
  11. # tags_space.  
  12. #  
  13. # Params:  
  14. #  - tags_set: list of tags  
  15. #  - tags_space: _ordered_ list of tags  
  16. def tags_to_point(tags_set, tags_space)  
  17.   tags_space.map{|c| tags_set.member?(c) ? 1 : 0}  
  18. end 
  19. # Returns other_items sorted by similarity to this_item   
  20. # (most relevant are first in the returned list)  
  21. #  
  22. # Params:  
  23. #  - items: list of hashes that have [:tags]  
  24. #  - by_these_tags: list of tags to compare with  
  25. def sort_by_similarity(items, by_these_tags)  
  26.   tags_space = by_these_tags + items.map{|x| x[:tags]}    
  27.   tags_space.flatten!.sort!.uniq!  
  28.   this_point = tags_to_point(by_these_tags, tags_space)  
  29.   other_points = items.map{|i|   
  30.     [i, tags_to_point(i[:tags], tags_space)]  
  31.   }  
  32.  
  33.   similarities = other_points.map{|item, that_point|  
  34.     [item, euclidean_distance(this_point, that_point)]  
  35.   }  
  36.   sorted = similarities.sort {|a,b| a[1] <=> b[1]}  
  37.   return sorted.map{|point,s| point}  
  38. End 

这是一些示例代码,你可以直接复制运行:

  1. # SAMPLE DATA  
  2.  
  3. all_articles = [  
  4.   {  
  5.    :article => "Data Mining: Finding Similar Items",   
  6.    :tags => ["Algorithms""Programming""Mining",   
  7.      "Python""Ruby"]  
  8.   },   
  9.   {  
  10.    :article => "Blogging Platform for Hackers",    
  11.    :tags => ["Publishing""Server""Cloud""Heroku",   
  12.      "Jekyll""GAE"]  
  13.   },   
  14.   {  
  15.    :article => "UX Tip: Don't Hurt Me On Sign-Up",   
  16.    :tags => ["Web""Design""UX"]  
  17.   },   
  18.   {  
  19.    :article => "Crawling the Android Marketplace",   
  20.    :tags => ["Python""Android""Mining",   
  21.      "Web""API"]  
  22.   }  
  23. ]  
  24.  
  25. # SORTING these articles by similarity with an article   
  26. # tagged with Publishing + Web + API  
  27. #  
  28. #  
  29. # The list is returned in this order:  
  30. #  
  31. # 1. article: Crawling the Android Marketplace  
  32. #    similarity: 2.0  
  33. #  
  34. # 2. article: "UX Tip: Don't Hurt Me On Sign-Up"  
  35. #    similarity: 2.0  
  36. #  
  37. # 3. article: Blogging Platform for Hackers  
  38. #    similarity: 2.645751  
  39. #  
  40. # 4. article: "Data Mining: Finding Similar Items"  
  41. #    similarity: 2.828427  
  42. #  
  43.  
  44. sorted = sort_by_similarity(  
  45.     all_articles, ['Publishing''Web''API'])  
  46.  
  47. require 'yaml' 
  48. puts YAML.dump(sorted) 

你是否留意到我们之前选择的数据存在一个缺陷?前两篇文章对于标签“["Publishing", "Web", "API"]”有着相同的欧氏几何空间距离。

为了更加形象化,我们来看看计算第一篇文章所用到的点:

  1. [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]  
  2. [1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1] 

只有四个坐标值不同,我们再来看看第二篇文章所用到的点:

  1. [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]  
  2. [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1] 

与第一篇文章相同,也只有4个坐标值不同。欧氏空间距离的度量取决于点之间的差异。这也许不太好,因为相对平均值而言,有更多或更少标签的文章会处于不利地位。

余弦相似度

这种方法与之前的方法类似,但更关注相似性。下面是公式:

下面是Ruby代码:

  1. def dot_product(a, b)  
  2.   products = a.zip(b).map{|a, b| a * b}  
  3.   products.inject(0) {|s,p| s + p}  
  4. end 
  5.  
  6. def magnitude(point)  
  7.   squares = point.map{|x| x ** 2}  
  8.   Math.sqrt(squares.inject(0) {|s, c| s + c})  
  9. end 
  10.  
  11. # Returns the cosine of the angle between the vectors   
  12. #associated with 2 points  
  13. #  
  14. # Params:  
  15. #  - a, b: list of coordinates (float or integer)  
  16. #  
  17. def cosine_similarity(a, b)  
  18.   dot_product(a, b) / (magnitude(a) * magnitude(b))  
  19. end 

对于以上示例,我们对文章进行分类得到:

  1. - article: Crawling the Android Marketplace  
  2.   similarity: 0.5163977794943222  
  3. - article: "UX Tip: Don't Hurt Me On Sign-Up" 
  4.   similarity: 0.33333333333333337  
  5. - article: Blogging Platform for Hackers  
  6.   similarity: 0.23570226039551587  
  7. - article: "Data Mining: Finding Similar Items" 
  8.   similarity: 0.0 

这种方法有了很大改善,我们的代码可以很好地运行,但它依然存在问题。

示例中的问题:Tf-ldf权重

我们的数据很简单,可以轻松地计算并作为衡量的依据。如果不采用余弦相似度,很可能会出现相同的结果。

Tf-ldf权重是一种解决方案。Tf-ldf是一个静态统计量,用于权衡文本集合中的一个词在一个文档中的重要性。

根据Tf-ldff,我们可以为坐标值赋予独特的值,而并非局限于0和1.

对于我们刚才示例中的简单数据集,也许更简单的度量方法更适合,比如Jaccard index也许会更好。

皮尔逊相关系数(Pearson Correlation Coefficient)

使用皮尔逊相关系数(Pearson Correlation Coefficient)寻找两个项目之间的相似性略显复杂,也并不是非常适用于我们的数据集合。

例如,我们在IMDB中有2个用户。其中一个用户名为John,对五部电影做了评级:[1,2,3,4,5]。另一个用户名为Mary,对这五部电影也给出了评级:[4, 5, 6, 7, 8]。这两个用户非常相似,他们之间有一个完美的线性关系,Mary的评级都是在John的基础上加3。

计算公式如下:

 代码如下:

  1. def pearson_score(a, b)  
  2.   n = a.length  
  3.   return 0 unless n > 0  
  4.   # summing the preferences  
  5.   sum1 = a.inject(0) {|sum, c| sum + c}  
  6.   sum2 = b.inject(0) {|sum, c| sum + c}  
  7.   # summing up the squares  
  8.   sum1_sq = a.inject(0) {|sum, c| sum + c ** 2}  
  9.   sum2_sq = b.inject(0) {|sum, c| sum + c ** 2}  
  10.   # summing up the product  
  11.   prod_sum = a.zip(b).inject(0) {|sum, ab| sum + ab[0] * ab[1]}  
  12.   # calculating the Pearson score  
  13.   num = prod_sum - (sum1 *sum2 / n)    
  14.   den = Math.sqrt((sum1_sq - (sum1 ** 2) / n) * (sum2_sq - (sum2 ** 2) / n))  
  15.   return 0 if den == 0  
  16.   return num / den    
  17. end 
  18. puts pearson_score([1,2,3,4,5], [4,5,6,7,8])  
  19. # => 1.0  
  20. puts pearson_score([1,2,3,4,5], [4,5,0,7,8])  
  21. # => 0.5063696835418333  
  22. puts pearson_score([1,2,3,4,5], [4,5,0,7,7])  
  23. # => 0.4338609156373132  
  24. puts pearson_score([1,2,3,4,5], [8,7,6,5,4])  
  25. # => -1 

曼哈顿距离算法

没有放之四海而皆准的真理,我们所使用的公式取决于要处理的数据。下面我们简要介绍一下曼哈顿距离算法。

曼哈顿距离算法计算两点之间的网格距离,维基百科中的图形完美诠释了它与欧氏几何距离的不同:

红线、黄线和蓝线是具有相同长度的曼哈顿距离,绿线代表欧氏几何空间距离。(张志平/编译)

原文链接:http://bionicspirit.com/blog/2012/01/16/cosine-similarity-euclidean-distance.html



云时代的企业应用数据挖掘

本文主要分析了企业面对云时代的SaaS服务时,如何有效地对应用数据进行数据挖掘。首先分析了企业面对海量增长的数据时数据挖掘面临的挑战,其次提出了一种适合云应用环境的数据挖掘模式,最后对该方法进行了总结。

赵鹏

中国电信股份有限公司北京研究 院高级工程师,主要研究方向为信息系统规划与设计、语义网络和知识工程。

顾茜

中国电信股份有限公司北京研究 院工程师,目前从事云计算领域的研究工作。

随着云时代的到来和SaaS概念的引入,越来越多的企业开始选择由SaaS应用提供商、运营商等通过互联网平台提供SaaS应用服务,SaaS应用的数据量面临着TB级的增长速度;不同的SaaS应用体系,提供的数据结构也不完全相同,数据有文本、图形甚至小型数据库;SaaS应用数据随着云服务平台的分布性特点,有可能分布在不同的服务器上,如何对这些异构异源的数据进行数据挖掘,是云时代的企业面临的难题。

图1 企业面临着在不同数据源上进行数据挖掘的挑战
图1 企业面临着在不同数据源上进行数据挖掘的挑战

如何从海量应用挖掘出合理的数据

对于企业而言,如何将各种SaaS应用数据进行整合挖掘,提炼出适合其使用的商业信息是企业的一大急迫需求。传统的BI模式大多基于数据仓库,是关系型数据库的模式。面对急剧增长的异构数据,传统的数据仓库和原有的并行计算技术由于挖掘效率低,已经不能解决海量数据挖掘工作,影响着数据的及时提取。

云时代企业数据挖掘也面临如下挑战。

  • 挖掘效率:进入云计算时代后,BI的思路发生了转换。以前是基于封闭的企业数据进行挖掘,而面对引入互联网应用后海量的异构数据(据预计到2020年,爆发式增长的数据量将突破35ZB(1ZB=10亿TB))时,目前并行挖掘算法的效率很低。
  • 多源数据:引入云计算后,企业数据的位置有可能在提供公有云服务的平台上,也可能在企业自建的私有云上,如何面对不同的数据源进行挖掘也是一个挑战。 如图1所示。
  • 异构数据:Web数据的最大特点就是半结构化,如文档、报表、网页、声音、图像、视频等,而云计算带来了大量的基于互联网模式提供的SaaS应用,如何梳理有效数据是一个挑战。

SaaS应用的数据挖掘希望能够通过海量数据存储平台,引入快速并行的挖掘算法,提高数据挖掘的质量。

适合云应用数据挖掘的模式建议

数据仓库建模阶段

为了应对SaaS应用大量异构数据,引入XML标记和交换数据。由于XML能够使不同来源的结构化数据很容易地结合在一起,因而使搜索多样的不兼容的数据库成为可能,从而为解决Web数据挖掘难题带来了希望。XML的扩展性和灵活性允许XML描述不同种类应用软件中的数据,从而能描述搜集的Web页中的数据记录。

引入MapReduce算法,提高数据抽取转换的效率。MapReduce算法是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。当前的实现方法是指定一个Map(映射)函数用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数用来保证所有映射的键值对中的每一个共享相同的键组。

MapReduce更适合如下场景。

  • ETL(数据提取转化加载)类的应用:从多个不同的源读取日志信息;分析以及清理日志数据;执行复杂的变换,比如“会话转换”;决定存储什么样的属性以及把信息装载到DBMS或者其他存储引擎中。
  • 复杂分析应用:这种挖掘类型的应用需要对数据进行多步骤的计算和处理,通常一个程序的输出会是另外一个程序的输入,因此很难用单个SQL语句来表示,这种应用场合下,MapReduce是很好的候选方案。
  • 半结构化数据:因为不需要对数据的存储进行格式定义,所以MapReduce比较适合处理半结构化数据,这些数据通常都是一些键值对。这些场合下,MapReduce非常适合做ETL的事情。
  • 快速实施的系统:完善和健壮的低成本开源解决方案是MapReduce最大的优点。
    图2 数据挖掘模式图
    图2 数据挖掘模式图

引入HDFS的分布式存储模式。HDFS系统简单,利于提高实施效率,适合海量数据挖掘。HDFS架构基于GFS体系架构(Google File System,简称GFS,是由Google设计并实现的一个分布式文件系统,基于大量安装有Linux操作系统的普通PC构成的集群系统),但比GFS架构精简。GFS和HDFS都采用“单一主控机+多台工作机”的模式,通过数据分块和复制(多副本,一般是3)来提供更高的可靠性和性能。GFS允许文件被多次或者多个客户端同时打开以追加数据,以记录为单位。而在HDFS中,文件只允许一次打开并追加数据。GFS中采用主从模式备份Master的系统元数据,当主Master失效时,可以通过分布式选举备机接替主Master继续对外提供服务,而由于Replication及主备切换本身有一定的复杂性,HDFS Master的持久化数据只写入到本机(可能写入多份存放到Master机器的多个磁盘中防止某个磁盘损害),出现故障时需要人工介入。GFS通过内部采用Copy-on-Write的数据结构实现集群快照功能,而HDFS不提供快照功能。

引入Hive架构。Hive是建立在Hadoop上的数据仓库基础构架,是一种可以存储、查询和分析Hadoop中大规模数据的机制,提供了一系列工具用来进行数据ETL操作。Hive定义了简单的类SQL查询语言,称为HQL,它允许熟悉SQL的用户查询数据。这个语言也允许熟悉MapReduce开发者自定义Mapper和Reducer来处理内建的Mapper 和Reducer无法完成的复杂分析工作。

数据挖掘阶段

引入数据分析中间件,提供数据处理、数据探索、数据建模及模型应用等一系列功能,开发多种数据挖掘算法和统计建模方法,并能够方便、快速、高效地处理海量数据,为商业智能的应用提供更方便、更灵活的工具和服务。

数据呈现阶段

BI作为云计算的一种SaaS服务提供给企业,建立行业数据库。面对林林总总的SaaS应用,BI同样可作为一种SaaS服务提供给企业。同时,数据挖掘工具进行数据分析,可以发现重要的数据模式,这对构建知识库做出了巨大贡献——数据和信息之间的鸿沟要求系统地开发数据挖掘工具,将数据“坟墓”转换成知识“金块”。

数据挖掘模式图

我们设计的数据挖掘模式图如图2所示。

  • 企业数据层:企业数据来源于各类应用,如 SaaS应用、企业内部应用数据和专有云应用。
  • 数据仓库层:主要引入HDFS分布存储系统和Hive体系架构,通过MapReduce算法对数据梳理和提取。
  • 数据挖掘层:引入基于XML数据分析中间件,实现统计查询和数据挖掘功能。
  • 数据分析与BI应用层:将BI以SaaS服务的模式提供给企业使用。

总结

随着云时代的到来,企业面临的应用方式更加多元化,通过云的手段提供海量数据挖掘的方法,提高了挖掘的效率,增加了挖掘的精度,更利于挖掘应用的推广以及专业的行业知识库的构建。



剖析数据挖掘在金融证券交易领域的应用

[CSDN.NET报道]7月28日晚,由CSDN旗下高级技术管理者大本营CTO俱乐部举办的“数据挖掘在金融证券交易领域的应用经验分享”主题沙龙活动在海淀桥车库咖啡馆成功举办,这是CTO俱乐部金融行业软件专业委员会成立以来的首场线下活动。

本次活动邀请到凤凰网高级技术经理王允、和瑞网CTO巨建华、搜狐金融事业部高级工程师赵士昌、金融界技术主管吴旻等嘉宾,分享了在证券交易行情数据分析领域所涉及的经验和技术,并对数据挖掘在互联网相关领域的应用进行深入的沟通和探讨。活动现场火爆,有近百位行业内技术管理者来现场。

活动现场火爆

和瑞网CTO巨建华介绍了国内证券交易行业的数据特点:全部是动态时间序列数据;每秒新增数据上千;21年历史数据;多个交易市场,多种证券类别;沪深两市每天原始数据量为2G;财务报表等数据为非结构化数据;历史数据永远不会发生变化。就数据清洗与去噪,他谈到了几个基本机制——编码标准化;单位标准化;入库检查规则制定;缺失数据处理机制。在数据仓库的构建——自定义文件数据库方面,巨建华分析了为何当前采用了NoSQL:因为磁盘的效率依然低下,因此采用了MongoDB,用内存来存储数据,4台服务器配备128G内存,实现了每秒27000条的写入速度。

和瑞网CTO巨建华

在研发流程规划方面,他重点介绍了:产品规划(产品经理)-模型设计(金融工程师)-模型开发(开发团队)-回归测试(测试部)-实盘验证(产品经理)-模型监控(产品经理)的模式。

凤凰网高级技术经理王允

凤凰网高级技术经理王允分享了自己对于数据挖掘在金融证券交易领域应用的未来展望——能否根据指标值给用户操作提示?能否提示用户K线图上出现的形态;能够从海量数据中自动分析得出操作提示;走势预测;套利机会(跨A|B|H|权证|基金|商品);按照特定模型分析财务数据;周易、占星等理论能否用在股票分析上。

互动问答(从左到右分别为:王允、赵士昌、吴旻、巨建华)

现场听众提问,主要集中于几点:金融行业的数据分析如何跟自身业务结合;BS/CS(客户端)架构区别,各自的优劣;数据安全性;如何才能获得更优质的证券交易数据、数据传输、清理方式等问题。在谈到数据分析解决方案BS/CS架构区别时,金融界技术主管吴旻认为BS相对于CS来说会慢一点,数据量很大的时候可能不那么及时,可能会慢一两秒。普通客户觉得不重要,但是对于高端用户来说半秒都是很重要的。其次是证券交易数据的获取和使用都要合规,上交所深交所的规定都有不同的区别,很多网站因为拿不到牌照所以做不了,有些可以获取数据做分析但不能交易。再有,数据安全是另一个不容忽视的方面。

对此,搜狐金融事业部高级工程师赵士昌并不赞同,他认为BS架构完全可以达到CS数据级别,搜狐技术部门做过测试,速度相差不会太多,一个级别的。CS架构的话,因为有客户端,可以在本地存储一些大量数据做分析,BS架构可能受限互联网的束缚,但是可以将数据拿到客户端处理,浏览器仅仅是显示一下处理结果就可以,技术上都已经很成熟了。

总体来看,未来的金融证券行业数据服务,下一步的技术焦点将在如何为个人提供个性化的服务上,现场互动活跃,与会者提出了很多很好的需求和建议。

更多精彩内容及CSDN CTO俱乐部的下期线下活动,请持续关注CSDN CTO俱乐部。

CTO俱乐部是CSDN旗下面向广大技术管理者的网上大本营,采取采用了严格的邀请审核制,只有公司的高级技术管理者,如CTO、技术总监、开发总监、工程总监才能申请加入,现已超过10000多名会员。CTO俱乐部定期举行线下活动,就相关主题进行共同探讨,并便于会员们相互交流




马云的秘密武器:数据挖掘

导读:最新一期英国《经济学人》杂志撰文称,阿里巴巴手中掌握着中国中产阶级的大量购物数据,可以借此开展更多业务,另外一个有潜力的领域是信贷。阿里巴巴已经成为了中国电子商务之王。

以下为文章全文:

小个子马云脱颖而出

墙上挂着十几个大屏幕,地图不停地闪动,数字则不断地滚动着。阿里巴巴集团的“实时数据检测室”为我们提供了一幅繁忙的景象:中国企业与外国企业之间的交易;中国消费者之间的服装交易。阿里巴巴旗下各类网络服务的用户大约为5亿人。作为该集团的创始人,个子矮小的马云笑着说,生意“很好”。然而,这却远未令他满足。

马云曾经高考两度落榜,但却坚持通过广播学习英语。上世纪90年代,马云以翻译的身份前往美国,并“巧遇”互联网。他当时在一款搜索引擎中输入了“Chinese Beer”,但却没有任何结果。他看到了机会。

马云1999年创办阿里巴巴,帮助小企业跳过中间商直接寻找客户和供应商。阿里巴巴网站如今号称拥有5700万用户,几乎遍及世界各国。这有点像是eBay,但更像是一个网络黄页。

作为阿里巴巴集团旗下的另外一家网站,淘宝则专门针对普通消费者。它拥有3亿用户,2009年的交易额达到290亿美元。淘宝就像是亚马逊与 eBay的结合体:既运营着一家专供大型商家的在线商城,也提供一个任何拥有中国居民身份证的人都可以注册并出售合法物品的网站。淘宝通过广告获取收入。

阿里巴巴的员工对他们一手打造的业务都很骄傲。有一个村子积压了大量的兔肉和皮毛。村长让村民想办法。于是,一名村民通过阿里巴巴网站卖出了这些货。但更多情况下,阿里巴巴的客户都是一些希望通过廉价渠道打开国际市场的小企业。无需亲自来中国,土耳其或英国的机械制造商就可以借助阿里巴巴找到这里的廉价供应商。买家可以阅读他人针对每名卖家发表的评论,尽管并不完美,但依然能够营造诚信氛围。

他处处都能看到机遇

阿里巴巴位于杭州的园区与硅谷企业的风格很像。这里的建筑都很通风,而且风水很好。员工可以享受乒乓球和免费的按摩。老人和西装革履的人在这里都很少见。与其他中国互联网公司一样,这里的很多高级管理人员都受过国外教育或者有过海外工作经验。

阿里巴巴有着实力强大的海外支持者:美国雅虎和日本软银。然而,由于身处中国,它不能向西方企业一样运营。到上世纪90年代,互联网的报道已经遍及全球,但中国媒体却罕有提及。所以马云的创业之路非常艰难。但是现在,他处处都能看到机遇。

中国拥有数百万小企业家,但是金融体制却比较落后。为了提高网站流量,马云2004年创建了一套在线支付系统——支付宝。它的增长很大程度上受益于美国同行PayPal无法进军中国,后者直到最近才刚刚获准在中国开展业务。支付宝目前在全球拥有4.7亿用户,中国有超过50万商家接受这种支付方式。部分中国城市的居民还可以利用支付宝交水电费。

马云还启动了一项名为阿里贷款的服务。他并不对外提供贷款,但却与银行合作展开业务。银行通常无法知道小型借款人的信用,但马云却拥有大量数据,可以判断小企业是否具备按时还款的能力。他还可以将相互认识的企业进行绑定,以便让卖家为常客提供银行贷款担保。根据阿里巴巴的数据,阿里贷款的坏账率仅为 0.35%,这也使得该服务得以快速扩张。

阿里巴巴还面临着许多障碍。首先,中国互联网市场竞争非常激烈,而且发展很快。作为中国最大的搜索引擎,百度虽然现在没有与阿里巴巴展开正面冲突,但迟早会有这么一天。其次是人才短缺。最优秀的工程师和管理者的薪酬一路飙升。

第三,为了推动增长,阿里巴巴已经放弃了很多利润。它的主要服务是免费的,只有在卖家要求额外服务时才会收费,例如要出现在搜索结果顶部。马云表示,这是经过深思熟虑的:规模最终将带来回报。但是投资者却不会一直等下去。在认识到这一点后,阿里巴巴集团的上市子公司阿里巴巴网络有限公司今年12 月承诺,将于明年1月发放1.4亿美元的特别股息。

盘活庞大数据资产

阿里巴巴拥有一项庞大而未经开发的资产:针对中国正在崛起的中产阶级消费习惯搜集的大量数据。该公司对于如何使用这些数据非常谨慎,并且坚称不会侵犯任何人的隐私。

尽管如此,阿里巴巴仍然有多种方法可以凭借现有资料赚取利润。一种方法是,利用用户数据来判断趋势,并帮助企业预测用户需求。由于中国缺乏精确的数据,因此这项业务将很有价值。

另外一个有潜力的领域是信贷。阿里贷款不向借款企业收取信用评级费,并表示,没有这方面的计划。但是收费计划的确可行:只要对每笔贷款收取少量费用,几乎就可以创造净利润。而且阿里巴巴也没有理由限制自己帮助企业借款。另外一个可能是,帮助中国消费者获取信贷。目前,很少有企业能够做到这一点,但是希望开展这项业务的却大有人在。

原文链接:http://www.alibuybuy.com/posts/52342.html



五个免费开源的数据挖掘软件

Orange

Orange是一个基于组件的数据挖掘和机器学习软件套装,它的功能即友好,又很强大,快速而又多功能的可视化编程前端,以便浏览数据分析和可视化,基绑定了Python以进行脚本开发。它包含了完整的一系列的组件以进行数据预处理,并提供了数据帐目,过渡,建模,模式评估和勘探的功能。其由C++和Python开发,它的图形库是由跨平台的Qt框架开发。

      RapidMiner

RapidMiner,以前叫YALE(Yet Another Learning Environment),其是一个给机器学习和数据挖掘和分析的试验环境,同时用于研究了真实世界数据挖掘。它提供的实验由大量的算子组成,而这些算子由详细的XML文件记录,并被RapidMiner图形化的用户接口表现出来。RapidMiner为主要的机器学习过程提供了超过500算子,并且,其结合了学习方案和Weka学习环境的属性评估器。它是一个独立的工具可以用来做数据分析,同样也是一个数据挖掘引擎可以用来集成到你的产品中。

      Weka

由Java开发的Weka(Waikato Environment for Knowledge Analysis)是一个知名机器学机软件,其支持几种经典的数据挖掘任务,显著的数据预处理,集群,分类,回归,虚拟化,以及功能选择。其技术基于假设数据是以一种单个文件或关联的,在那里,每个数据点都被许多属性标注。Weka使用Java的数据库链接能力可以访问SQL数据库,并可以处理一个数据库的查询结果。它主要的用户接品是Explorer,也同样支持相同功能的命令行,或是一种基于组件的知识流接口。

      JHepWork

为科学家,工程师和学生所设计的jHepWork是一个免费的开源数据分析框架,其主要是用开源库来创建一个数据分析环境,并提供了丰富的用户接口,以此来和那些收费的的软件竞争。它主要是为了科学计算用的二维和三维的制图,并包含了用Java实现的数学科学库,随机数,和其它的数据挖掘算法。jHepWork是基于一个高级的编程语言Jython,当然,Java代码同样可以用来调用jHepWork的数学和图形库。

      KNIME

KNIME (Konstanz Information Miner) 是一个用户友好,智能的,并有丰演的开源的数据集成,数据处理,数据分析和数据勘探平台。它给了用户有能力以可视化的方式创建数据流或数据通道,可选择性地运行一些或全部的分析步骤,并以后面研究结果,模型以及可交互的视图。KNIME由Java写成,其基于Eclipse并通过插件的方式来提供更多的功能。通过以插件的文件,用户可以为文件,图片,和时间序列加入处理模块,并可以集成到其它各种各样的开源项目中,比如:R语言,Weka,Chemistry Development Kit,和LibSVM。

源文:http://www.junauza.com/2010/11/free-data-mining-software.html



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

00030_ArrayList集合

1、数组可以保存多个元素&#xff0c;但在某些情况下无法确定到底要保存多少个元素&#xff0c;此时数组将不再适用&#xff0c;因为数组的长度不可变 2、JDK中提供了一系列特殊的类&#xff0c;这些类可以存储任意类型的元素&#xff0c;并且长度可变&#xff0c;统称为集合 3…

1.3tf的varible\labelencoder

1.tf的varible变量 import tensorflow as tf #定义变量--这里是计数的变量 statetf.Variable(0,namecounter) print (state.name) #输出变量值 onetf.constant(1) #常量new_valuetf.add(state,one) updatetf.assign(state,new_value)#初始化所有变量 inittf.initialize_all_var…

多线程编程指南

1. 多线程编程指南1--线程基础 线程编程指南1--线程基础 Wednesday, 29. March 2006, 11:48:45 多线程 本文出自:BBS水木清华站 作者:Mccartney (coolcat) (2002-01-29 20:25:25) multithreading可以被翻译成多线程控制。与传统的UNIX不同&#xff0c;一个传统 的UNIX进…

路由器和猫的区别

路由器和猫的区别 网络在我们现在生活中必不可少,我们链接互联网经常需要用到猫和路由器,但是依然有很多菜鸟根本不知道什么是猫什么是路由器,至于猫和路由器怎么使用就更不知道了,下面给大家详细的讲解下路由器和猫的区别。 路由器和猫的用途和链接位置不一样,如下图: 路由器:…

kafka 命令行命令大全

kafka 脚本 connect-distributed.sh connect-mirror-maker.sh connect-standalone.sh kafka-acls.sh kafka-broker-api-versions.sh kafka-configs.sh kafka-console-consumer.sh kafka-console-producer.sh kafka-consumer-groups.sh kafka-consumer-perf-test.sh kafka-dele…

python 第三方模块之 APScheduler - 定时任务

介绍 APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务&#xff1a;固定时间间隔&#xff0c;固定时间点&#xff08;日期&#xff09;&#xff0c;Linux 下的 Crontab 命令。同时&#xff0c;它还支持…

hadoop分布式搭建

一&#xff0c;前提&#xff1a;下载好虚拟机和安装完毕Ubuntu系统。因为我们配置的是hadoop分布式&#xff0c;所以需要两台虚拟机&#xff0c;一台主机&#xff08;master&#xff09;&#xff0c;一台从机&#xff08;slave&#xff09; 选定一台机器作为 Master 在 Master …

xvid 详解 代码分析 编译等

1. Xvid参数详解 众所周知&#xff0c;Mencoder以其极高的压缩速率和不错的画质赢得了很多朋友的认同&#xff01; 原来用Mencoder压缩Xvid的AVI都是使用Xvid编码器的默认设置&#xff0c;现在我来给大家冲冲电&#xff0c;讲解一下怎样使用Mencoder命令行高级参数制作Xvid编…

很多人喜欢露脚踝你觉得时尚吗?

当然是 时尚时尚最时尚的 露&#xff01;****脚&#xff01;脖&#xff01;子&#xff01;image.png人生就是这么奇怪 美容整形可以让你拥有想要的五官 做个手术健个身能让你拥有梦寐的线条 唯独身高这事很难改变&#xff08;说多了都是泪&#xff09; 氮素呢 再难也难不倒众位…

深度学习之生成式对抗网络 GAN(Generative Adversarial Networks)

一、GAN介绍 生成式对抗网络GAN&#xff08;Generative Adversarial Networks&#xff09;是一种深度学习模型&#xff0c;是近年来复杂分布上无监督学习最具前景的方法之一。它源于2014年发表的论文&#xff1a;《Generative Adversarial Nets》&#xff0c;论文地址&#xf…

深度学习之目标检测:R-CNN、Fast R-CNN、Faster R-CNN

object detection 就是在给定的图片中精确找到物体所在位置&#xff0c;并标注出物体的类别。object detection 要解决的问题就是物体在哪里&#xff0c;是什么这整个流程的问题。然而&#xff0c;这个问题不是容易解决的&#xff0c;物体的尺寸变化范围很大&#xff0c;摆放物…

深度学习之边框回归(Bounding Box Regression)

从rcnn&#xff0c; fast rcnn, faster rcnn, yolo, r-fcn, ssd&#xff0c;到cvpr的yolo9000。这些paper中损失函数都包含了边框回归&#xff0c;除了rcnn详细介绍了&#xff0c;其他的paper都是一笔带过&#xff0c;或者直接引用rcnn就把损失函数写出来了。前三条网上解释比较…

2018 年,React 将独占web前端框架鳌头?

相比 Angular 和 Vue&#xff0c; React 是 2017 年的主要 JS 框架&#xff0c;尤其是 React Native 以前所未有的速度提升自己。 Stateofjs 2017前端框架调查结果 相比较 2016 年的调查结果 所以 &#xff0c;1 年过去了&#xff0c;Vue.js 显然在前端框架中占据了领导地位&am…

python 第三方模块之 pandas 操作 excel

python 解析 excel 对比 包版本xls读xlsx读xls写xlsx写备注xlrd1.1.0&#xff08;2017年8月22日&#xff09;√√2.0 之后不支持xlsxxlwt1.3.0&#xff08;2017年8月22日&#xff09;√openpyxl2.6.2&#xff08;2019年3月29日&#xff09;√√XlsxWriter1.2.1&#xff08;201…

YUV / RGB 格式及快速转换

YUV是指亮度参量和色度参量分开表示的像素格式&#xff0c;而这样分开的好处就是不但可以避免相互干扰&#xff0c;还可以降低色度的采样率而不会对图像质量影响太大。 YUV是一个比较笼统地说法&#xff0c;针对它的具体排列方式&#xff0c;可以分为很多种具体的格式。转载一篇…

深度学习之 SSD(Single Shot MultiBox Detector)

目标检测近年来已经取得了很重要的进展&#xff0c;主流的算法主要分为两个类型&#xff1a; &#xff08;1&#xff09;two-stage方法&#xff0c;如R-CNN系算法&#xff0c;其主要思路是先通过启发式方法&#xff08;selective search&#xff09;或者CNN网络&#xff08;RP…

短时程突触可塑性(short-term synaptic plasticity)

介绍神经元的突触可塑性一般被认为是大脑学习与记忆的分子生物学机制&#xff0c;它是指突触传递效率增强或减弱的变化现象。若这种变化只持续数十毫秒到几分&#xff0c;便称之为短时程突触可塑性&#xff0c;其中效率增强与减弱分别叫做短时程增强&#xff08;short-term enh…

windows平台下vlc编译

转自:http://jeremiah.blog.51cto.com/539865/114190Jeremiah刚刚工作几个月&#xff0c;参与的第一个项目是与视频监控有关&#xff0c;分配给我的任务就是用开源的vlc做一个自己的播放器。对于开源项目来说&#xff0c;搭建起编译环境是第一步也是最重要的一步。Jeremiah在历…

深度学习之卷积神经网络 AlexNet

AlexNet 是 2012年ILSVRC 比赛冠军&#xff0c;远超第二名的CNN&#xff0c;比LeNet更深&#xff0c;用多层小卷积叠加来替换单个的大卷积&#xff0c;结构如下图所示。 ​​ 结构 预处理 原始图片&#xff1a;256∗256∗3256*256*3256∗256∗3 图像处理&#xff1a; 1.随机…

jstl处理栏目与子栏目_芬顿氧化法废水处理工程技术规范(征求意见稿)

日前&#xff0c;生态环境部印发《芬顿氧化法废水处理工程技术规范(征求意见稿)》&#xff0c;详情如下&#xff1a;各有关单位&#xff1a;为贯彻《中华人民共和国环境保护法》和《中华人民共和国水污染防治法》等法律法规&#xff0c;防治环境污染&#xff0c;改善环境质量&a…