首页 > 编程知识 正文

怎么做数据挖掘,数据挖掘需要什么基础

时间:2023-05-06 07:38:00 阅读:174082 作者:2882

首先介绍本人的背景。 我正在学习美本top 30统计学,打算进修哥伦比亚大学的data science硕士学位。 大二那年决定向人工智能领域发展,开始了我的big data学习之旅。

随着近年来人工智能行业的兴起,数据挖掘、编程等领域逐渐成为高薪行业的代名词。 越来越多的人开始关注大数据处理。 在正式介绍学习方法等晾衣架之前,需要了解大数据和数据挖掘的关系。 简单地说,大数据是众多数据的集合,数据挖掘data mining与之并行地利用人工智能、机器学习、统计学和数据库的交叉方法在相对较大的数据集上发现模式的计算过程。 这个领域有很多AI,deep learning和机器学习的知识点融合在一起,学习难度也很大。

接下来分基础、理论和实践三个板块详细说明数据挖掘的学习。 我相信大家通过我的介绍,一定能快速起步。

一.学前基础

如果不介绍其前提条件,数据挖掘可能会很可怕。 对大多数人来说,这个领域不需要你成为专业数学家或资深程序员去学习,但你需要掌握这些领域的核心技能。 关于学前基础,大致分为三类。

线性代数和微积分原始算法的研究需要线性代数和多元微积分,特别是导数、链式和乘积的规则基础。 关于这一部分,涉及很多大学内的高中课程。 作为英语中这些数字运算的定义和名称的补充,也可以通过YouTube查找许多国外大学的公开课,如Essence of linear algebra - YouTube。

了解统计学统计学,特别是贝叶斯概率对许多数据挖掘算法来说是必不可少的。 无论是自然语言处理还是数据挖掘,最重要的事情是弄清基础知识。 这里,我所说的基础知识是指对概率和线性代数等概念较浅的层的理解。 概率论与统计学入门introductiontoprobability-thescienceofuncertainty是我使用时觉得不错的资源。

Python编程可以说是数据挖掘的一大基础。 没有编程的话就不能学习数据挖掘。 如果前面的数学知识是基础的话,Python和r就像今后战斗所需的武器。 我个人学习的时候主要用r语言,但是和Datacamp结合起来学习真的很方便。 对于刚入门的人,我推荐Python。 操作简单又熟练。 关于编程部分,我们建议您同时花几个月的时间学习Python代码和不同的数据挖掘概念。 因为在背后很多时候是同时需要的。 在学习Python代码的同时,可以练习Jupyter和Anaconda等数据科学工具,以了解主要用途和为什么使用。 关于程序语言的学习,有很多网上资源,coursera和网络公开课有很多选择。

二.理论

有了数学基础之后,你就可以开始阅读教材来理解数据挖掘的理论知识了。 我个人建议从关于人工智能的基本介绍性书籍开始,不要直接跳到花哨的书籍。 很多人推荐的西瓜书,我其实不太适合入门学习,难度很大,而且在数据挖掘这样多种多样、实践大于理论的领域,光靠书本上的理论知识,往往不能满足现实生活中的应用。

成为数据科学专家往往需要探索和研究其他领域的内容,建立完整的知识体系。因为很多内容都是相通的,积累一定程度的知识,对将来的学习也会有更好的理解。 我推荐几个我学习的时候用的教材:

贪婪科技AI课程

贪婪学院这门课程面向泛AI、AI集团提供专业系列课程,根据难度将上述内容分为基础和进阶两个阶段。 这个课程的魅力之一是知识面很广。 除了AI领域内的深度学习、NLP、机器学习,还有很多更细致的分支。 其中,分类算法、综合算法、聚类算法、降维算法等机器学习中的基本算法在本课程中也得到了重点的阐述。

课程以幻灯片形式逐页呈现,实用上,由于是近年来的课程,所以课程内容比较新,讲解简单,展示也是图文并茂的。 本课程的视频教学简单易懂,但个人使用时,由于是在线授课,可能会觉得课程内的互动性有点差。 如果出现问题,您需要在课堂上咨询mldct或老师。

因为也是在线课程,所以购买后随时都可以使用。 还是适合时间分配不好的上班族和像我这样的学生使用。 每门课都有一定的主题,有助于巩固知识点的概念。 我自己做这些主题的时候,感受到的是,这些主题的设定和各个小节的课程内容结合得很好,可以即时的加强固化,为以后的学习做铺垫。

教育小组

使用本课程之前,我自己也比较了很多家,分析起来我觉得贪婪的科技AI的师资力量是可靠的。 这几年刚成立的团队,但教研人员有丰富的行业经验和教育经验。 的核心团队由国内外AI专家组成,众多合作伙伴和主讲人是行业资深工程师,在ICML、AAAI、IJCAI、ICDM等会议上发表论文数十篇,被引用数百次。 我上这门课的时候的导师是亚马逊工程师李文哲老师。 他对每一个问题都非常仔细地讲解,尤其是遇到算术题,就一步一步地把具体公式写下来。 除此之外,他还经常举一反三,举同一类型的例子,加深我们的记忆。

