给大数据同学的学习经验
给大数据同学的学习经验
前言
亲爱的学弟学妹们,大家好,我是来自数据科学与大数据技术专业的学长。如今想就我大学四年的学习和生活,为大家做一下经验的分享,同时,也通过讲述我自己以前在学习上走过的弯路和教训,为你们敲响警钟。希望各位学弟学妹们在自己的努力下,能够拥有一个丰富精彩、美好充实的大学生活。
一、态度决定一切:大学远比想象中更“累”
首先,希望大家能够懂得:大学生活并没有我们想象地那么轻松,实际上它会比高中生活还要累,不过这种“累”是多元化的,比如一些社交活动、学科竞赛、体育竞赛、社团活动等等,不过请千万记住,学习才是你们最重要、需要花时间最多的地方。
在大学,成绩优秀的人心里很清楚,大学的学习生活理应比中学过得更累,因为身上的担子变得更重了,需要承担更多的责任,亦需要更多的学习和工作技能。态度决定一切,在大学,只要你凭借着持之以恒的精神,坚韧不拔的毅力,肯定可以获得不错的绩点。大学四年,你们仍会有上不完的课,做不完的实验,也仍然会有看不完的书,写不完的题。你会发现,学校的图书馆,无论何时,总是人满为患;你会看到,寝室楼的自习室,即使在深夜,依旧灯火通明。也许你会经历,为了一场数学建模,成宿成宿地鏖战,甚至几天不吃不睡。这一切可不是自虐,我觉得这恰恰能体现我们广大青年学子应当具有的意志品质。
这几年,在实际生活中,我也看到了很多大学生,他们把大学当成养老院,当成玩乐的天堂,每天除了吃喝,就是玩和睡,大学生正处于青春时期,朝气蓬勃,应该有自己的目标和理想,不应该每天荒废了光阴。很遗憾,我的同学很多都是这样,四年什么也没学到。究其原因,我认为还是,现在的诱惑太多了,个个都比学习有趣。你们当中肯定也会有不少沉溺于各种诱惑无法自拔的同学,不过我希望这样的同学数量会越来越少。
不要虚度光阴,想清楚自己究竟想要什么,找到自己的兴趣以及未来的规划,去做就好了!

