数据挖掘的疑惑,,期望大神给些指导
先简单的做一个自我介绍吧:
我是一所普通211的一年级研究生,88年底出生,男,专业是通信工程,本科也是该校的。
07——11年在这所学校读本科,过了四六级,计算机二级。
参加了11年的考研,考华科电信,数学128,专业课136,政治70,英语38(没有过线),总分372
自我评价,自己的数学基础还比较好,肯专研。
11.7——12.5在一家做半导体材料和产品的公司工作,工作的内容是PCB,基本没有工作压力,所幸就在职复习考研了,就直接考回了本校,学术型研究生三年。(整个考研期间我只请假了一个星期)
自己在考完研以后就开始看C,C++primer(翻了两遍了),VC++深入详解 孙鑫(看了一遍),也看了一点JAVA编程思想。。
12.6——12.8在一家台资企业工作,在佛山顺德,是一家子公司,该公司是一家生产型的公司,生产服务器等。我也是在这家公司开始接触linux,把鸟哥的私房菜翻了两遍,看了一点linux编程。
12.9到学校报到了,但是自己在当初选导师的时候没有选择正确:导师(一女的,学术能力比较强悍,现在是副教授,三十五不到)的方向是高光谱遥感数据处理(国家青年基金的项目,偏向学术)。而且导师要求有点严,要求周一到周五早中晚必须呆在实验室!!妹的,有点恨这导师了。。。
下面说一下我自己的一些想法吧(我有点啰嗦哩,期望大家耐心一点,不胜感激):
导师的方向是高光谱数据处理,偏向算法,一上来就是要我们搞svm,knn,lda等等,监督学习算法,半监督学习算法,机器学习等等,主要是遥感数据的分类算法,用matlab来实现,
有人说这些算法就是数据挖掘里面的核心算法,但我似乎还没有懂这些东东到底是什么个玩意儿。。
我作为她的研究生,每天要做的事情是看有关高光谱数据处理算法的文章,完了理解别人的思想,用matlab来实现,这些也就是我最不愿意做的事情,每天仅仅只是做做仿真,妹的!!
现在的我刚报了软考中级,主要是用周末跟周一到周五中午的那点时间在看书做题,顺便看看java编程思想。。
每次只要一想到自己的未来,就有点后怕。因为导师的课题方向主要用matlab来实现;然而前车之鉴,仅仅会写matlab代码,发一两篇核心文章,这些东西对于自己找工作完全是不行的,压根儿就找不到工作,除了读博。。
现在我的困惑主要是在于数据挖掘方向的工作需要哪些技能和知识,我该如何学习,与导师的方向到底有什么联系……
期望各位给一点意见,不胜感激~~~ 数据挖掘
[解决办法]
建议你跟导师多沟通 跟导师深谈一次 互相了解下对方的想法
[解决办法]
所以,现在我的超市规模大了,但是我也已经有了数据库,已经做了一部分有条理或没条理的数据整理工作,这种工作可能是老板要求,我们被动去做的,或者我们根据工作经验主动事先做好的。但现在大老板是一个有商业思想并且认可BI的理念的,即,他有很高的职位和权利,有号召能力,认可数据的重要性,认可数据分析带来的参考意义,愿意花钱去做。愿意花钱去做是最关键的,因为有些公司不大不小的尴尬境地导致很难判断做了不能确定是否可以带来明显的商业利益,那做了干嘛呢?不如不做。
如果真要做的话,以前做好的东西未必是会摈弃的,因为在做数据仓库前,最主要的是分析业务模型,需求,然后按照规则整理数据,可能以前有些模块已经做得很好就不需要更改了。做的内容主要就是把原来的整理好,没有做的模块做好,或者做一些更高层次的数据分析,总结一些有指导意义的KPI值,做一些辅助工具等等。
那么,作为学院派,选择了数据仓库到底要学习什么呢?
首先打好基础,11楼提到的模块中,ETL是很重要一部分,到底有多少层etl,要做多少数据抽取的工作,取决于需求和业务处理逻辑,一般1,2层,很复杂的来个3,5层不为过。ETL有很多工具,但说到底就是把数据抽取出来并整理好,比如从事务表中把一天的10多万笔记录统计成一条记录,以日期为主键记录到另一张以天为单位的SUMMARY表中,那么这个过程可以用工具来完成,也可以自己写程序来完成,存储过程,C,JAVA都可以,主要就是逻辑嘛。自己写的好处是知道原理。这里举个很简单的例子,有一次我需要用他部门的数据进行二次SUMMARY,定时任务常常跑不出来,记录是空的,但是我的程序LOG都正常,后来发现我使用的他部门的这张表是他们用工具从别处同步过来的,配置表数据量不大,每次全部更新是没问题的,在ORACLE 中也就几句话:
delete from table_name;
insert into table_name
select * from table_name@otherdb;
commit;
即便没有DBLINK,用其他方法也很简单,可偏偏他们使用的这个工具有点小问题,就是没有把delete和insert放在同一个transaction,导致更新时会出现很短暂的表为空的情况,在程序性能很差的时候放大为几秒钟,就这几秒钟的空档偶尔被我的程序踩中,所以我更新不到数据。搞笑的是对方的人员只会用工具,对这么简单的ORACLE常识都不了解,还口口声声说他们没问题,导致我不得不写个脚本监控抓他现行。
这个例子扯远了,我是在说基础知识的重要性,你学习java是好的,c也好,都不会荒废的。各种数据库,都玩玩,多写写。工具,了解就好,不要指望工具帮你解决所有问题。
元数据的管理涉及到数据库备份等问题,也是具体问题具体分析。
数据分析方面和行业都有关联,毕竟主要是业务逻辑的事儿。
数据展示倒是很重要的一块,分析了那么多,总要有展示的地方,就是报表,报表对有些行业很重要,实时性,准确性,稳定性各方面,但往往又受不到重视,因为地位上肯定远不及业务系统的可用性来的高,但花样很多,开发要求也越来越高,各种的bs的,CS的,二次开发的需求都有可能出来,谈不上有经验没经验,需求来了就得上,所以还是多学些技术比较靠谱。sap的bo,ibm的cognos,做的一般都巨贵,一般企业还是自己定制的比较多。
数据仓库更多的是概念,专业术语,去书城翻翻书看看,连买都不要买。有的企业数据分析也得涉及到unix,perl什么的,或者可能需要你了解甚至做部分的分布式业务系统的开发,就涉及更多了。所以,你的专业知识学了还是有用的,matlab学好了也是有好处的,比如金融分析师,MBA这类的,不是都用MATLAB嘛!技术的基础打打好,英语学学好,指不定将来进入哪个行业,用到哪些技能呢,学多了总是相通的。
以上一点浅显的愚见,有点乱,楼主随便感受一下吧。