汇元网微信交易订单查询询

互联网+国家战略智库
? ? ? ? ? ?
当前位置: &
& 巨人被指对网络诈骗洗钱“不作为”
巨人被指对网络诈骗洗钱“不作为”
&&日09:47&&中国电子商务研究中心
  (中国电子商务研究中心讯)巨人网络集团董事长史玉柱要退休了,但是,这位一手操纵脑白金广告后又从事互联网游戏业的51岁&传奇人物&的离去却背负着不少人的骂名。  两年多来,巨人网络因成为不法分子&洗钱&的管道,并且对系统漏洞几乎熟视无睹,而被受害者认为&不作为&。  两年多来,全国不知有多少家媒体为受害者声张权利,但巨人网络面对报道往往无动于衷,两次刊发声明&喊冤&。最近一次央视《经济半小时》有关此事的专题报道,被史玉柱在微博上一度公开&骂娘&(之后删除了该条微博)。  据不完全统计,两年内至少有467万元被窃资金流入巨人网络。  目前所知的受此事件损失最大是温州人张先生,他在支付时,一次性33万余元全部被转到巨人网络。(详见本报3月22日报道)。  截止目前,只有极少受害者拿回钱款,警方立案者寥寥,调查取证难度颇大。一些人开始尝试通过民事诉讼途径追讨钱款,有些案子还未起诉,巨人就私下和解了。  众多网游公司中,为何钱款偏偏流入巨人网络?为何两年来,巨人网络在支付安全方面毫无改进?  用&身份证号码生成器&亦可实名注册  按理,根据受害者所提供支付订单号查到非法资金流向的巨人网络账号后,巨人网络或警方可以查到该账号的注册信息。根据文化部颁布的《网络游戏管理暂行办法》第20条规定:&网络游戏虚拟货币交易服务企业提供服务时,应保证用户使用有效身份证件进行注册,并绑定与该用户注册信息相一致的银行账户&,可以根据该账号所提供的身份证号追查嫌疑人。  然而实际操作中,巨人网络并未严格遵守该规章,这在一定程度上让不法分子有机可乘。4月10日,《IT时报》记者登陆巨人网络,注册账号时随意使用了一个假名字,填写身份证号时,用了网上的&身份证号码生成器&生成的假身份证号码,最后竟成功完成注册。  曾供职于盛大网络的网游业内人士黄海明(化名)向《IT时报》记者透露,事实上大多数网游公司都没有做到真正的&实名注册&,他解释道,&如果网游公司需要姓名与身份证号匹配,需要公安部公民身份网上查询服务,每次收费5元,这就会增加成本,一般网游公司不会这么做。&  同日,记者使用&身份证号码生成器&注册搜狐畅游、盛大游戏账号,均成功通过注册。记者同时注意到,如果在盛大交易,还需要绑定手机号来激活&快钱&账号,这一定程度上增加了不法分子的作案门槛。相比之下,就无此漏洞,记者用&身份证号码生成器&注册没有成功。  巨人没有检测下单和支付IP地址是否一致  根据史玉柱公布的不法分子作案流程,这些受害者都是中了木马病毒,银行账号被控制然后转入了巨人等网游公司。  瑞星公司安全专家唐威分析认为,此次事件可能是钓鱼行为,也可能是超级木马所为。  钓鱼行为的原理就是,受害者进入钓鱼网站提交信息,钓鱼网站自动抓单获取支付代码。  &钓鱼IP地址是不法分子的,而受害者支付时IP地址是自己的。&在巨人事件发生后,河南南阳计算机高手王建然主动站出来协助受害者抱团维权,他告诉《IT时报》记者,根据下单人和支付IP地址的不同,&完全可以自动判断骗子游戏账户&。  据其4月10日为《IT时报》的测试结果,盛大、搜狐会自动判断IP地址是否一致,直接将钓鱼行为拦截在外,&其实以前他们也有这个漏洞,但现在堵上了。&王建然说。  而另外一种可能,即超级木马所为,可以参考2011年徐州警方破获的&浮云&木马网络盗窃案,该案部分资金就流入巨人网络等网游公司。犯罪分子交代,受害者支付时,利用木马修改其资金支付去向和支付金额,转账到他们设计好的账户中。  &案件告破后,巨人网络应该发现自己的充值系统存在一定漏洞,但事后,该公司并没有修复这个所谓的漏洞,而是让它继续存在。&受害者沈先生质疑道。  巨人没有监测大额资金  这位计算机高手还认为,这些非法交易与正常交易存在明显异常,巨人网络应该容易甄别。&一是瞬间大笔资金进入,金额上远远不同于普通游戏玩家;二是迅速将所有资金兑换成游戏币购买装备,然后并不消费而是立即将游戏装备出售。但赔钱的生意谁会做?&  瑞星安全专家也认为,实时监测账号异常行为并不存在技术难度。徐州警方也表示,如果有风险控制,那么可以发现这些异常的大额进账。  不过巨人网络称,对网游运营商而言,如何甄别正常玩家充值与涉嫌网银欺诈的资金充值,一直是个行业难题。  此外,巨人网络在得知受害者被骗并根据受害者提供的信息知悉异常账号后,虽然对媒体宣称&接到受害人举报后第一时间进行核查并冻结账号&,但实际情况是,他们往往无动于衷,称需警方函才配合调查。&如果受害者一发现问题,巨人网络立即冻结其账号,那么警方调查时将有现实基础,也不会错失办案最佳时机。&上海大成律师事务所高级合伙人商建刚指出。  一个可以借鉴的例子是,去年春节,汇元网收到了一笔20万元的大额储值订单。陌生账号的这笔巨额交易引起了网站方面的重视,汇元网风控人员进行了交易拦截,客服人员给该账户注册手机去电核实,却发现手机关机。网站方面启动&安全支付联盟&应急措施与第三方支付公司取得联系,找到资金来源,正是穆先生银行账号转出的20万资金,最后向穆先生退回资金。  记者手记:  别被黑色利益蒙住双眼  为什么不法分子偏偏选择巨人?金山网络安全工程师李铁军告诉《IT时报》记者,网游公司提供道具、虚拟货币等交易,很容易被利用为洗钱渠道,真实货币和虚拟货币在中间流通自由。  &可能是中间缺少认证环节,比如在确认支付时,再次输入密码。&黄海明认为,很可能是巨人网络的某个漏洞被不法分子抓住,巨人等网游公司通常提供很多支付接口以便用户支付,这为他们提供了作案便利。  黄海明说,很可能巨人网络发现了漏洞,但它也不愿去堵,而这是整个网游业的通病。&如果要去弥补漏洞,请技术专家找出遗漏代码,聘请他们的月薪2万,会增加额外成本,而对于网游公司来说,自己也不亏,还会增加他们的营收。&  本报曾报道,巨人网络其实是&黑色利益链&的一部分,王建然打个一个比喻:&当受害人1000元被吞后,巨人网络得到1000元,不法分子得到游戏币;当不法分子低价出售游戏币变现,巨人网络在其中抽成20%左右。巨人网络总共可得1200元左右。&  所谓抽成,指的是通过巨人网游平台账户充值转化成游戏币、购买游戏内商品、再以人民币卖出的过程中,巨人会从中收取中间交易费。这也是巨人的王牌游戏《征途2》所宣称的商业模式。&非法资金客观上推高巨人网游平台上的交易量,从而壮大其交易收入。&王建然认为,这一商业模式也助长了巨人网络对非法资金的麻木。  这些漏洞真的难以弥补吗?黄海明告诉记者,如果真的要查不法分子,技术手段完全可以实现。这些不法分子获得资金购买道具装备后,往往会在淘宝上出售,而每一个道具都有其唯一识别ID码,只要巨人愿意向警方提供这一ID码,警方就可以从淘宝上找到那个&卖家&。  &反观、腾讯支付等,就很少听到有类似事件发生,这体现的是一家公司对用户的关心程度,而巨人网络的声明给人一种自己也是被冤枉的感觉,现在分析下来看,他们是冷漠。&  &支付漏洞其实就是故意让骗子利用的诈骗后门,好比一个房子,本来很安全,故意开个门,让骗子自由出入。&王建然说。(来源:《IT时报》 文/杨鑫)
&&&&受国家工商有关部门委托,电商门户、互联网+智库――中国电子商务研究中心,宣布启动对国内主流网络交易平台用户合规条款进行审查(专题: )。包括以下四大类、38家平台:(1)零售电商(天猫/淘宝、京东、苏宁易购、亚马逊中国、唯品会、国美在线、当当、拼多多、贝贝网、蘑菇街、乐视商城、小米商城、有赞、银泰网);(2)跨境进口平台电商(聚美优品、洋码头、丰趣海淘、网易考拉海购、达令、小红书、海蜜、街蜜);(3)生活服务电商(美团、大众点评、百度糯米、携程、去哪儿、同程旅行网、阿里旅行、滴滴、神州专车、神州租车);(4)消费分期平台(趣分期、分期乐、爱学贷、人人分期、优分期、99分期)等。目前课题已结题,38份报告近期将陆续向社会、媒体披露。
【】【】【】【】【】
「关键字」
& &(1)凡本中心注明“来源:中国电子商务研究中心”或带有中国电子商务研究中心水印LOGO的所有文字、图片、音频、视频及其他任何形式的作品 ,其版权均属中国电子商务研究中心所有,任何媒体、网站或个人未经本中心协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已与本中心协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国电子商务研究中心”,违者本中心将依法追究责任。
& &(2)转载或引用本中心内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本中心内容原意进行曲解、修改,同时必须保留本中心注明的“稿件来源”,并自负版权等法律责任。
& &(3)对于不当转载或引用本中心内容而引起的民事纷争、行政处理或其他损失,本中心不承担责任。
& &(4)凡本中心注明“来源:xxx(非中国电子商务研究中心)”的文/图等稿件,均转载自其它媒体、网站与机构,其转载目的在于传递更多信息,并不代表本中心赞同其观点和对其真实性负责,请读者仅作参考,并请自行核实相关内容,如其他媒体、网站或个人从本网下载使用,必须保留本网注明的“稿件来源”,并自负版权等法律责任。& &(5)关于本中心发布的用户投诉稿件,信息均由用户通过本中心投诉通道提供,本中心不对其真实性负责,若内容真实性有误,请与本中心联系,本中心将在核实后进行处理。& &(6)对不遵守本声明或其他违法、恶意使用本中心内容者,本中心保留追究其法律责任的权利。& &(7)如因作品内容、版权和其它问题需要同本中心联系的请发送相关内容至邮箱:)& &此版权声明解释权归中国电子商务研究中心所有。
  一、背景概述
  7月26日,在国务院国资委指导支持下,由国家电网、航空工业、中国兵器、南方电网、中国华电、中国联通、宝武集团、中粮集团、中国五矿、中国建筑、中储粮、中国中车、中国中铁、中国能建等14...