课程内容

贪婪科技这门课可以说是完整的

面地涵盖了我上面提到的关于数据科学的各种概念,如随机森林、逻辑回归、线性回归等。通过将机器学习放进人工智能的大框架里学习,能帮助学生更好的理解一些概念,将所学知识串联起来,掌握综合性的技能。

中级课程的核心内容均围绕机器学习,并通过案例的实战来加深对技术的理解。该课程的主要重点是转移学习的好处,利用已经训练好的、非常成功的模型,如Resnet-34或Restnet-50,以很高的精确度在短时间内学习新任务。例如,在计算机视觉方面,它就像一个成功的模型,在复杂的视觉输入上已经非常准确(如Imagenet),并使用它来处理你手头的具体任务。这是通过fastai库实现的,它是Python中Pytorch的一个层,简化了一些在构建深度神经网络时使用的不太受约束的自由形式的方法,并使之系统化。

随着课程的进行,其复杂性也在不断增加。在你已经能够训练出一个性能良好的模型之后,这套课程提供了清晰的方法来挖掘背后的代码,并提出了图表和插图来解释幕后发生的事情。

我非常喜欢的一个部分就是它让我在Excel中调出了一个电子表格,并画出了代表模型的输入、参数和预测的表格,同时展示了如何在电子表格中训练一个基本的神经网络层! 这就像揭开神经网络的盖子,看着它的变化,发现如何最好地得出准确的预测。

对每个人来说,只要对矩阵代数有一定的了解,就能很好地掌握它的内容,除了具有指导性的特点外,做这些作业也能从中收获很多。

贪心科技这套课程就为无编程经验者提供了Python基础的内容,作为一个没有什么编程基础的统计学生,这也节省了不少我课下补习代码的时间,大大提高了我的学习效率。Python部分这套课程运用人机互动的形式讲授知识,将一个一个知识点融入练习中,对于知识的掌握和熟练帮助很大,对于我的启发也很大。上完这套Python课,我最大的收获就是拥有了新的看待计算机的角度。在学习贪心科技AI这套课程之前,我也是计算机重度使用者,但是我从来没发现原来它还可以帮我们做更多事,这也让对计算机编程很反感的我渐渐开始对这一领域产生了好感。

像我之前提及的必不可缺的python基础,在这套教材里也有涵盖。为了那些无编程经验者,除了理论性的内容之外,贪心科技AI还提供了多个机器学习领域代表性案例,如广告点击率预测、情感分析项目、信用卡欺诈预测、零售场景用户分层、意图识别等,供学生参考练习。

在这个代码已经成为大势所趋的时代下,掌握一门编程语言对于人工智能领域的学习可以说是至关重要的。在这里我比较推荐大家学习Python,这也是我入门学习的第一种语言。Python上手快,操作也很简单,比较适合入门学习。

课程设置

以我当时上的中级课程为例,该课程共分为十五章,每章根据知识点不同又会划分为几个小节。课程设置及形式比较系统全面,每个小节时间都不长,只有几分钟,一节课下来只需要2小时,这样的时长设置,不会让人感到枯燥乏味,也容易坚持。随着我完成越来越多的学习关卡,完成一个又一个的作业,不知不觉中就积累了很多编程知识,现在也能自己做出一些实用的小程序了,可以说贪心科技AI课程带我走进了人工智能的世界。


课后

课后的练习根据难易程度和知识点的不同有所区分,如身高体重预测、A股股价预测、客户是否开设定期银行账户预测、成绩是否及格预测、判断新闻真实性等项目,每一个练习的都是不同的知识点,学生可以在jupyter上自己进行代码的编写,还能得到mldct一对一的反馈,及时纠正错误。

除了课程中提供的练习和案例,这套课程课后还配有github使用权限和专门的系统进行学习、练习。我在进行数据科学学习时,就经常会从github上找各种大神的代码和他们新开发的新奇的程序,如随机文章生成器等,这些内容完全可以拿来当成是实践项目进行练习。有时候遇到棘手的问题,我也会上去发帖求助。总之github对于人工智能领域的学生和职场人都是一个不可多得的好资源。

这套教材总体来说还是比较简单易懂的。在同样浏览了中、高级课程之后,个人感觉不足的是,进阶课程难度较大。有相关数据挖掘及数据分析背景的人可能会觉得刚开始的内容过于基础,而进阶部分,尤其是高级,则会有些吃力。

哈佛数据科学data science课程

这套课程也是网上教学,一个大课程下分成很多的小部分,在coursera、edx等学习网站上可以找到。课程主要介绍分析数据和建立模型的各种方法,在上课过程中还可以锻炼与人沟通和工作的能力。在整个课程中,我们使用R语言,并同时学习R、统计概念和数据分析的技术。举例来说,我暑假上的这节CS501的课涵盖了很多数据调查的关键技巧,如数据处理、清理、采样、管理、探索性分析、回归和分类、预测和数据通信并通过应用先进的统计学、建模和编程技能,得出预测性的见解。

