数据有两个方向,一个是偏计算机的,另一个是偏经济的。你学过Java,所以你可以偏将计算机

基础
1. 读书《Introduction to Data Mining》,这本书很浅显易懂,没有复杂高深的公式,很合适入门的人。
另外可以用这本书做参考《Data Mining : Concepts and Techniques》。第二本比较厚,也多了一些数据仓库方面的知识。
如果对算法比较喜欢,可以再阅读《Introduction to Machine Learning》。
当然,还有《机器学习:实用案例解析》

2. 实现经典算法。有几个部分:
a. 关联规则挖掘 (Apriori, FPTree, etc.)
b. 分类 (C4.5, KNN, Logistic Regression, SVM, etc.)
c. 聚类 (Kmeans, DBScan, Spectral Clustering, etc.)
d. 降维 (PCA, LDA, etc.)
e. 推荐系统 (基于内容的推荐,协同过滤,如矩阵分解等)
然后在公开数据集上测试,看实现的效果。可以在下面的网站找到大量的公开数据集:UCI Machine Learning Repository/

3. 熟悉几个开源的工具: Weka (用于上手); LibSVM, scikit-learn, Shogun

4. 到 Kaggle: Go from Big Data to Big Analytics/ 上参加几个101的比赛,学会如何将一个问题抽象成模型,并从原始数据中构建有效的特征 (Feature Engineering). 

到这一步的话基本几个国内的大公司都会给你面试的机会。

进阶篇:

1. 读书,下面几部都是大部头,但学完进步非常大。
a.《Pattern Recognition and Machine Learning》
b.《The Elements of Statistical Learning》
c.《Machine Learning: A Probabilistic Perspective》
第一本比较偏Bayesian;第二本比较偏Frequentist;第三本在两者之间,但我觉得跟第一本差不多,不过加了不少新内容。当然除了这几本大而全的,还有很多介绍不同领域的书,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理论一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。这些书的课后习题也非常有用,做了才会在自己写Paper的时候推公式。

2. 读论文。包括几个相关会议:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及几个相关的期刊:TKDD,TKDE,JMLR,PAMI等。跟踪新技术跟新的热点问题。当然,如果做相关research,这一步是必须的。例如我们组的风格就是上半年读Paper,暑假找问题,秋天做实验,春节左右写/投论文。

3. 跟踪热点问题。例如最近几年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的业务都会涉及这些方面。以及一些热点技术,例如现在很火的Deep Learning。

4. 学习大规模并行计算的技术,例如MapReduce、MPI,GPU Computing。基本每个大公司都会用到这些技术,因为现实的数据量非常大,基本都是在计算集群上实现的。

5. 参加实际的数据挖掘的竞赛,例如KDDCUP,或 Kaggle: Go from Big Data to Big Analytics/ 上面的竞赛。这个过程会训练你如何在一个短的时间内解决一个实际的问题,并熟悉整个数据挖掘项目的全过程。

6. 参与一个开源项目,如上面提到的Shogun或scikit-learn还有Apache的Mahout,或为一些流行算法提供更加有效快速的实现,例如实现一个Map/Reduce平台下的SVM。这也是锻炼Coding的能力。

[转] 有java基础的人如何转行做大数据?的更多相关文章

  1. Java后端开发工程师是否该转大数据开发?

    撰写我对java后端开发工程师选择方向的想法,写给在java后端选择转方向的人 背景 看到一些java开发工程师,对java后端薪酬太悲观了.认为换去大数据领域就会高工资.觉得java后端没有前途.我 ...

  2. JAVA开发搞了一年多的大数据,究竟干了点啥

    JAVA开发搞了一年多大数据的总结 ​ 2021年7月份加入了当前项目组,以一个原汁原味的Java开发工程师的身份进来的,来了没多久,项目组唯一一名大数据开发工程师要离职了,一时间一大堆的数据需求急需 ...

  3. 大数据基础知识问答----spark篇,大数据生态圈

    Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...

  4. Java程序员必备的10个大数据框架!

    作者:java妞妞 blog.csdn.net/javaniuniu/article/details/71250316 当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语 ...

  5. java基础 UDP通信 user datagram protocol 用户数据豆协议 TCP transmission control protocol 传输控制协议 多线程TCP

    无连接通信 UDP 客户端 package com.swift.test; import java.io.IOException; import java.net.DatagramPacket; im ...

  6. java基础(28):数据库、表及表数据、SQL语句

    1. 数据库 1.1 数据库概述 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. 什么是数据库 ...

  7. java基础:修改数组对应下标的数据

  8. 【Java POI】POI基于事件驱动解析大数据量2007版本Excel,空值导致列错位问题

    1.目前测试了20M的文件,可以读取. 2.支持单个工作表1万+的数据行数,耗时如图. 3.以下是关键地方处理的代码 //Accepts objects needed while parsing. / ...

  9. 零基础入门到精通:Python大数据与机器学习之Pandas-数据操作

    在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python ...

随机推荐

  1. C++知识回顾(二)——名称空间

    随着工程的增大,名称相互冲突的肯能性增加,使用多个厂商的类库时,可能导致名称冲突.为了解决这些问题,需要用到名称空间. 为了将代码加入名称空间,可以使用namespae将其包含,例如,编写一段代码,其 ...

  2. 移动端重要的几个CSS3属性设置

    去掉点击链接和文本框对象的半透明覆盖(iOS)或者虚框(Android) -webkit-tap-hightlight-color:rgba(0,0,0,0); 禁用长按页面时弹出菜单(iOS下有效) ...

  3. maven项目project facets中是2.3调整为3.0的解决办法

    以前情况下直接直接调整到3.0下面的按钮就会变成不可以点,当把前面的勾取掉就可以点击apply了,之后再次把勾勾上,点击apply有个弹窗默认是webcontent.在maven项目中改成src/ma ...

  4. mysqlbinlog

    一.描述 转换二进制日志为易读的文本格式或用于管道后恢复数据 二.用法 -d, --database=name 仅列出指定数据库的条目 --start-datetime=name 从指定时间开始读取事 ...

  5. C#基础强化-继承与多态

    /**  特性:    单根性:一个子类只能有一个父类    传递性:爷爷类 爹类 儿子类  里氏转换    1.子类可以赋值给父类    2.如果父类装的是子类对象,则可以将这个父类转换为对应的子类 ...

  6. 关于win7 安装redis的问题

    首先在https://github.com/MSOpenTech/redis/releases下载64位的安装包 到任意盘中 将改名为redis 使用cmd命令 启动redis 进入 redis 目录 ...

  7. asp.net core输出中文乱码的问题

    摘要 在学习asp.net core的时候,尝试在控制台,或者页面上输出中文,会出现乱码的问题. 问题重现 新建控制台和站点 public class Program { public static ...

  8. 一款强大的Android网络渗透软件dsploit

    dSploit是一款基于Android系统的功能十分全面强大的网络渗透工具,可以提供给网络安全工作人员检查网络的安全性.小黑这次主要使用了其中的"简易嗅探""会话劫持&q ...

  9. rails数据库查询 N + 1 查询的解决办法

    schema.rb ActiveRecord::Schema.define(version: 20150203032005) do create_table "addresses" ...

  10. [转]MySQL日志——Undo | Redo

    本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版 ...