二、学什么与怎么学:课程学习的方法与理念
然后,我想简单说一下,在大学应该学些啥,应该怎么去学。一家之言,姑妄听之吧。
在学习上,我觉得大家还是得积极学习各门学分课,力求高质量完成每门课程的学习任务,等课内任务完成好了后,再去学习自己感兴趣的知识或者技术。无论是公共课还是专业课,无论是理论课还是实践课,大家都要平等地对待,不偏不倚,力求在大学四年能得到全面的发展,为以后的学习或工作打下一个良好的基础。
我对大学学习的看法是这样的,在学习上要踏踏实实,首先要培养对该门课程的兴趣,兴趣是最好的老师,它会引领我们深入地学习课程;上课时需要认真听讲,课下对所学知识要学会通过各种手段和工具来巩固新知、加深理解,比如查阅相关的课外书籍、观看学习网站上的各种视频等等。要学会建立起自己的知识框架和脉络,通过做笔记、画思维导图、和师长、同学交流所感所悟,实现自己知识体系的建立;学习过程中一定会遇到很多的困难和阻碍,在学习上要善于摆脱各种诱惑,战胜各种各样的困难和挑战,我也相信在坚定的理想信念的指引和科学有效的方法下指导下,没有迈不过的坎,没有闯不过的关。
另外,在学习中一定要明确理论与实践的关系。我们数学或者计算机的相关专业,很多公式定理、算法模型是理论,编程实际求解就是实践。实践是检验真理的唯一标准,没有了实践的理论,那就相当于纸上谈兵,毫无用武之地;而没有了理论的实践,就是盲目的行为,你即使做了,也是不知其所以然。我知道大家不喜欢学习公共课和基础课程,喜欢学真正“有用”的技术知识,而我们恰恰工程实践方面的课很少,即使有,也是说的很浅。其实说白了,基础知识就相当于内功,编程技术相当于各种武打招式,假如没有基础作为支撑,那么招式即使耍的再牛,内功不如别人好,也战胜不了别人,也就是说,只学技术,以后一定会有瓶颈期出现的时候。
还有一点,就是英语无论何时都要好好地去学习,在大三前尽量通过四六级考试,好好地学习英语,不仅仅是为了求职和升学,还是为了以后能更好地开展工作或者研究。
五、学科竞赛:大学里的“第二课堂”
除了单纯的学习之外,大学里面还有很多东西很有意义,比如学科竞赛。在本科期间我参加的学科竞赛有全国大学生数学建模竞赛、全国大学生大数据技能竞赛等。在参加数学建模竞赛的过程中,我学习到了很多在课堂中没学到的知识,大大地拓展了我的知识面,还有像全国大学生大数据技能竞赛,主要考察的是我的综合知识实践编程能力。我们类似的竞赛还有蓝桥杯、互联网+、创青春等等。
在参与这些学科竞赛的过程中,我深深地了解到了团队合作的重要性,团队竞赛的组员们必须,心往一处想、劲往一处使、拧成一股绳,精诚合作,齐心协力,才能完成好最后的任务,通过参加这些学科竞赛,也可以培养咱们的创新能力,提高见识、拓宽思维的深度和广度,为以后学习工作奠定坚实的基础。
还有就是要积极参加体育运动,每天都要养成良好的作息习惯,早睡早起,都要积极地去锻炼身体。身体是革命的本钱,良好的身体素质,一定程度上也会更好促进其他任务的完成,体质增强了,搞学习才会更有力量。
六、不同的远方,同样的脚下:针对考研、保研、就业的建议
相信有很多同学是立志打算考研的,如果是这样的话,大家更应该在大学好好学习了,近几年考研专业课408难度逐渐加大,现在的大家需要做的事就是要把自己的基础夯实好了,大三全力备考考研,上课内容看着放,不要挂科。
针对于想要保研的同学来说,学习就更不能放松了,保研的话需要前三个学年综合绩点排名专业前几名,因此每门课程都得好好地对待,除此之外,四六级,学科竞赛、项目、论文、软著也需要尽力争取;
对于打算就业的同学,大家则需多多接触行业最新的技术知识,紧跟时代潮流,做到与时俱进。课余之外在B站大学跟学项目,掌握编程技术,大二暑假就可以尝试出去找专业实习,包装简历,大四秋招春招就会更加具有竞争力!
付出后才会有回报,风雨后才会见彩虹,诗人汪国真说过:“既然选择了远方,就应不顾一切、风雨兼程。”既然我们渴望成功,就一定要坚定自己的理想信念,执着地去追求自己的梦想,并为之奋斗不息!
附录 部分课程介绍以及学习经验
高等数学(大一上,下)
高等数学是大家在上大学以来遇到的第一个很重要的基础课,它对于各专业后继课程的学习,以及以后的工作来说,高等数学课程都起着奠基的作用。只有掌握好高等数学的知识后,才能比较顺利地学习其他专业课程,比如在机器学习中经常用到导数、梯度、凹凸性等等。
想学习好高等数学,首先需要做到勤学、善思,抓住课堂中的宝贵时间,全神贯注,认真聆听老师讲解知识,课下再及时巩固,不要把任务拖到期末;
接着需要借助练习巩固所学知识,在平时做作业和做课外题目的过程中,自己会做的题目也要做到自己的思想和答案的思想进行比较,互相补充,遇到好的解题方法要记下来,要记的内容是题目,方法和自己的感受;遇到不明白的题目时不要浮躁,也不要着急先看答案,首先进行冷静的思考,要知道考的内容是什么,要用到什么知识点,然后一步一步看答案;
还有一点就是,每次阶段性考试结束后,应该知道自己的不足之处在哪里,需要提高的地方在哪里,这里不仅仅是对知识的掌握程度,更重要的还有技巧和心态的把握;并做好相应总结,另外呢,还需要将这些错题改正过来,将错题记到笔记上(包括解题思想和自己的感受),避免犯同样的错误。
Java【程序设计基础】(大一上)
程序设计基础中所学的 Java 是大家在大学遇到的第一门编程语言,Java是大数据开发的首选语言,也是大多数同学日后工作所需要用到的编程语言之一。
目前最火的大数据开发平台是Hadoop,而Hadoop则是采用java语言编写。也因为Hadoop使用了java所以就出现了市场上所说的“Java大数据”。除了Hadoop以外,有很多大数据的基础组件都是基于Java平台开发的,当然可以这样说,可以使用Java,当然也可以使用Scala,Python,SQL去开发大数据的应用,但是我们开发出来的应用,很多都是运行在基于JVM平台的集群上面的,当我们需要管理集群的资源,去做一些调优的时候,不会Java是不行的。没有Java就没有Hadoop,没有Hadoop 就不存在大数据。我们在课上主要学习与Java相关的基础知识,包括安装、基本数据类型、基本控制语句,面向对象编程之封装、继承、多态,以及接口、系统和异常类,对数据库的访问等。不过Java大数据开发所需要的Java知识完全不止这些,为了和大二下学期的大数据处理方法和技术课程中Java应用知识相衔接,同学们可以多多拓展自己的知识面,业余时间学习一些比如IO流、RPC通信机制、反射机制、泛型、迭代器等等Java知识,这些对后面的专业学习很有帮助。
学习Java,更重要是多上机、多编程实践,不要拷贝老师上课讲解过的代码,而是需要自己独立的编写实现相应功能的程序。
C语言(大一下)
学好C语言,可以提高我们自身的编程能力,也为以后学习其他专业知识奠定一个良好的基础。
学习一门语言,首先要学习好它的基础语法,C语言的基础语法包括数据类型、运算符、表达式、数组、逻辑运算、函数、指针等等,倘若教材看不懂的话,要多借助网上的教学资源,比如CSDN博客,知乎以及B站的一些教学视频等等,或者多和同学、老师交流;另外,一定要多上机实践,这样才会对课堂或者书本上的知识有更为深刻的认识:一开始可以模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键,思考学习别人思路后,再脱离书本和博客,完全自己实现功能,必要时加以综合项目进行实战。
编程是一个日积月累的过程,需要持之以恒的精神,一定要坚持下去。
数据库系统概论(大一下)
《数据库系统概论》属于专业核心课程,很多院校考研复试都有这门科目,而且它是后续许多专业课程的基础,比如分布式数据库,数据分析与挖掘等等,这门课程掌握的不好的话,后面的专业课大多难以为继,所以请大家尤其留意该门课。
我在高年级也时常翻阅数据库的课本,复习回顾,否则很多专业课没法学下去,比如像java与数据库的连接,数据采集与存储,数据清洗和整理,Hive编程…只要涉及到数据的存储管理层面,我们都离不开它。所以呢,同学们需要重视这门课程的学习,课上认真听讲,课下多做练习,上机课多操作,多编程,尽量学的精些,否则到了以后再返回来复习是很耗时的。
我个人感觉数据库课程还是比较枯燥的,尤其是学到关系代数,SQL语言,范式时,有些东西确实逻辑性很强,挺难理解的,以此有问题一定要及时消化。
线性代数(大二上)
大数据时代,在各种行业领域中,根据获取的数据来解决各自领域问题已成司空见惯的事情。在数据科学日渐盛行,数据即为资源的年代,线性代数被认为是数据科学领域中的数学语言。不懂线性代数,不对线性代数有深入理解,就很难处理以数据为驱动的各行业问题。事实上,数据在数学上往往通过树、向量、矩阵等来表示,而这些正是线性代数的基本概念。
作为大数据专业来说,数学的许多应用基本已都是离散而非连续,是数字而非模拟的。数据时代已经开始,向量和矩阵已成为必须熟知的语言!线性代数课程在本专业存储数据、提取数据特征方面具有巨大的应用价值!线性代数这门课首先讨论行列式,然后再到矩阵概念、性质和运算,接下来是矩阵初等变换、秩及线性方程组求解,向量组的一些概念性质,最后有矩阵特征值,二次型等内容,这些内容层层递进,逐步深化,在学习过程中,同学们往往会感觉到这门课理论性强、概念繁多、抽象难懂、枯燥无味,且计算量也特别大,于是逐渐丧失对这门课程的兴趣。不过,线性代数作为我们专业的基础数学课程,作用相当巨大,希望大家耐下心来,认真学习这门课。线性代数概念繁多,在学习过程中,一定要紧跟老师的步伐,深刻地理解线性代数中各种概念的意义,尤其是各种概念的几何意义(大多数老师都不会讲,所以需要自己找资源学习),同时加强自己的运算能力,学习一些运算技巧以简化运算。
学有余力的同学也可以上网寻找一些数据科学方面应用线性代数比较多的知识,比如稀疏编码,图像压缩、数据降维,数据聚类等数据科学领域方面的重要应用,提前学习相关的算法,为后面专业课学习打好基础。
概率论与数理统计(大二上)
作为数据分析的重要数学基础课程,它的作用已经不言而喻,统计学也是大数据专业的重要组成部分。未来我们在学习和工作过程中,会遇到大量的数据,如何对数据进行采集、处理、分析、挖掘,是我们需要考虑的问题。统计学是我们需要的重要工具学科。我们专业后面的一些课程,比如多元统计分析,其先修课也是概率论与数理统计,所以这门课一定要好好学。
概率论与数理统计课程是一门研究和揭示随机现象统计规律性的一门数学学科,其中概率论是研究随机现象的概率分布,数理统计是研究随机现象的数据收集与处理。需要学习的知识点有随机事件与概率、一维乃至多维随机变量的分布、数字特征(这一部分内容涉及微积分)、大数定律与中心极限定理、抽样分布、参数估计、假设检验。与线性代数相比,概率论与数理统计课程学习过程中思考的时间往往需要更多,要多多结合生活实际,思考背后的统计知识,课程中需要高等数学方面的知识也需要及时温习。
学有余力的同学建立提前学习学习假设检验、方差分析、回归分析、相关性分析、聚类分析、判别分析、主成分分析、因子分析等更多的统计学知识,以加强自己的数据分析能力。
离散数学(大二上)
离散数学又称之为计算机数学,也是数学与计算机相联系的桥梁,也是大家“数据结构”课程的先修课。它主要研究具有离散的变量、结构及其相互关系,一般包括数理逻辑、集合论、代数系统、图论等,涉及内容非常广,概念相当多,相当抽象。
课程由四个部分组成,第一部分是数理逻辑,包括命题逻辑和一阶谓词逻辑,这一方面据我所知,在人工智能领域应用比较广泛;第二部分是集合论,主要研究集合的基本概念、运算,二元关系、函数,集合论在算法设计中也有着非常重要的作用。第三部分是代数系统,也是让我们最头疼的一个单元,不过这一部分知识在信息安全领域还是有相当重要作用的;最后一部分是图论,图是一种重要的数据结构,图论可以解决很多实际问题,比如最短路径问题、关键路径问题等。
离散数学知识点十分繁多,上课一定要紧跟老师的步伐,积极思考,培养自己的思维能力,明确重难点和考点,课下适当地做一些习题以巩固新知。
大数据平台搭建与运维【数据科学导论+大数据系统平台技术】(大二上)
这门课程算实践性最强的一门课程了,课程以Hadoop生态体系环境部署为主线,详细地阐述各个大数据组件的概念、搭建、功能、基础应用等,基础知识有集群的网络配置,Java环境配置,NTP时间同步、SSH免密访问、ZooKeeper搭建与使用、Hadoop平台搭建与使用、HIVE和Hbase的平台搭建与使用等。学习搭建平台过程中,要自己手动的敲命令,一步一步搭建平台,不要老是拷贝现成的命令,拷贝别人的虚拟机,需要自己动手,一套完整的大数据平台,至少要搭建三遍以上,才能保证自己足够熟练相关操作。学习过程中,大家会遇到各种各样的BUG,比如防火墙忘关了,命令写错了,搭建步骤颠倒了等等,问题五花八门,遇到BUG太正常了,我去年学这门课直到现在,至少遇到一两百次错误。遇到错误不要慌,关键是要学会如何调试和排错,需要联想自己是哪一步出现错误的,也可以与同学、老师交流,还需要有平台能帮助大家解决问题,CSDN就是一个极好的选择,出现问题实在解决不了,就把虚拟机删除重新来过,甚至将电脑恢复出厂设置不也挺好的吗?
Hive[分布式数据库原理及技术](大二上)
Hive这门课程,基于前面大数据平台搭建与运维课程,基于数据库系统概论课程的知识,主要讲述大数据平台重要组件——Hive的有趣故事。
Hive是一种数据仓库工具,是Hadoop生态系统中必不可少的一个工具,它提供了一种SQL(结构化查询语言)方言,可以存储、查询、分析在Hadoop分布式文件系统(HDFS)中的数据或其他和Hadoop集成的文件系统中的数据,可以对海量数据进行分析和处理。利用Hive进行数据分析,也是后面我们工作中经常用到的核心操作。本课程主要学习分布式数据库概论、Hive集群安装、Hive数据类型、存储模式、HQL语言、数据操作,Hive常用函数、性能调优等。
基本上可以称之为是《数据库系统概论》课程的延伸和拓展课,和数据库学习一样,数据定义、数据查询等等基础操作要熟练使用,大数据运维课程和数据库课程学习的比较好的话,该门课程的学习是没有任何难处的。
多元统计分析(大二下)
关于统计的课还是相当稀缺的,但将来从事数据分析方面的工作,这块的知识又是尤其重要的。
总之,这是一门很重要很重要而且相当相当有难度的统计学专业基础课。说它重要,是因为它所研究的是统计学中的综合分析方法,它能够在多个对象和多个指标互相关联的情况下分析它们的统计规律,实际上这门课可以称之为多维数据的数据分析课程,学习这门课后,我个人认为会有以下几个好处:
其一,我们可以巩固以前所学习的线性代数和概率论等知识;
其二,可以为后续的数据挖掘、机器学习、深度学习等专业课奠定良好的数学基础。
其三,对于参加全国大学生数学建模竞赛的同学,只要是涉及统计学相关知识的赛题,它的解题方法,恐怕是离不开这门课的!
说它难学,是体现在它所要求的数学功底不是一般的高,线性代数,概率论与数理统计,这两门课可以说是支撑了多元统计分析的基础理论,涉及内容相当之多,在学习这门课之前,强烈建议诸位有空多复习线代和概率论,尤其是矩阵、向量组、特征值、随机变量的数学特征等章节,学习中会大范围涉及到它们,同时也涉及少量偏导数、重积分等高数知识,不过相对较少。当时我跟着老师后面记笔记,记了一本书的公式和定理,但是仍然有很多不明白的知识点(有些是因为自己以前线代和概率的知识太薄弱,还有一些是因为涉及部分研究生阶段的数学知识,比如矩阵的分解、如何对矩阵求偏导数等知识),能弄懂的都想办法弄懂,不懂的也会和同学们讨论,实在不懂的最后也就只能不了了之了。
这门课目前由统计系的老师承担教学任务,理论与实践相结合,不出意外的话,实验课用的应该是 R语言,应该会用几节课来学学 R 语言基础知识,R 语言不需要了解的太深。理论知识方面应该会介绍多元正态分布及假设检验,多元回归分析、方差分析、聚类分析、判别分析、主成分分析、因子分析等,其中回归分析、方差分析、聚类分析、判别分析、主成分分析、因子分析在SPSS 数据分析与处理课程中也会占据一大半的篇幅,足可见其知识的重要性,其中,回归分析是一种预测性的建模技术,聚类分析和判别分析分别是作为了无监督学习和监督学习方法,主成分分析、因子分析是数据降维方法,在数据挖掘和机器学习中应用很广泛。至于学习方法,在这门课程中,我觉得除了说说什么认真听课,认真做笔记,认真复习课中所学那种废话之外,还是得强调多动动自己的小手,老师上课讲的公式及其推导过程,课下应该是要反复在草稿纸上推演计算的,概念和公式写一遍当然不够,需要反复修炼,直至字字弄懂,并熟稔于心。
还有就是 R 语言实践,自己得动手写写程序,别偷懒,否则理论上的东西一直就得不到应用。B 站和慕课里面上财王学民老师的多元统计分析,厦大刘婧媛老师的多元统计分析都是挺好的课后学习视频。
数据结构(大二下)
数据结构它是考研必考的专业核心课,也是以后从事相关工作面试必问的课程,甚至有很多企业在招聘时会优先录用数据结构、算法等课程学分优秀者。
数据结构和算法,一个造就了程序的骨架,一个造就了程序的灵魂,数据结构是相当重要的计算机专业基础课,学好数据结构,我们就可以掌握有效存储数据的方法,更易于处理具有复杂关系的数据的方法,进而可以优化自己的算法。总之,学好数据结构,对于以后编写程序,考研,工作等都有着巨大的价值。
数据结构学习的就是计算机中数据的存储方式和组织形式,包括有线性表、栈、队列、串、数组、广义表、树、图等,介绍它们的逻辑结构、物理结构、常用操作等,之所以会感到很难学,究其原因可能在于:其一,数据结构的描述方式很抽象,很多人难以接受它们的描述方式,其二,逻辑思维、推理能力欠佳,一些典型算法无法正确理解,其三,可能是因为编程语言基础不好,C 语言是我们这门课的先修课(离散数学也是数据结构的先修课,尤其是讲述图、树的那部分章节),因为我们的数据结构课程是用 C 语言来实现的,所以语言基础不踏实就会导致书上的算法理解不了,进而影响课程的学习,比如输入输出方式、函数及其参数的传递、指针的概念与应用、结构体定义、动态内存分配等等。
个人觉得学好数据结构,还是要多理解各种数据结构的定义,操作方法,然后再尝试看代码,尝试自己动手上机运行,逐渐掌握基本操作。初学时要想理解数据结构,一定要学会画图,从图中寻找数据 与数据之间组织方式的联系,通过图示去理解数据结构的各种算法,这样才会对知识有更加清晰的认识。数据结构和多元统计分析一样,都非常的有难度,不过相信我们只要找好正确的学习方法,并坚持不懈、有计划地做好它,就一定可以渡过这一部分的难关!
计算机网络(大三上)
计算机网络是一门知识点繁杂,内容高度抽象的一门计算机基础课程,也是有些院校的考研课程。
这门课需要记忆和理解的东西超级的多,比如各个网络层次,像物理层、数据链路层、网络层、运输层、应用层各个层次的功能、作用、区别、协议;比如各种协议,像ALOHA、CSMA、PPP、HDLC、ARP、ICMP、IGMP、DHCP、RIP、OSPF、BGP、UDP、TCP、SMTP这些协议或者算法的思想、流程、数据格式、计算、应用等等。你会发现自己,对于这些知识点,是记了忘,忘了再记,记了再忘,忘完还记,以此循环往复,直至无穷,这正常不过了。
不过你会惊奇地发现,对于每个知识,在循环往复的复习中,印象会越来越深刻,理解地会越来越透彻,你也会为网络巧妙的设计而深深折服。在学习的过程中,不要害怕老师一次课几十页的进度,学习的过程,最好用联想法去记忆一些知识点,比如说TCP的三次三次握手和四次挥手,完全可以将其转换为生活中形象的例子如好友聊天过程加以记忆。计算机网络本身就是和平时信息生活紧密联系的课程,联想起来也比较方便。每章都有近百道课后题,足够大家练习的了。另外,网课推荐王道考研楼楼学姐主讲的计算机网络课程,平时上课假如跟不上的话,可以在课下多听听她的课!
操作系统(大三上)
操作系统总的来说,知识点没计算机网络那么复杂,但是很多东西对于初学者,尤其是没有计算机组成原理基础的同学来说是比较难理解的,操作系统之所以难,也有很大一部分程度上是由于它和很多课程也有紧密的结合,比如大三下要学的计算机组成原理,尤其在内存管理和外部设备管理方面有相当多重复的内容,因此我也不建议学院把操作系统课程放到计算机组成原理前面来上,不过计组主要侧重于对计算机硬件结构及其功能进行剖析,而操作系统则是侧重于介绍OS如何管理这些硬件资源的;当然还比如说,它和数据结构也有紧密的联系,像进程调度里面使用到的多级反馈队列,像死锁的检测和解除中用到的有向无环图,像文件分配中隐式链接用到的线性链表…总之这是一门很神奇、综合性很强的课程!操作系统课程如果听网课的话,王道考研里面的咸鱼学长讲的很不错,推荐给大家,有空听听。
算法设计与分析(大三上)
我在上算法课的时候一直听不懂,上课的时候就一直想啊,我的智商能提高点多好呢,这个问题怎么脑子就是转过来弯呢。其实本质上,我感觉还是自己的编程基础、离散数学、数据结构学的不好直接导致了算法学习出现问题,当然智商在其中也占了相当大的份量。
建议大家在学习这些算法时,比如递归算法、分治算法、贪心算法、动态规划、回溯算法、分支限界算法时,首先掌握算法的基本思想,它是什么,它能解决什么样的问题,然后根据课本上的算法实例,一步一步地使用手动模拟的方法将其过程推演一遍,然后再去看代码,看不懂代码很正常,可以把算法分解成若干的子问题,逐个地去击破它,最后再去自己写代码,然后周而复始地重复这一过程,时时复习,长此以往必有效果。另外,有时间多复习一下数据结构的知识,对算法的学习也是大有裨益。
网课推荐屈婉玲教授的《算法设计与分析》。
数据挖掘(大三上)
作为商家,你想要预测用户下一个阶段的购买行为,分析他的购买习惯吗?想要知道他在买啤酒的同时,买尿布的概率会有多大吗?想要知道抖音、淘宝、百度到底是怎样为你推送产品和内容的吗,在数据挖掘课中,你会找到最终的答案!数据挖掘,从数据中挖掘规律,从数据中寻找商机!
希望大家能喜欢上这门课,然后用好这门课去解决实际生活中的问题。数据挖掘比多元统计分析稍简单一些,所以相信多元统计分析和概率论学好了,数据挖掘的学习将不再是问题。像聚类、分类、回归算法,以前也或多或少的学习过,在数据挖掘课中可以再深入地研究一下,特别有意思的。
这门课以理论为主,实践为辅是比较正确的学习方式,在课上要好好听讲,课后多做一些练习题。
更多推荐

所有评论(0)