生态型企业:
行业热点:
曝光专区:
有以下事宜,请联系:&&
有以下事宜,请联系:
有以下事宜,请联系:
以下企业,请联系:
以下企业,请联系:
以下企业,请联系:
以下人士,请联系:
行业/频道:
产品/服务:
数据/研究:
导航/平台:
中国电子商务研究中心 版权所有&img src=&/v2-2e54be998b_b.png& data-rawwidth=&640& data-rawheight=&363& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&/v2-2e54be998b_r.png&&&h2&一、项目简介&/h2&&h3&1.1 介绍&/h3&&p&本项目是基于 Python 的 Flask 框架和 MySQL 实现的简单的番剧推荐系统。在课程中我们将学到如何用 Python 连接 MySQL 数据库,如何查询和展示数据及设计推荐算法等知识。&br&&/p&&h2&课程由&a href=&/?target=https%3A///user/208579& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AlbertWY&i class=&icon-external&&&/i&&/a&发布在&a href=&/?target=https%3A///courses/633& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实验楼&i class=&icon-external&&&/i&&/a&,完整教程及在线练习地址:&a href=&/?target=https%3A///courses/633& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于 Flask 与 MySQL 实现番剧推荐系统&i class=&icon-external&&&/i&&/a&。&/h2&&h3&1.2 知识点&/h3&&p&本实验中我们将学习并实践以下知识点:&/p&&ul&&li&Python 语言基础&/li&&li&SQL 语言基础&/li&&li&HTML 与 CSS 基础&/li&&li&数据库表的拆分与设计&/li&&li&Flask 框架的使用&/li&&li&MySQL 的 Python 接口的使用&/li&&li&复杂查询语句的使用&/li&&li&推荐算法的简易设计&/li&&/ul&&h3&1.3 效果图&/h3&&p&本课程将最终将实现下面的效果,输入 User Number,这里使用数字代替,页面输出为番剧名称和描述,使用字母代替:&/p&&img src=&/v2-d9e73fb908e5ef3fb2ddafca3decbc57_b.png& data-rawwidth=&554& data-rawheight=&261& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-d9e73fb908e5ef3fb2ddafca3decbc57_r.png&&&img src=&/v2-699d64ccacaa_b.png& data-rawwidth=&554& data-rawheight=&235& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-699d64ccacaa_r.png&&&h2&二、基础知识&/h2&&h3&2.1 认识Flask框架&/h3&&p&Flask 是一个 Python 语言的微型网络开发框架。微框架中的 “微” 意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎则很容易替换。&/p&&p&Flask 基于 WerkzeugWSGI 工具箱和 Jinja2 模板引擎。实验中你将会知道 Jinja2 给予我们极大的方便,比如可以传递变量参数等。让我们的表示层动态的展示你想展示的信息,更详细的说明可参考 &a href=&/?target=https%3A///courses/29& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python Flask Web框架&i class=&icon-external&&&/i&&/a&。&/p&&h3&2.2 认识 MySQL 和简单的 SQL 语句&/h3&&p&MySQL 作为一种关系型数据库,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。并且实验楼已经安装好 MySQL,故实验时只需使用即可。&/p&&p&我们要用到的 SQL 语句包括 select 语句,insert into 语句,create 语句,order by 子句, Limit限制语法,natural join 语法。由于会涉及到较复杂查询,对于上述 SQL 用法不太熟悉或不会的同学,建议去学习一下实验楼的 SQL 课程。&/p&&h2&三、模块设计及环境部署&/h2&&h3&3.1 代码设计&/h3&&p&本课程中我们将代码设计为 app.py与recommend.py 两个模块:&/p&&ul&&li&app.py 用于根据不同请求来调用不同功能,即 Flask 的主体。&/li&&li&recommend.py 用于完成推荐功能,其中包含了推荐算法的实现,以及与数据库进行交互。&/li&&/ul&&h3&3.2 数据库表设计&/h3&&p&由业务逻辑出发,可发现实体类 user(用户) 和 anime(番剧),弱实体类 style,联系集 user_anime(记录用户喜欢的番剧),anime_style(番剧的标签)。&/p&&h2&3.3 环境部署及测试&/h2&&p&本节内容为实验完成环境的部署,以及对环境进行了简单的测试。并且在 MySQL 中建立了表,插入了相关的测试数据。详细的部署和测试步骤可以在&a href=&/?target=https%3A///courses/633& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实验一&i class=&icon-external&&&/i&&/a&中查看并在线实践。&br&&/p&&h2&四、简单推荐算法实现&/h2&&p&本节实验中我们实现的推荐算法比较简单,基本思路:&/p&&ol&&li&找到用户所喜爱的番剧&/li&&li&分析这些番剧的类别(一个番剧可能有多个标签),进行统计排序&/li&&li&找到前三个标签,从数据库中找到同时具有这三个标签的番剧(喜欢的不能再推荐)&/li&&li&将番剧相关信息(name,brief)进行展示&/li&&/ol&&p&SQL 数据库操作的实现上述的思路1 和 思路2:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&下面代码实现得到用户所喜欢top3类型
select style_id
(select user_id,style_id from
(select user_id,anime_id as id from user_anime where user_id=%s) as s
natural join anime natural join
(select anime_id as id,style_id from anime_style) as n
)as temp group by style_id order by count(user_id) desc limit 3;'''%user
&/code&&/pre&&/div&&p&其中下图所划去的一行内容对应思路1,即从 user_anime 表中查询用户和喜欢的番剧数据对:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&(select user_id,anime_id as id from user_anime where user_id=%s) as s
&/code&&/pre&&/div&&p&剩下的两个 select 操作由以下代码共同完成:&/p&&img src=&/v2-2e4cda42e2cb18bd216c6_b.png& data-rawwidth=&537& data-rawheight=&349& class=&origin_image zh-lightbox-thumb& width=&537& data-original=&/v2-2e4cda42e2cb18bd216c6_r.png&&&p&上图中的红线部分较重要,其中第二个红线部分用了 Python 的 Set 数据结构以取交集。love 是喜欢番剧的列表,choice() 函数是随机取一个。while 循环中保证不取与喜欢的重复的,这里还考虑一个问题,就是你得到的交集是喜欢集合的子集,如果不加判断将会导致死循环,所以这种情况拿出来判断,如果出现这种情况就从用户最喜欢类别中拿出一个番剧。&br&&/p&&h2&本项目的完整代码及实现步骤可以在&a href=&/?target=https%3A///courses/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实验楼&i class=&icon-external&&&/i&&/a&查看并在线完成:&a href=&/?target=https%3A///courses/633& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于 Flask 与 MySQL 实现番剧推荐系统&i class=&icon-external&&&/i&&/a&&/h2&&h2&更多Python经典项目:&a href=&/?target=https%3A///courses/%3Ftag%3DPython& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python全部 - 课程&i class=&icon-external&&&/i&&/a&&/h2&&img src=&/v2-9e9f8eceab4a2c99cc3f9247_b.jpeg& data-rawwidth=&720& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&/v2-9e9f8eceab4a2c99cc3f9247_r.jpeg&&
一、项目简介1.1 介绍本项目是基于 Python 的 Flask 框架和 MySQL 实现的简单的番剧推荐系统。在课程中我们将学到如何用 Python 连接 MySQL 数据库,如何查询和展示数据及设计推荐算法等知识。 课程由发布在,完整教程及在线练习地址:
这个领域在学界研究时间不短了,但是在商业和工业界似乎关注度不高(增加成本又不带来收益)。苹果这个举动应该会带动行业对隐私保护的关注,尤其是通信和互联网企业应该会在这个领域会开始布局。&br&具体到创业,如果在隐私保护这个领域有资源(客户、专家、专业能力等等),可能会有机会,一点想法:&br&&ul&&li&做产品:从软件产品角度,基于差分隐私算法做个数据库前置的中间件,能响应数据分析的查询,但是返回的数据是加噪的。 切入市场的难度可能会高一些,客户是谁,在哪里是个问题,可能会有较长时间的培育。&br&&/li&&li&做咨询和项目:组合一下这领域的专家,搞个联盟/工作组之类,架个网站(或者搞个微信公众号)把隐私保护的专业知识包装下,针对数据安全和隐私保护领域做咨询和培训,有项目就接项目。这样的切入难度不会太高。等对市场判断成熟后,投入做个产品。&br&&/li&&li&如果运作能力强,跟国家的行业标准、行政许可挂上钩,做专业测评。&br&&/li&&/ul&整体感觉这块还是蓝海,商业领域国内还没有什么机构在做,现在起步没准是个好时机。&br&&a href=&///?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& 这家英国公司的商业模式可以参考下
这个领域在学界研究时间不短了,但是在商业和工业界似乎关注度不高(增加成本又不带来收益)。苹果这个举动应该会带动行业对隐私保护的关注,尤其是通信和互联网企业应该会在这个领域会开始布局。 具体到创业,如果在隐私保护这个领域有资源(客户、专家、…
前阵子在Coursera上了infographic的课(&a href=&///?target=https%3A//www.coursera.org/learn/infographic-design/home/welcome& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&coursera.org/learn/info&/span&&span class=&invisible&&graphic-design/home/welcome&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&),课上涉及了几个,觉得应该适用于对编程语言不熟悉也不大会用AI的小朋友&br&&br&&a href=&///?target=https%3A//plot.ly/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Plotly&i class=&icon-external&&&/i&&/a&&br&很方便的一点是和R, python, Excel等常见的数据处理软件/语言之间都是有API接过去&br&&img src=&/7d1d32f205ade4c1f9236a_b.png& data-rawwidth=&1440& data-rawheight=&833& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/7d1d32f205ade4c1f9236a_r.png&&&br&&br&&a href=&///?target=http%3A//datavisu.al/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Datavisual&i class=&icon-external&&&/i&&/a&&br&&img src=&/2ca6d74e632a0ffcfbfbb5_b.png& data-rawwidth=&1440& data-rawheight=&837& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/2ca6d74e632a0ffcfbfbb5_r.png&&&br&&br&&a href=&///?target=http%3A//infogr.am/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Infogra.am&i class=&icon-external&&&/i&&/a&&br&&img src=&/d5dda17b_b.png& data-rawwidth=&1440& data-rawheight=&838& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/d5dda17b_r.png&&&br&&br&下面这几个应该比较符合大家对infographic的普遍预期,相比传统的数据可视化要有趣很多&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PiktoChart&i class=&icon-external&&&/i&&/a&&br&&img src=&/8bed3cf41fa_b.png& data-rawwidth=&1440& data-rawheight=&835& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/8bed3cf41fa_r.png&&&br&&br&&a href=&///?target=https%3A//www.easel.ly/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Easel.ly&i class=&icon-external&&&/i&&/a&&br&&img src=&/c56ab91fcbc12c9be4ea_b.png& data-rawwidth=&1440& data-rawheight=&837& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/c56ab91fcbc12c9be4ea_r.png&&&br&&br&著名的tableau的public version&br&&a href=&///?target=https%3A///s/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tableau Public&i class=&icon-external&&&/i&&/a&&br&&br&&img src=&/3e90dff9d19ee990406bbfa456f8efeb_b.png& data-rawwidth=&1440& data-rawheight=&837& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/3e90dff9d19ee990406bbfa456f8efeb_r.png&&&br&&br&&a href=&///?target=http%3A//www.visme.co/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Visme&i class=&icon-external&&&/i&&/a&&br&Visme有个Blog非常好,很多人特别在意infographic是因为觉得表现形式看起来特别高级,其实内在的思路非常重要,要养成如何正确看待数据、发现数据之间的内在联系的好习惯&br&&a href=&///?target=http%3A//blog.visme.co& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Visual Learning Center by Visme, Infographics & Presentation Resources&i class=&icon-external&&&/i&&/a&&br&&img src=&/fc48ca6de6638bbb8748ddc30dca0c12_b.png& data-rawwidth=&1440& data-rawheight=&831& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/fc48ca6de6638bbb8748ddc30dca0c12_r.png&&&br&&br&&a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Canva&i class=&icon-external&&&/i&&/a&&br&偏图形设计,其实适合用来做Presentation多一点,也可以用于infographic后期的美化&br&&img src=&/bbd31affcb_b.png& data-rawwidth=&1440& data-rawheight=&839& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/bbd31affcb_r.png&&&br&&br&*免费账号的模版应该就够用了,如果日常工作有特别强的需求的话,再考虑付费版本
前阵子在Coursera上了infographic的课(),课上涉及了几个,觉得应该适用于对编程语言不熟悉也不大会用AI的小朋友
很方便的一点是和R, python, Excel等常见的数据处理软件/语言之间…
作者:张浩彬&br&链接:&a href=&/question//answer/& class=&internal&&在数据分析、挖掘方面,有哪些好书值得推荐? - 张浩彬的回答&/a&&br&来源:知乎&br&著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。&br&&br&&p&&b&我也来分享一个自己的书单:&/b&&/p&&p&#关于这份学习清单#&/p&&p&我会按照基础到入门给出详细推荐,并且附上个人点评。&strong&同时尽量做到各个资料在内容上并不重复(即使内容上有重复,也会在难度上做出区分)&/strong&,希望可以以最直接的方式告诉大家应该怎么选择。&/p&&p&Ps:这是第一版学习指南,由于最近时间比较紧张,预计在第二版中会加入业务材料的推荐和更多的学习索引,欢迎关注。&/p&&br&&br&&strong&&em&1&/em&&/strong&&strong&先验知识
&/strong&&br&&p&由于统计学概率论甚至到机器学习会对数学基础有一定要求,所以这里给出一些先验知识的内容推荐,主要是矩阵方面。&/p&&p&&strong&1.1
&/strong&&strong&课程&/strong&&/p&&p&&strong&可汗学院公开课:线性代数课程&/strong&&/p&&img src=&/537a170fb299d937d68b91df71d9449a_b.png& data-rawwidth=&600& data-rawheight=&334& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/537a170fb299d937d68b91df71d9449a_r.png&&&p&&a href=&///?target=http%3A///special/Khan/linearalgebra.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&可汗学院公开课:线性代数&i class=&icon-external&&&/i&&/a&&br&&/p&&p&因为网易公开课有翻译,这里是中文字幕课程链接,这里真要给网易100个赞,字幕做得很好。&br&&/p&&p&“可汗学院(Khan Academy),是由孟加拉裔美国人萨尔曼·可汗创立的一家教育性非营利组织,主旨在于利用网络影片进行免费授课,现有关于数学、历史、金融、物理、化学、生物、天文学等科目的内容,教学影片超过2000段,机构的使命是加快各年龄学生的学习速度。”&/p&&p&&strong&1.2 参考书籍&/strong&&/p&&p&&strong&(1)线性代数
豆瓣评分7.3&/strong&&/p&&img src=&/d490bc579b1ba95de7d4a12cafc20ed2_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&p&清华居余马老师的线性代数教材,比较经典的教材了,里面的知识足够支撑我们后续统计分析和机器学习需要。&/p&&p&&strong&(2)高等代数 豆瓣评分8.1&/strong&&/p&&img src=&/bf0ecfeee98f74_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&br&&p&相比于线性代数,高等代数更加深入,一般线性代数为非数学专业所用,数学类专业一般学习高等代数。不过一般情况下,线性代数也足够使用了。&/p&&p&当然,在后续学习中有些算法也会用到微积分的知识,但是都比较基础,因此遇到不懂的时候直接查资料即可,就没有特定推荐材料了。&/p&&br&&br&&br&&strong&&em&2&/em&&/strong&&strong&统计分析学习资料
&/strong&&br&&p&&strong&2.1 统计学/概率课程&/strong&&/p&&p&同样推荐可汗学院的统计学和概率课程,而且刚好这两门课程也被网易公开课进行了翻译:&/p&&p&&strong&(1)
可汗学院公开课:统计学&/strong&&/p&&img src=&/aff1ae85b3b0f10a25b12b_b.jpg& data-rawwidth=&937& data-rawheight=&310& class=&origin_image zh-lightbox-thumb& width=&937& data-original=&/aff1ae85b3b0f10a25b12b_r.jpg&&&p&&a href=&///?target=http%3A///special/Khan/khstatistics.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&可汗学院公开课:统计学&i class=&icon-external&&&/i&&/a&&/p&&p&&strong&(2)
可汗学院公开课:概率&/strong&&/p&&img src=&/f84d488f6c6f94e07f259ca65ea32859_b.jpg& data-rawwidth=&935& data-rawheight=&306& class=&origin_image zh-lightbox-thumb& width=&935& data-original=&/f84d488f6c6f94e07f259ca65ea32859_r.jpg&&&p&&a href=&///?target=http%3A///special/Khan/probability.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&可汗学院公开课:概率&i class=&icon-external&&&/i&&/a&&/p&&p&&br&这两本课程总体不算太难,&strong&适合入门&/strong&。个人觉得讲授还是蛮有特点的,粗暴直接,另外举的例子也是蛮有趣的。&/p&&br&&p&&strong&2.2统计学/概率参考书&/strong&&/p&&p&&strong&(1)统计学
豆瓣评分8.8&/strong&&br&作者William Mendenhall / Terry Sincich&/p&&p&&img src=&/68d1b4e513da59d1a32da_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&“《统计学(原书第5版)》内容丰富,很少涉及统计学理论的严格数学证明,绝大部分是与实际应用紧密联系的例子和练习,适合作为理工科各专业本科生、研究生的统计学教材,也可作为相关领域研究人员的参考读物。”&/p&&p&非常注重实用的统计学课程,偏应用,少数学证明,&strong&可读性比较强&/strong&;&br&&br&&strong&(2)统计学
豆瓣评分7.3&/strong&&br&作者:贾俊平,何晓群,金勇进&br&&img src=&/e98a11ab29d7ece8c9eb704_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&统计比较通用的入门教材了,不知不觉竟然到了第六版,个人认为也算是兼顾数学证明和应用,可读性没有上面强,但是也非常的通俗易懂,有很多统计学专业的起始教材也会选择这本。&br&&br&&strong&(3)统计推断
&strong&豆瓣评分8.8,/英本原本9.2&/strong&&/strong&&br&作者:William Mendenhall / Terry Sincich&br&&img src=&/4455cdd6bfc9e280b6983aec69951d18_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&strong&非常经典经典的统计学教材&/strong&,借用介绍“从概率论的基础开始,通过例子与习题的旁征博引,引进了大量近代统计处理的新技术和一些国内同类教材中不常见而又广为使用的分布。其内容既包括工科概率入门、经典统计和现代统计的基础,又加进了不少近代统计中数据处理的实用方法和思想”&br&&strong&可以作为研究生所用教材,有深度,但是作者循序渐进,解释得非常漂亮&/strong&&/p&&br&&br&&strong&&em&3&/em&&/strong&&strong&机器学习资料
&/strong&&br&&p&&strong&3.1机器学习课程&/strong&&/p&&p&强烈推荐Andrew NG吴恩达的斯坦福机器学习课程,英文授课,但是已有完善的中文字幕,内容非常丰富且充实(20节),并且讲解得非常的好,如果你想学习机器学习,一定不能错过!&/p&&img src=&/6581d97dcd86fe2ae0f17_b.jpg& data-rawwidth=&748& data-rawheight=&377& class=&origin_image zh-lightbox-thumb& width=&748& data-original=&/6581d97dcd86fe2ae0f17_r.jpg&&&p&Coursera地址:&/p&&p&&a href=&///?target=https%3A//www.coursera.org/learn/machine-learning%23& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Coursera - Free Online Courses From Top Universities&i class=&icon-external&&&/i&&/a&&/p&&p&网易公开课地址:&/p&&p&&a href=&///?target=http%3A///special/opencourse/machinelearning.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&斯坦福大学公开课 :机器学习课程&i class=&icon-external&&&/i&&/a&&/p&&br&&p&同时该课程配有&strong&课件讲义&/strong&,同样建议大家在学习视频课程之余多看讲义和习题,虽然是英文,但是阅读上基本没有什么问题,就讲义本身也是非常的棒。&/p&&p&如果大家学习完Andrew NG的机器学习,还想通过其他课程触类旁通,相互借鉴的话,可以上Coursera上门搜索还有其他选择,例如台大的机器学习基础等等,但毫无疑问首推Andrew NG的课程;&/p&&p&另外现在国内也有越来越多的培训网站推出相关课程,大家有兴趣的可以自己搜搜,这里就不做推荐了;&/p&&br&&p&&strong&3.2机器学习教材&/strong&&/p&&p&&strong&(1)数据挖掘导论
&strong&豆瓣评分8.4,/英本原本8.8&/strong&&/strong&&/p&&p&作者: Pang-Ning Tan、Michael Steinbach、Vipin Kumar&/p&&img src=&/058cbb12a527c7a8308ca0_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&p&介绍得非常&strong&全面&/strong&的一本书,但可能因为需要涵盖的内容太多,所以难免有些算法只能简单介绍。尽管这样,个人认为也是非常难得一见的入门教材,有一定难度。这本书从简单的数据开始,到各种分类算法,聚类算法,关联规则都有相对完整的指引,我认为对于我们&strong&构建自身的统计挖掘体系&/strong&是有很大的帮助。中文版本翻译还是挺好的,但是英文原版那是极好的。&/p&&br&&p&&strong&(2)统计学习方法
豆瓣评分:8.9&/strong&&/p&&p&作者:李航&/p&&img src=&/90e05ae9fd66ad_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&p&个人认为中文教材里面少见的精品,虽然精简,但逻辑非常的清晰,非常详细地为我们剖析了算法原理,可能不太适合入门者,但是还是非常值得&strong&推荐阅读学习&/strong&,建议将《数据挖掘导论》以及《统计学习方法》相互借鉴学习&/p&&br&&p&&strong&(3)The Elements of Statistical Learning(统计学习基础)&/strong&&/p&&p&&strong&豆瓣英本原版评分9.4 中文评分7.4&/strong&&/p&&img src=&/cfc2dc38da71ca05f9d2385c2bfe880b_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&p&作者:Trevor Hastie&/p&&p&这本书被广大人民喜称为ESL,虽然书名是统计学习基础,但是此书一点都不基础,一点都不~另外此书还有一本专门的入门版本ISL(后面会介绍)&/p&&p&这本书涵盖了非常多的内容,讲解深入,有人评价说,“有了这本书就不需要其他机器学习教材”,虽然有点夸张,但是此书实际是机器学习的&strong&经典巨作&/strong&,如果你真的希望好好研究机器学习,此书非常值得仔细研读,另外此书要求不低的统计理论和数学基础。&/p&&p&此外,这本书还有一个牛逼的地方在于,作者把书放在&strong&网上免费下载:&/strong&&/p&&p&&a href=&///?target=http%3A//statweb.stanford.edu/%7Etibs/ElemStatLearn/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Elements of Statistical Learning: data mining, inference, and prediction.
2nd Edition.&i class=&icon-external&&&/i&&/a&&/p&&br&&br&&br&&br&&p&前面都是一些理论知识,但是数据科学里面实践应用又是另外一个重中之重,接下来谈一下借助工具进行实践应用的问题,由于Python还在整理当中,本次主要介绍&strong&SPSS与R语言&/strong&:&/p&&br&&br&&strong&&em&4&/em&&/strong&&strong&SPSS学习资料
&/strong&&br&&p&考虑到SPSS分为&strong&统计模块Statistics&/strong&以及&strong&数据挖掘模块Modeler&/strong& , 因此也分为两大块介绍&/p&&br&&p&&strong&4.1SPSS统计分析资料&/strong&&/p&&p&SPSS Statistics 市面上的书籍比较多,从我个人的角度,认为&strong&张文彤老师的系列&/strong&足以让大家加深对统计体系的理解,同时也能很好掌握在实际的应用当中如何使用统计分析帮助我们完成任务,我认为掌握统计分析原理实战和SPSS操作,以下两本书足矣。&/p&&p&&strong&(1)
SPSS统计分析基础教程 豆瓣评分8.4&/strong&&/p&&img src=&/312c74fcc47e9f19b3a8_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&p&提供了包括医疗、经济、市场研究等方面的案例贯穿了全书,能够很好从实际应用角度把统计分析原理和SPSS操作结合起来,也提供了很好的结果解读,不失为一本极好的&strong&工具指南&/strong&。&/p&&br&&p&&strong&(2)高等学校教材(SPSS统计分析高级教程)豆瓣评分7.7&/strong&&/p&&p&&img src=&/b13cfa056d_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&相比于基础教材,高级教程介绍了更多的统计算法模型,同时也提供了一些统计新方法和新观点的讲解。整体来说直观易懂,能够很好提升&strong&实战能力&/strong&。&/p&&p&另外张文彤老师也有对应视频课程 &strong&《张文彤SPSS初中级教程》&/strong&以及&strong&《张文彤SPSS高级教程》&/strong&&/p&&br&&br&&p&&strong&4.2 SPSS机器学习教程&/strong&&/p&&p&&strong&(1)Modeler官方的帮助文档和Sample文件&/strong&&/p&&img src=&/fdda4c9bd9ffb9_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&p&Modeler提供完备Sample数据和数据建模文件,并且配套中文说明,可以帮助入门者一步一步搭建数据建模流并理解实际应用场景。Modeler提供的帮助文档包括有算法说明,节点说明,Crisp-dm方法论,应用文档等,其中比较重要一本如:《IBM SPSS Modler 应用程序指南》&/p&&br&&p&&strong&(2) IBM SPSS数据分析与挖掘实战案例精粹
豆瓣评分9.3&/strong&&/p&&p&作者:张文彤,钟云飞&/p&&p&&img src=&/9d5fa3eaa16874dec647b2964664caee_b.png& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&非常详尽工具手册,提供了医疗、金融、保险、汽车、快速消费品、市场研究、互联网等多个行业的数据分析/挖掘案例,基于实战需求,详细讲解整个案例的完整分析过程,并将模型和软件的介绍融于案例讲解之中,尤其是书本最后几章&strong&实践案例&/strong&,从商业问题界定到商业应用,给出了非常详尽的&strong&建模指南&/strong&,个人认为目前市面上&strong&Modeler最好的工具手册&/strong&;另外即使不是使用SPSS,而是用其他工具,该书后面的例子也值得大家研读。&/p&&br&&br&&strong&&em&5&/em&&/strong&&strong&R语言学习资料
&/strong&&br&&p&&strong&(1)R语言实战
豆瓣评分8.8&/strong&&/p&&p&作者:Robert I.Kabacoff&/p&&img src=&/9464f26aeea676bfadb942_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&p&首先这本书绝对可以担当&strong&日常工具手册&/strong&,从基本操作,数据处理,数据建模,图形展示都给出了非常详尽的介绍;其次虽然是工具手册,但是能够结合基本统计知识于简单案例,具有&strong&很强实践性&/strong&,强烈建议各位把书中的代码都实现,相信能够大大提升R的功力。最后说一句,此书翻译得不错。&/p&&br&&p&&strong&(2)AnIntroduction to Statistical Learning(统计学习导论)
&/strong&&strong&英本版豆瓣评分9.5,中文版7.6&/strong&&/p&&p&作者:Trevor Hastie,Robert Tibshirani ,Jerome Friedman &/p&&p&&img src=&/ee466b710d02650e44ded_b.jpg& data-rawwidth=&240& data-rawheight=&320& class=&content_image& width=&240&&&br&此书被广大人民群众称为ISL,没错,就是上面&strong&ESL的入门版本&/strong&。无论作为统计教材推荐还是R语言教材推荐都称得上5星的读物。ISL虽然是入门版本,但是绝对不是因为内容简单。深入浅出,内容详细,常常读完有种&strong&恍然大悟&/strong&的感觉,同时能够结合R语言介绍,大大的加分。&/p&&br&&br&&br&&p&&b&最后厚颜无耻地介绍我个人的公众号,wetalkdata&/b&,定期更新数据分析,数据挖掘方法,Statistics以及Modeler操作指南(比帮助手册更详细),而且还有送书活动!&/p&&p&&a href=&///?target=http%3A///r/KEhPVwXE2VimrUE09x06& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/r/KEhPVwX&/span&&span class=&invisible&&E2VimrUE09x06&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&
作者:张浩彬 链接: 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我也来分享一个自己的书单:#关于这份学习清单#我会按照基础到入门给出详细推荐,并且…
泻药。。我基本没怎么做过Data Visualization的事情,只能胡乱说说。&br&这个叫数据可视化。我工作过的公司是用很老土的方式做的:手动跑MapReducer Job然后让Reporting组的人清理数据并用d3库做显示。&br&D3是个很神的库,现在在数据可视化方面很热很热:&br&&a href=&///?target=https%3A///mbostock/d3/wiki/Gallery& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Gallery · mbostock/d3 Wiki · GitHub&i class=&icon-external&&&/i&&/a&&br&一般数据量很大的话,无非就是根据某种方式做聚合再筛选。&br&比如Word Cloud图,一般用来显示热搜关键字之类的信息,越大的字说明频率约高。真正的关键字会有千万甚至上亿,你要显示的无非也就是几十个。&br&如果跑类似Hive的SQL-On-Hadoop系统,你大致可以这么写:&br&&div class=&highlight&&&pre&&code class=&language-text&&SELECT keyword, COUNT(*) AS cnt
FROM search_log
GROUP BY keyword
ORDER BY cnt DESC
&/code&&/pre&&/div&这样你就得到了最热关键字的前50个,并按照频度排序。&br&然后调用预封装的d3接口,这个接口会接受一个关键字加词频的数据文件,并按照Word Cloud的方式显示,你就会得到类似这个例子的效果:&br&&img src=&/47bea2a7f1b42ae9c8f70bd_b.jpg& data-rawwidth=&781& data-rawheight=&401& class=&origin_image zh-lightbox-thumb& width=&781& data-original=&/47bea2a7f1b42ae9c8f70bd_r.jpg&&而类似百度春运图的东西,也是经过聚合运算和删选过滤。&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&百度迁徙&i class=&icon-external&&&/i&&/a&&br& 可以想象,上面的图是按照两地之间的迁徙作为聚合条件,然后筛选出最热的几百条迁徙路线再在地图数据上画边。&br&比如:&br&&div class=&highlight&&&pre&&code class=&language-text&&SELECT 始发地,目的地, count(*) as cnt
FROM 春运购票数据
GROUP BY 始发地,目的地
ORDER BY cnt DESC
LIMIT 500;
&/code&&/pre&&/div&然后d3也有类似这样的例子可以显示地图信息:&br&&a href=&///?target=http%3A//mbostock.github.io/d3/talk//airports.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&mbostock.github.io/d3/t&/span&&span class=&invisible&&alk//airports.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&至于上面问题里的话题相关度可视化,虽然也是聚合筛选,但是从原始数据计算相关度并聚类(Clustering)本身,可能就是个很麻烦的问题,是数据挖掘信息获取中专门的一个话题。要处理这个东西可能要写复杂的MapReduce Job才能得到好看的图,而不是向上面两个例子那样几行Hive Query就解决了。&br&&br&这是老土手动的方式处理并显示数据的。&br&高帅富也可以选择商业解决方案,比如&br&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Datameer | Big Data Analytics&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///product/big-data-analytics& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&/&i class=&icon-external&&&/i&&/a&
泻药。。我基本没怎么做过Data Visualization的事情,只能胡乱说说。 这个叫数据可视化。我工作过的公司是用很老土的方式做的:手动跑MapReducer Job然后让Reporting组的人清理数据并用d3库做显示。 D3是个很神的库,现在在数据可视化方面很热很热:
&p&&b&1. &/b&&b&比赛初体验&/b&&/p&&p&去年作为一名毫无实战经验菜鸟参加了天池穿衣搭配,最终意外地取得不错成绩Top3(其实我们前期一直是第一啦~~,关键还是看最后,除了多拿了点周星星奖品外,所以不要骄傲前期取得的优势),谁说菜鸟不能取得好成绩,只要你努力,一切皆有可能! 或许对于新手来说前期会比较艰辛,熬过去坚持下来必有所收获,有时你也需要给力队友。&/p&&p&穿衣搭配比赛也是我全身心投入的第一场比赛,有过与小伙伴奋斗通宵,每天10点坐等排行榜更新,刷排行榜都快把键盘F5擦没了。有时会因为线下成绩提升兴奋地睡不着,然而第二天线上评测下降而蛋疼,重新定位错误改算法。这里必须提到一点是,数据挖掘类比赛搭建有效一致的线下评测尤为关键。&/p&&br&&p&&b&2. &/b&&b&能学到什么&/b&&/p&&p&如果你了解过这次比赛,你会发现这次天池比赛的趣味性与挑战性挺大,涉及到自然语言处理,图像深度学习以及排序优化等搜索技术相关内容。为了做好这次比赛,需要自学相关内容,比如简单的TF-IDF向量化文本,通过cos计算相似来评价商品相关性,目前自然语言处理来评价文本搜索相关性在kaggle有个非常值得推荐的一个比赛&a href=&///?target=https%3A///c/crowdflower-search-relevance& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Crowdflower Search Results Relevance&i class=&icon-external&&&/i&&/a&,github有冠军源码。由于题目提供图像数据 ,需要图像深度学习知识,比如卷积神经网络降维提取图像特征做以图搜图技术,线下可以用VGG-net和caffe等工具,后来发现python的Keras也挺好用的。为了做好排序会去研究Learning to Rank算法,比如目前排序场景中效果很好的Listwise方法LambdaMART,不过由于题目数据特征所限,最终我们只能采用简单而有效的Pointwise方式的分类器GDBT预测方案,线下学到的高大上方法在比赛中效果有时并不好,需要坚持也需要Plan B。但高大上知识在找工作面试中特别有用,会让你优秀地让面试官无法直视。天池比赛有时需要模型算法,更重要的是注重业务,根据业务知识提取特征,特别是统计特征,可能没参加比赛前很难理解&b&特征决定上限&/b&的这个真理。天池复赛是真正意义上的大数据,提供海量数据和免费使用天池ODPS机会,可以采用MapReduce或者ODPS的Hive自定义函数进行分布式机器学习任务,在特征提取采用MapReduce非常方便,能同时调用几千个节点甚至几万个节点,这真的非常cool & 过瘾,期间也会遇到数据倾斜问题,如何解决非常有挑战性。如果能进入比赛答辩还有进一步提升机会,赛后交流能了解更多大神思路,比如多模型融合Ensemble技术,之前我们只用单模型,羞愧ing~~,Ensemble真是数据挖掘类比赛的惯用套路,教程: &a href=&///?target=http%3A///kaggle-ensembling-guide/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Kaggle Ensembling Guide&i class=&icon-external&&&/i&&/a&&/p&&br&&p&&b&3. &/b&&b&潜在福利&/b&&/p&&p&貌似天池比赛只区分第一与非第一(奖金而言),其实没拿到第一,钱不是那么重要, Top5能参加官方高格的答辩会,最最最重要的是能认识大神!认识大神!认识大神!(重要3遍),拓展朋友圈,比如阿里星(数据江)、天音大神(积分榜Top3)等等。再说比赛的好处吧,比赛成绩好对工作面试极有好处(而且阿里对天池比赛也很认可,Top10具备校招直接终面资格),根据实习面试反馈,面试很注重项目和实战经验,天池比赛无疑非常贴近实际业务场景,而且玩过天池复赛自动get相关分布式处理技能,个人感觉影响力而言Kaggle & 天池 & 国内其他数据比赛平台,而且随着天池宣传与普及,天池参赛人员越来越多,含金量会越来越重。&/p&&br&&p&&b&4. &/b&&b&可能是不痛不痒的建议&/b&&/p&&p&对于新手入门建议(老鸟请忽略)&/p&&p&1. 李航的《统计学习方法》(讲真,看3遍没错),Ng机器学习教程&/p&&p&2. 可以去Github上学习Kaggle冠军代码,说实话冠军代码质量高得没得说,可能方法有套路,但是特征提取确实值得学习研究,必须好评&/p&&p&3. 掌握相关分布式技术Hadoop、MapReduce,Hive等技术和原理&/p&&p&4. 参加天池等大数据比赛,实践出真知,打比赛最好的时间是研一,其次是现在(本人目前研二)。&/p&
1. 比赛初体验去年作为一名毫无实战经验菜鸟参加了天池穿衣搭配,最终意外地取得不错成绩Top3(其实我们前期一直是第一啦~~,关键还是看最后,除了多拿了点周星星奖品外,所以不要骄傲前期取得的优势),谁说菜鸟不能取得好成绩,只要你努力,一切皆有可能!…
以下摘自网络:&br&&br&&br&一、Excel&br&&br&Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建供内部使用的数据图,但是Excel在颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图。&br&&br&二、Google Chart API&br&&br&Google Chart提供了一种非常完美的方式来可视化数据,提供了大量现成的图标类型,从简单的线图表到复杂的分层树地图等。它还内置了动画和用户交互控制。&br&&br&三、D3&br&&br&D3(Data Driven Documents)是支持SVG渲染的另一种JavaScript库。但是D3能够提供大量线性图和条形图之外的复杂图表样式,例如Voronoi图、树形图、圆形集群和单词云等。&br&&br&四、R&br&&br&R语言是主要用于统计分析、绘图的语言和操作环境。虽然R主要用于统计分析或者开发统计相关的软件,但也有用作矩阵计算。其分析速度可比美GNUOctave甚至商业软件MATLAB。&br&&br&五、&a href=&///?target=http%3A//Visual.ly& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&Visual.ly&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&如果你需要制作信息图而不仅仅是数据可视化,&a href=&///?target=http%3A//Visual.ly& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&Visual.ly&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&是最流行的一个选择。&br&&br&六、Processing&br&&br&Processing是数据可视化的招牌工具。你只需要编写一些简单的代码,然后编译成Java。Processing可以在几乎所有平台上运行。&br&&br&七、Leaflet&br&&br&Leaflet是一个开源的JavaScript库,用来开发移动友好地交互地图。&br&&br&八、Openlayers&br&&br&Openlayers可能是所有地图库中可靠性最高的一个。虽然文档注释并不完善。且学习曲线非常陡峭,但是对于特定的任务来说,Openlayers能够提供一些其他地图库都没有的特殊工具。&br&&br&九、PolyMaps&br&&br&PolyMaps是一个地图库,主要面向数据可视化用户。PolyMaps在地图风格化方面有独到之处,类似CSS样式表的选择器。&br&&br&十、Charting Fonts&br&&br&Charting Fonts是将符号字体与字体整合(把符号变成字体),创建出漂亮的矢量化图标。&br&&br&十一、Gephi&br&&br&Gephi是进行社会图谱数据可视化分析的工具,不但能处理大规模数据集并且Gephi是一个可视化的网络探索平台,用于构建动态的、分层的数据图表。&br&&br&十二、CartoDB&br&&br&CartoDB是一个不可错过的网站,你可以用CartoDB很轻易就把表格数据和地图关联起来,这方面CartoDB是最优秀的选择。&br&&br&十三、Weka&br&&br&Weka是一个能根据属性分类和集群大量数据的优秀工具,Weka不但是数据分析的强大工具,还能生成一些简单的图表。&br&&br&十四、NodeBox&br&&br&NodeBox是OS X上创建二维图形和可视化的应用程序,你需要了解Python程序,NodeBox与Processing类似,但没有Processing的互动功能。&a href=&///?target=https%3A//www.nodebox.net/code/index.php/Home& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&nodebox.net/code/index.&/span&&span class=&invisible&&php/Home&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&十五、Kartograph&br&&br&Kartograph不需要任何地图提供者像Google Maps,用来建立互动式地图,由两个libraries组成,从空间数据开放格式,利用向量投影的Python library以及post GIS,并将两者结合到SVG和JavaScript library,并把这些SVG资料转变成互动性地图。&br&&br&十六、Modest Maps&br&&br&Modest Maps是一个很小的地图库,在一些扩展库的配合下,例如Wax、Modest Maps立刻会变成一个强大的地图工具。&br&&br&十七、Tangle&br&&br&Tangle是一个用来探索,Play和可以立即查看文档更新的交互工具。&br&&br&十八、Crossfilter&br&&br&Crossfilter既是图表,又是互动图形用户界面的小程序,当你调整一个图表中的输入范围时,其他关联图表的数据也会随之改变&br&&br&十九、Raphael&br&&br&Raphael是创建图表和图形的JavaScript库,与其他库最大的不同是输出格式仅限SVG和VML.&a href=&///?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&二十、jsDraw2DX&br&&br&jsDraw2DX是一个标准的JavaScript库,用来创建任意类型的SVG交互式图形,可生成包括线、矩形、多边形、椭圆、弧线等图形。&a href=&///?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&二十一、Pizza Pie Charts&br&&br&Pizza Pie Charts是个响应式饼图图表,基于Adobe Snap SVG框架,通过HTML标记和CSS来替代JavaScript对象,更容易集成各种先进的技术。&br&&br&二十二、Fusion Charts Suit XT&br&&br&Fusion Charts Suit XT是一款跨平台、跨浏览器的JavaScript图表组件,为你提供令人愉悦的JavaScript图表体验。它是最全面的图表解决方案,包含90+图表类型和众多交互功能,包括3D、各种仪表、工具提示、向下钻取、缩放和滚动等。它拥有完整的文档以及现成的演示,可以帮助你快速创建图表。&br&&br&二十三、iCharts&br&&br&iCharts提供可一个用于创建并呈现引人注目图表的托管解决方案。有许多不同种类的图表可供选择,每种类型都完全可定制,以适合网站的主题。iCharts有交互元素,可以从Google Doc、Excel表单和其他来源中获取数据。&br&&br&二十四、Modest Maps&br&&br&Modest Maps是一个轻量级、可扩展的、可定制的和免费的地图显示类库,这个类库能帮助开发人员在他们自己的项目里能够与地图进行交互。&br&&br&二十五、Raw&br&&br&Raw局域非常流行的D3.js库开发,支持很多图表类型,例如泡泡图、映射图、环图等。它可以使数据集在途、复制、粘贴、拖曳、删除于一体,并且允许我们定制化试图和层次。&br&&br&二十六、Springy&br&&br&Springy设计清凉并且简答。它提供了一个抽象的图形处理和计算的布局,支持Canvas、SVG、WebGL、HTML元素。&br&&br&二十七、Bonsai&br&&br&Bonsai使用SVG作为输出方式来生成图形和动画效果,拥有非常完整的图形处理API,可以使得你更加方便的处理图形效果。它还支持渐变和过滤器(灰度、模糊、不透明度)等效果。&br&&br&二十八、Cube&br&&br&Cube是一个开源的系统,用来可视化时间系列数据。它是基于MongoDB、NodeJS和D3.js开发。用户可以使用它为内部仪表板构建实时可视化的仪表板指标。&br&&br&二十九、Gantti&br&&br&Gantti是一个开源的PHP类,帮助用户即时生成Gantti图表。使用Gantti创建图表无需使用JavaScript,纯HTML-CSS3实现。图表默认输出非常漂亮,但用户可以自定义样式进行输出(SASS样式表)。&br&&br&三十、Smoothie Charts&br&&br&Smoothie Charts是一个十分小的动态流数据图表路。通过推送一个webSocket来显示实时数据流。Smoothie Charts只支持Chorme和Safari浏览器,并且不支持刻印文字或饼图,它很擅长显示流媒体数据。&br&&br&三十一、Flot&br&&br&Flot是一个优秀的线框图表库,支持所有支持canvas的浏览器(目前主流的浏览器如火狐、IE、Chrome等都支持)。&br&&br&三十二、Tableau Public&br&&br&Tableau Public是一款桌面可视化工具,用户可以创建自己的数据可视化,并将交互性数据可视化发布到网页上。&br&&br&三十三、Many Eyes&br&&br&Many Eyes是一个Web应用程序,用来创建、分享和讨论用户上传图形数据。&br&&br&三十四、Anychart&br&&br&Anychart是一个灵活的基于Flash/JavaScript(HTML5)的图表解决方案、跨浏览器、跨平台。除了图表功能外,它还有一款收费的交互式图表和仪表。&br&&br&三十五、Dundas Chart&br&&br&Dundas Chart处于行业领先地位的NET图表处理控件,于2009年被微软收购,并将图表产品的一部分功能集成到Visual Studio中。&br&&br&三十六、TimeFlow&br&&br&TimeFlow Analytical Timeline是为了暂时性资料的视觉化工具,现在有alpha版本因此有机会可以发现差错,提供以下不同的呈现方式:时间轴、日历、柱状图、表格等。&br&&br&三十七、Protovis&br&&br&Protovis是一个可视化JavaScript图表生成工具。&br&&br&三十八、Choosel&br&&br&Choosel是可扩展的模块化Google网络工具框架,可用来创建基于网络的整合了数据工作台和信息图表的可视化平台。&br&&br&三十九、Zoho Reports&br&&br&Zoho Reports支持丰富的功能帮助不同的用户解决各种个性化需求,支持SQL查询、类四暗自表格界面等。&br&&br&四十、Quantum GIS(QDIS)&br&&br&Quantum GIS(QDIS)是一个用户界面友好、开源代码的GIS客户端程序,支持数据的可视化、管理、编辑与分析和印刷地图的制作。&br&&br&四十一、NodeXL&br&&br&NodeXLDE主要功能是社交网络可视化。&br&&br&四十二、OpenStreetMap&br&&br&OpenStreetMap是一个世界地图,由像您一样的人们所构筑,可依据开放协议自由使用。&br&&br&四十三、OpenHeatMap&br&&br&OpenHeatMap简单易用,用户可以用它上传数据、创建地图、交流信息。它可以把数据(如Google Spreadsheet的表单)转化为交互式的地图应用,并在网上分享。&br&&br&四十四、Circos&br&&br&Circos最初主要用于基因组序列相关数据的可视化,目前已应用于多个领域,例如:影视作品中的人物关系分析,物流公司的订单来源和流向分析等,大多数关系型数据都可以尝试用Circos来可视化。&br&&br&四十五、Impure&br&&br&Impure是一个可视化编程语言,旨在收集、处理可视化信息。&br&&br&四十六、Polymaps&br&&br&Polymaps是一个基于矢量和tile创建动态、交互式的动态地图。&br&&br&四十七、Rickshaw&br&&br&Rickshaw是一个基于D3.JS来创建序交互式的时间序列图表库。&br&&br&四十八、Sigma.js&br&&br&Sigma.js是一个开源的轻量级库,用来显示交互式的静态和动态图表。&br&&br&四十九、Timeline&br&&br&Timeline即时间轴,用户通过这个工具可以一目了然的知道自己在何时做了什么。&br&&br&五十、BirdEye&br&&br&BirdEye是Decearative Visual Analytics,它属于一个群体专案,为了要提升设计和广泛的开源资料视觉化发展,并且为了Adobe Flex建视觉分析图库,这个动作以叙述性的资料库为主,让使用者能够建立多元资料视觉化界面来分析以及呈现资讯。&br&&br&五十一、Arbor.Js&br&&br&Arbor.Js提供有效率、以力导向的版面配置演算法,抽象画图表组织以及筛选更新的处理。&br&&br&五十二、Highchart.js&br&&br&Highchart.js是单纯由JavaScript所写的图表资料库,提供简单的方法来增加互动性图表来表达你的网站或网站应用程式。目前它能支援线图、样条函数图。&br&&br&五十三、Paper.js&br&&br&Paper.js是一个开源向量图表叙述架构,能够在HTML5 Canvas 运作,对于初学者来说它是很容易学习的,其中也有很多专业面向可以提供中阶及高阶使用者。&br&&br&五十四、Visualize Free&br&&br&Visualize Free是一个建立在高阶商业后台集游InetScoft开发的视觉化软体免费的视觉分析工具,可从多元变量资料筛选并看其趋势,或是利用简单地点及方法来切割资料或是小范围的资料。&br&&br&五十五、GeoCommons&br&&br&GeoCommons可以使用户构建富交互可视化应用来解决问题,即使他们没有任何传统地图使用经验。你可以将实社会化数据或者GeoCommons保存的超5万份开源数据在地图上可视化,创造带交互的可视化分析作品,并将作品嵌入网站、博客或分享到社交网络上。&br&&br&&br&&br&传统的数据可视化工具仅仅将数据加以组合,通过不同的展现方式提供给用户,用于发现数据之间的关联信息。近年来,随着云和大数据时代的来临,数据可 视化产品已经不再满足于使用传统的数据可视化工具来对数据仓库中的数据抽取、归纳并简单的展现。新型的数据可视化产品必须满足互联网爆发的大数据需求,必须快速的收集、筛选、分析、归纳、展现决策者所需要的信息,并根据新增的数据进行实时更新。
以下摘自网络: 一、Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建供内部使用的数据图,但是Excel在颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图。 二、Google Chart API Go…
&p&&b&项目构建,管理,jar包下载,现在发现了一个很有趣的功能,下载source并关联source&/b&&/p&&p&&b&mvn compile
下载jar 并编译项目&/b&&/p&&p&&b&mvn test 执行test&/b&&/p&&p&mvn dependency:source 尝试下载source文件&/p&&p&&b&mvn eclipse:eclipse 生成eclipse的工程配置文件&/b&&/p&&p&&b&---------------------------------------------------------------------------------------&/b&&/p&&p&&b&只有当你真正的将maven用起来的时候才会真正体会到maven的作用。&/b&&/p&&p&&b&来,跟我做:&/b&&/p&&p&&b&1)下载maven ,我们可以到maven的官网上去下,鉴于我以及一些英语差的人在第一步就被卡死了,贴上连接&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&/s/1hry0DJe
&/code&&/pre&&/div&&img src=&/c9cd6eaf44_b.png& data-rawwidth=&893& data-rawheight=&185& class=&origin_image zh-lightbox-thumb& width=&893& data-original=&/c9cd6eaf44_r.png&&&p&2)&b&解压maven&/b&&/p&&p&&b&当我们下载好maven以后,进行解压&/b&&/p&&p&&b&&img src=&/8aa4bb431e9aabccb9643107_b.png& data-rawwidth=&776& data-rawheight=&293& class=&origin_image zh-lightbox-thumb& width=&776& data-original=&/8aa4bb431e9aabccb9643107_r.png&&3)设置环境变量,以使cmd执行程序命令的可以查找到该命令文件的位置&/b&&/p&&p&&b&具体设置环境变量的步骤自行百度 &/b&&/p&&p&&b&&img src=&/a9d2a099b97c6b428483ad_b.png& data-rawwidth=&415& data-rawheight=&458& class=&content_image& width=&415&&在path当中添加&/b&&b&;%M2_HOME%\&/b&&/p&&p&&b&4)测试是否成功配置好maven&/b&&/p&&p&&b&&img src=&/796a8bb277e90204edf5570_b.png& data-rawwidth=&817& data-rawheight=&152& class=&origin_image zh-lightbox-thumb& width=&817& data-original=&/796a8bb277e90204edf5570_r.png&&如果看到这个结果,说明你成功了。&/b&&/p&&br&&p&&b&-----------------------------------------下面开始用maven干一些神奇的事情了---------------------------------------&/b&&/p&&br&&p&&b&5)以前我们创建Java工程都是使用eclipse来创建,现在我们可以使用maven来进行创建了。(比如eclipse有个.classpath配置文件,当中就有lib包的路径,在我们用javac命令编译的时候也需要加上
-classpath 或者直接将用的jar包加入java安装目录的classpath当中让程序执行的时候能查找到,此时用maven这些都不用做了,maven可以帮我们做到)&/b&&/p&&br&&p&&b&创建hello_maven文件夹 &/b&&/p&&p&&b&&img src=&/af6b2d3b5e84c83fb0916_b.png& data-rawwidth=&600& data-rawheight=&158& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/af6b2d3b5e84c83fb0916_r.png&&其中target是执行mvn compile之后生成的
当中有java类的编译结果class文件&/b&&/p&&br&&img src=&/13ce5eba322b131b564ea8f70d59b3eb_b.png& data-rawwidth=&636& data-rawheight=&174& class=&origin_image zh-lightbox-thumb& width=&636& data-original=&/13ce5eba322b131b564ea8f70d59b3eb_r.png&&&img src=&/f22ca6acde188b6bcfbc0015_b.png& data-rawwidth=&749& data-rawheight=&178& class=&origin_image zh-lightbox-thumb& width=&749& data-original=&/f22ca6acde188b6bcfbc0015_r.png&&&br&&img src=&/c88ee76c9a1f12f872bceb_b.png& data-rawwidth=&339& data-rawheight=&61& class=&content_image& width=&339&&&img src=&/d5a0bd7cc088b633ed303cc_b.png& data-rawwidth=&972& data-rawheight=&428& class=&origin_image zh-lightbox-thumb& width=&972& data-original=&/d5a0bd7cc088b633ed303cc_r.png&&&img src=&/86ffdf278c37add8cbf06b6bd55caad4_b.png& data-rawwidth=&934& data-rawheight=&317& class=&origin_image zh-lightbox-thumb& width=&934& data-original=&/86ffdf278c37add8cbf06b6bd55caad4_r.png&&因为是初次操作,将会下载maven的一些默认包到本地来,比如我们的pom文件,没有添加任何依赖,在执行的时候仍然下载了一些默认包&br&&div class=&highlight&&&pre&&code class=&language-text&&&?xml version=&1.0& encoding=&utf-8&?&
&project xmlns=&http://maven.apache.org/POM/4.0.0&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&xsi:schemaLocation=&http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd&&
&modelVersion&4.0.0&/modelVersion&
&groupId&zhihu.guowuxin.maven&/groupId&
&artifactId&maven-01&/artifactId&
&version&0.0.1-SNAPSHOT&/version&
&/project&
&/code&&/pre&&/div&&img src=&/2c2201cfe011a62b54c40abf_b.png& data-rawwidth=&778& data-rawheight=&217& class=&origin_image zh-lightbox-thumb& width=&778& data-original=&/2c2201cfe011a62b54c40abf_r.png&&&br&默认包的路径,包括junit包和一些其他配置&br&这个路径是可以改的在setting.xml当中&br&&div class=&highlight&&&pre&&code class=&language-text&&&?xml version=&1.0& encoding=&utf-8&?&
&project xmlns=&http://maven.apache.org/POM/4.0.0&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&xsi:schemaLocation=&http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd&&
&modelVersion&4.0.0&/modelVersion&
&groupId&zhihu.guowuxin.maven&/groupId&
&artifactId&maven-01&/artifactId&
&version&0.0.1-SNAPSHOT&/version&
&dependencies&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&4.10&/version&
&/dependency&
&/dependencies&
&/project&
&/code&&/pre&&/div&&div class=&highlight&&&pre&&code class=&language-text&&package zhihu.guowuxin.
import org.junit.*;
import static org.junit.Assert.*;
public class TestHelloMaven
public void testSayHello(){
final HelloMaven hm = new HelloMaven();
final String str = hm.sayHello(&maven&);
assetEquals(str,&hello:maven&);
&/code&&/pre&&/div&&div class=&highlight&&&pre&&code class=&language-text&&运行mvn
test 就会自动下载包并进行测试
&/code&&/pre&&/div&&br&&img src=&/1ddafdeaadd4c_b.png& data-rawwidth=&719& data-rawheight=&209& class=&origin_image zh-lightbox-thumb& width=&719& data-original=&/1ddafdeaadd4c_r.png&&&br&&img src=&/16df9d656a_b.png& data-rawwidth=&785& data-rawheight=&272& class=&origin_image zh-lightbox-thumb& width=&785& data-original=&/16df9d656a_r.png&&&br&&br&&p&&b&转载一篇答案&/b&&/p&&div class=&highlight&&&pre&&code class=&language-text&&/blog/1066917
&/code&&/pre&&/div&&br&&p&&b&1.
前言&/b&&/p&&p&Maven是apache的一个顶级项目,它的出现越来越影响着现在的众多的开源项目,不仅如此,很多公司的很多新项目都采用Maven提倡的方式进行管理。Maven正逐渐侵入我们原先的管理项目的习惯,对于团队的管理,项目的构建,都是一种质的飞跃。当然是我个人的一些项目经验而说的这话。如果原先的团队老大本身的管理非常科学,也有一套其他软件辅助项目的构建、打包、发布等等一系列机制保证。那么Maven可能对其并没有实质性的影响或者是质的飞跃。当然在此也并不是说咱们中国人做出来的项目就管理不善……只是说利用Maven帮助我们构建项目更科学、更有可维护性、更加模块化、模块功能更加职能单一、做出来的项目更加具有可复用性等等好处。当然笔者也是个刚学习Maven的人,我们一起来学习Maven到底为我们带来了什么好处。笔者邮箱已经给出,欢迎与笔者进行学术上的交流。&/p&&p&&b&2.
Maven的思想&/b&&/p&&p&本来想看完了实战整本,再写总结的,后来觉得还是先写出来吧。哪怕有什么不对的地方再纠正都不晚,就怕到时候看完了一点心得都没有,全忘了就太……所以先将学习的点点滴滴感受写下来,之后结合实例咱们可以反复的推敲。&/p&&p&目前笔者看到的Maven的主要功能是:&b&项目构建;项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理;&/b&&/p&&p&由此可以看出Maven最主要的体现在了哪2个词?——对了,“项目”和“管理”!加在一起就是项目管理。项目管理是一个很抽象的概念。项目管理既可以指技术上的管理手段,也可以指“以人为本”的非技术因素。诚然,无论是技术还是非技术,项目的成败最大的责任人其实就是项目经理。这里我们抛开人为因素不提,仅就技术上来说,Maven提供了一种思想让团队更科学的管理、构建项目。用配置文件的方式对项目的描述、名称、版本号、项目依赖等等信息进行描述。使之项目描述结构清晰,任何人接手的成本比较低。在项目构建时,利用Maven的“约定大于配置”的思想,可以比Ant脚本构建项目省去不少配置文件的内容。而且一个项目可能依赖于其他的项目和第三方的组件才能顺利完成,Maven提供了仓库的概念,让这些依赖项放进仓库中,项目想要从仓库中去取,其他项目组也需要,OK,从仓库中去取,不必每个人去开源项目的站点去苦苦搜寻了。如此人员的成本、软件维护的成本、沟通的成本、硬件的成本都降下来了。客户笑了、公司老板也笑了、项目经理笑了、团队里面的人员也笑了、Apache社区看到这么多人在用也笑了。给笔者的感觉,现在的开源东西越来越向“敏捷开发”、“极限编程”的方向靠拢。通过Maven辅助管理项目,更能发现项目中哪些模块是重复的轮子。&/p&&p&3.
Maven的环境搭建&/p&&p&下面我们来看看Maven的环境搭建。首先从Apache网站下载Maven。下载url是:&a href=&///?target=http%3A//maven.apache.org/download.html%25E3%E7%25AC%%E4%25B8%258B%25E8%25BD%25BD%25E7%259A%%2598%25AFMaven%& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://maven.apache.org/download.html。笔者下载的是Maven 3.0.3&i class=&icon-external&&&/i&&/a&版本。下载下来的包结构如下&br&&br& bin就不用说了,就是Maven的一些命令参数,boot里面是Maven自己的类加载器,咱们也不必理会。conf里面有个settings.xml就是本机Maven的总配置信息。lib是Maven运行时需要的类库。将bin目录和JDK的bin目录一样设置为系统的PATH。这样在命令行就能直接运行Maven指令了。&/p&&p&保持网络畅通,在命令行执行一条语句&/p&&br&Java代码
&br&&ol&&li&mvn help:system
&/li&&/ol&&p& 会从网上下载很多东西,本地用户的临时文件夹,会生成一个临时Maven文件目录,用于存储本地资源仓库。比如在C:\Users\liuyan下面有个文件夹叫做.m2&br&&br&&/p&&p&将刚刚提到的settings.xml拷贝到C:\Users\liuyan\.m2下面,如此Maven就算在本机安装好了。&/p&&p&开发工具的选用,笔者使用的是Myeclipse8.6版本,此IDE已经集成了Maven插件Maven4Myeclipse,仅需要将总配置信息配置上即可。在Myeclipse点击window菜单,打开preferences选项。之后点击到myeclipse的maven4myeclipse节点,如下图所示。&br&&br&&/p&&p&4.
Maven使用入门&/p&&p&首先我们先写一个非常简单的小项目(我们姑且称之为项目啊),项目结构如下图所示&br&&br&&/p&&p&src.main.java是项目代码文件夹、src.test.java是项目单元测试文件夹、src.main.resource是放置项目资源文件、配置文件文件夹。下面我们看项目代码&/p&&p&一个简单的类com.liuyan.maven.helloword.HelloWorld&/p&&br&Java代码
&br&&ol&&li&package com.liuyan.maven.
&/li&&li&public class HelloWorld {
public String sayHello() {
return &hello maven&;
/** &/li&&li&
* @param args &/li&&li&
public static void main(String[] args) {
System.out.println(new HelloWorld().sayHello());
&/li&&li&}
&/li&&/ol&&p& 在此项目的根目录下有一个pom.xml文件,内容如下&/p&&br&Java代码
&br&&ol&&li&&project xmlns=&&a href=&///?target=http%3A//maven.apache.org/POM/4.0.0& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&maven.apache.org/POM/4.&/span&&span class=&invisible&&0.0&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&& xmlns:xsi=&&a href=&///?target=http%3A//www.w3.org/2001/XMLSchema-instance& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&w3.org/2001/XMLSchema-i&/span&&span class=&invisible&&nstance&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&
xsi:schemaLocation=&&a href=&///?target=http%3A//maven.apache.org/POM/4.0.0& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&maven.apache.org/POM/4.&/span&&span class=&invisible&&0.0&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&a href=&///?target=http%3A//maven.apache.org/maven-v4_0_0.xsd& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&maven.apache.org/maven-&/span&&span class=&invisible&&v4_0_0.xsd&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&&
&modelVersion&4.0.0&/modelVersion&
&groupId&com.liuyan.maven&/groupId&
&artifactId&MavenDemo&/artifactId&
&version&0.0.1-SNAPSHOT&/version&
&/li&&li&&/project&
&/li&&/ol&&p& 进入控制台,将当前目录cd到与pom.xml同级的文件夹下面。执行命令&/p&&br&Java代码
&br&&ol&&li&mvn clean compile
&/li&&/ol&&p& 因为笔者写总结前之前下载了相关包,所以此时相关输出download包的信息少一些&/p&&br&Java代码
&br&&ol&&li&[INFO] Scanning for projects...
&/li&&li&[INFO]
&/li&&li&[INFO] ------------------------------------------------------------------------
&/li&&li&[INFO] Building MavenDemo 0.0.1-SNAPSHOT
&/li&&li&[INFO] ------------------------------------------------------------------------
&/li&&li&[INFO]
&/li&&li&[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ MavenDemo ---
&/li&&li&[INFO] Deleting E:\Genuitec\ws\MavenDemo\target
&/li&&li&[INFO]
&/li&&li&[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ MavenDem
&/li&&li&o ---
&/li&&li&[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
&/li&&li&. build is platform dependent!
&/li&&li&[INFO] skip non existing resourceDirectory E:\Genuitec\ws\MavenDemo\src\main\res
&/li&&li&ources
&/li&&li&[INFO]
&/li&&li&[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ MavenDemo ---
&/li&&li&[WARNING] File encoding has not been set, using platform encoding GBK, i.e. buil
&/li&&li&d is platform dependent!
&/li&&li&[INFO] Compiling 1 source file to E:\Genuitec\ws\MavenDemo\target\classes
&/li&&li&[INFO] ------------------------------------------------------------------------
&/li&&li&[INFO] BUILD SUCCESS
&/li&&li&[INFO] ------------------------------------------------------------------------
&/li&&li&[INFO] Total time: 2.044s
&/li&&li&[INFO] Finished at: Sat May 28 16:23:07 CST 2011
&/li&&li&[INFO] Final Memory: 5M/15M
&/li&&li&[INFO] ------------------------------------------------------------------------
&/li&&/ol&&p& 执行后造成的结果。就是项目的根路径下出现了一个taget文件夹&br&&br& 里面就是编译后的class类。经理过来说,你需要进行单元测试才能发布出来给大家用。Ok,我们在源码包——src/test/java下面开始编写junit单元测试类。&/p&&p&单元测试代码如下&/p&&br&Java代码
&br&&ol&&li&package com.liuyan.maven.
&/li&&li&import org.junit.T
&/li&&li&import org.junit.A
&/li&&li&public class TestHelloWorld {
public void testSayHello() {
HelloWorld helloWorld = new HelloWorld();
Assert.assertEquals(helloWorld.sayHello(), &hello maven&);
&/li&&li&}
&/li&&/ol&&p& 之后我们因为使用了junit单元测试,那么就是说我们这个项目依赖了它。修改一下pom.xml文件内容,如下&/p&&br&Java代码
&br&&ol&&li&&project xmlns=&&a href=&///?target=http%3A//maven.apache.org/POM/4.0.0& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&maven.apache.org/POM/4.&/span&&span class=&invisible&&0.0&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&& xmlns:xsi=&&a href=&///?target=http%3A//www.w3.org/2001/XMLSchema-instance& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&w3.org/2001/XMLSchema-i&/span&&span class=&invisible&&nstance&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&
xsi:schemaLocation=&&a href=&///?target=http%3A//maven.apache.org/POM/4.0.0& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&maven.apache.org/POM/4.&/span&&span class=&invisible&&0.0&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&a href=&///?target=http%3A//maven.apache.org/maven-v4_0_0.xsd& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&maven.apache.org/maven-&/span&&span class=&invisible&&v4_0_0.xsd&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&&
&modelVersion&4.0.0&/modelVersion&
&groupId&com.liuyan.maven&/groupId&
&artifactId&MavenDemo&/artifactId&
&version&0.0.1-SNAPSHOT&/version&
&dependencies&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&4.7&/version&
&scope&test&/scope&
&/dependency&
&/dependencies&
&/li&&li&&/project&
&/li&&/ol&&p& 进入命令行,执行命令&/p&&br&Java代码
&br&&ol&&li&mvn clean test
&/li&&/ol&&p& 执行后观察一下taget文件夹如下图,多出了test-classes文件夹和另外2个咱们暂时不用去管的文件夹。&/p&&p&之后在观察一下本地的临时仓库C:\Users\liuyan\.m2\repository,会多出文

我要回帖

更多关于 微信交易订单查询 的文章

 

随机推荐