总的来说,这三个月的学习很有趣,但在这过程中,我也发现了自己基础的不足。作为一个统计专业并且有一些编程基础的学生,我本以为自己对于数据的处理和建模应该是能信手拈来的。可这套课程的难度远超出我的想象。因为之前的学习比较基于理论,接触实例不多,所以在接触像这类对实例进行深入分析并利用一系列连续和离散数学工具的练习的项目就会有些应付不过来。这套课程为理解、预测和决策提供了一个定量框架,几乎涉及生活的方方面面,从交通信号灯的计时,到疾病传播的控制,从资源管理,到体育领域等等。可以肯定的是,上完这套课,你也会跟我一样,有一种柳暗花明后充实的感觉,并且技能也会得到很大程度的提升。

除了这些课程,哈佛还提供了相应线上的证书项目,一共四节课,总时长约为2年。这个项目旨在教授学生如何通过应用先进的统计学、建模和编程技能,得出预测性的见解,获得数据挖掘和计算技术的深入知识,并为从产品设计到金融等一系列行业发掘出重要的问题和情报。

虽然与Andrew Ng的课程相比,这个项目对数据挖掘强调内容较少,但你会得到更多关于从数据收集到分析的整个数据科学工作流程的练习。像我之前提及的,对于数据挖掘极其相关领域要尽可能多的掌握、了解。所以相对于系统性地学习,这套课程能帮助你拥有一个整体的框架概念,并拓展很多数据科学领域的知识。不足的是,这套教材目前只有英文资源,且难度较高。

zxdlhAI课程(Andrew ng)

这套教材也是很多人推荐的,它是2017年推出的,内容较新,可以免费使用,Coursera上线之后我也慕名有去体验过。我个人在学习时使用的是斯坦福大学的版本,不是Coursera的。这两个版本相比较之下,Coursera的课程内容比斯坦福的CS229更简单,对于数学基础的要求也更低。Coursera版本的课程几乎没有涉及很多概率分布、线性优化、平滑处理等机器学习相关的数学知识;反之,zxdlh通过各种举例代入的讲解,让人工智能变得更加通俗易懂,虽然梯度、矩阵等的内容显得十分复杂,但是后期用python都可以代入得出结果,这样简单实用的设置,也受到了很多入门者的喜爱。不过这也是这套课程受争议的地方,很多人认为对于数学知识讲解过于浅显,不足以打好机器学习的基础。

zxdlh本人是斯坦福大学计算机科学系和电气工程系的客座教授,他也是在线教育平台Coursera的创始人之一。这套教材在网易有中文版资源,课程的形式也是像PPT一样并且附上zxdlh本人的笔记。整体来说内容浅显易懂,处于初级-中级难度。比较适合入门学习。这套还配有课后作业和测试,保证了一定的练习量,但只限于Cousera课程,且编程作业需要在Jupyter上完成。其次,由于是较新的教材,了解并真正使用过的人不一定很多,所以在学习过程中遇到问题时,需要自己查阅资料解决。

这套教材还有一个特点就是其内容设置的是自下而上的偏理论式讲解。这些课程的一个很强的优点是每一个编程练习都有Jupyter中的Python代码模板。在几乎所有的课程中,zxdlh都带来了一些在该领域取得巨大声誉的人,如Geoff Hinton, Yoshua Bengio, Ian Goodfellow, Andrej Karpathy等。他们的讲座对于机器学习非常具有启发性,大家感兴趣的可以去听一听。

三、实践经验

一旦完成了以上的两步,就可以开始在现实世界数据上应用这些概念啦。一个没有经验的数据科学家可能会训练一个模型,一旦准确率达到某个高百分比,就把它运送到生产中去,而无视在这样做的时候所做的不正确的假设。所以,知道什么时候模型是过拟合的,什么时候有虚假的相关性,需要有扎实的理论理解和经验。针对这一部分,我个人的建议是尽早开始练习,但要从小项目做起。实施简单的算法,如线性回归、梯度下降、k-means聚类、k-nearest neighbors和naïve Bayes,然后再进行更高级的操作。在使用库之前,试着对每个算法都做一次。只有这样,才能完全理解它们真正的工作方式。在这里也推荐一个叫Kaggle的平台,这里面的数据集都是真实的,会让你感觉到数据科学是如何在现实世界中使用的。Kaggle上还会有各种竞赛,根据其奖励分为不同类型。知识、工作、这些比赛很适合初学者,你也可以在其中找到很多如何获得好成绩的文章和样本解决方案。

总结

总的来说,数据挖掘的学习只要遵循上面提及的步骤,先拥有一定的基础和背景知识,再从理论到实际操作慢慢过渡,就能熟练掌握这一技能啦。在这个过程中,找到适合自己的教材也是很重要的。希望大家能根据我上面的分享找到适合自己的学习方式及课程,早日实现自己的职业理想!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。