前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >做股票数据挖掘的一些日志

做股票数据挖掘的一些日志

作者头像
机器学习AI算法工程
发布于 2018-03-13 07:11:43
发布于 2018-03-13 07:11:43
2K0
举报

首先说说数据挖掘吧,接触这东西也是机缘巧合,上学期听说ZYN学姐在做科创,于是问了问具体情况,她说跟数据挖掘有关,这词我还是第一次听说,听起来很高级啊,我看了些资料,觉得非常感兴趣,于是就阴差阳错地加入了,还拉了BM和BAQ同学入伙。于是悲剧就开始上演了,我们小组组成以后才发现,原来大家都不懂,什么叫数据挖掘?于是项目没法成立,因为连挖啥都不知道。

于是我们先找了老师问,各种找,找了各种老师,得到了各种资料,什么挖文本的,挖银行的,挖教育的,就差没挖坟了。后面经过大家讨论,决定做股票的,一个是因为股票信息量大,挖的价值高,另外一个是因为股票最难挖,甚至在国际上没有很成功的案例,年轻人聚集在一起,想挑战下自己,挑难的玩。其实最重要的原因是大家都觉得这样没基础的团队是申请不到钱的,特别是团队成员绩点又很低的情况下(其实就是指在下的2.0,其他人都是3.3以上)。于是我们很快定了下来,写申请,要写自己的创新点还有项目具体规划什么的,要求比较详细,老衲在不明真相的情况下瞎扯了一通(其实表面看起来还是相当专业的),没想到过了几天我都快把这事忘了的时候,ZYN学姐电话告诉我说直接通过了,我一头黑线,原来这样也行。。。

做的那个过程一波三折啊,冲在最前线摸索的自然是老夫(结果犯方向性错误最多的也是我)。我们在开始做之前花了一个月补基础,买了几本书看,都是在业内很经典的书。我最初的构想很宏伟,写了一个看上去非常美妙的全局规划,前期数据采集,预处理,建模,存数据库,然后使用数据挖掘工具来做,最后做一个统计。而当时那份规划的重心,我放在了建模和数据挖掘工具的运用上,而且我们准备最后做出一个软件来在线预测股票的涨跌。(看到这里,估计懂炒股的人就要笑了,这玩意要是管用,那别人庄家靠什么吃饭啊?嘿嘿,散户想赚钱,有这么容易?)

规划出来了,我们拿去给指导老师皮德常老师修改(还好那天我没去)。然后很悲剧地,我的想法被全局否定了。皮德常老师指出:

1.在线的股票预测就别想了,你们做不出来。

2.股票建模确实很难。(具体怎么难当时我们也都没想法,皮老师也没有给出,因为他自己也不是做股票这一块的)

3.数据挖掘工具不能用,用了就会使科创变得低级,因为要显得很前沿,就不能用数据挖掘工具,要自己写算法,或者自己修改从网上DOWN下来的算法。

这次交流对我就像晴天霹雳,郁闷啊,想了半天想出来的架构被全盘否定,老衲颜面无光啊,不过我当时想了想,也对,我们之前都没有做过数据挖掘,基本的算法怎么写出来的都不知道,我们是应该自己去学习下,自己写。我们的分工是我负责整体,还有决策树算法,BM和BAQ负责神经网络,两个学姐负责前期的数据工作。

于是我上网去找决策树算法,发现网上的人很多程序都不好,写的很不完整。后来找到了新西兰的开源项目WEKA,里面的算法封装得非常好,我很欣赏工程师们的代码风格,于是准备从WEKA中把决策树代码挖出来,并且全部加上中文注释。于是我熬了几天夜,一周后把代码挖了出来,注释了大部分,大概有两万行吧(只有ID3算法,不包括C4.5),其实说出来还是蛮装B的,两万行的算法啊!然后我很得意的拉BM来看,BM看了撇撇嘴,什么狗屁,这功能,实现出来,跟那几百行的程序效果还不是一样。我当时想争辩几句,毕竟是我辛苦一周的心血啊,可是越争越没底气,是啊,从功能上看,这几万行程序,实现的功能并不多啊,尽管我对程序的了解有了进一步的加深,可是这似乎并没有促成项目的实质性进 展。于是我又开始想了,我对皮德常老师的某些观点提出了质疑,我们自己写十几万行甚至几十万行的程序,本来用数据挖掘工具点几下就出来了,做了不同的事,但是结果都一样,有什么高级,低级之分?诚然我们需要对数据挖掘算法进行了解,但是我们要清楚地认识到,我们是在做应用,不是在做算法,做算法的可能性也不大,拿WEKA来说,内置的C4.5算法已经优化成了其商业版C5.0算法的最后一个公开版本J48,再说从一开始,我们关注的就不是算法,而是最后的效果,最后挖掘出来的信息,到底有几分可信?

想到这里,我发现,自己似乎找到了一个新的方向,应该先对股票有一个详细一点的了解,看看什么地方需要用数据挖掘?一切应该从实际的眼光看,不然就失去了意义,不是吗?

关联规则相关的股票预测,具体怎么做,我先在网上找了一些论文看,觉得做得都不够好,我有一些自己的思想,就写出来吧,因为是对自己学习的总结,也供大家参考。

首先我们可以从算法上分析,关联规则的APRIORI算法是很基础的,也是很好用的,它能挖掘出频繁K项集,也就是满足支持度阀值(当然,也必须有较高的置信度)的所有集合,但是它有一个较大的局限,就是它所适用的数据类型仅仅是二元的0或1(或者说成是YES或NO也可以)。当然,我们显然可以对数据进行处理,把连续的离散化,再把离散的二元化,这样,我们股票连续的数据也难够用APRIORI算法来进行关联规则方面的挖掘了。这里涉及到了一个问题,我们选取股票的哪些数据来做?我们知道,我们的数据最终都会被离散化,所以我们所选取的数据,一定不能是难以离散的。换句话说,就是如果将某个连续的属性离散掉却破坏了它本身的特性,那么这个属性一定是不可取的,因为它可能会对算法的结果造成负面的影响。

我们知道,一支股票最基本的信息大概包括开盘价,收盘价,最高价,最低价,成交量,成交金额等。而这些连续的数据并没有很明显的分段特征,所以我觉得并不能在这些属性上做手脚。但是这并不意味着这是一条死路,因为我们可以先通过统计学手段计算出某些具有特殊意义且易于离散的值。提到这里,想必大家已经明白了,我说的就是炒股公式。举例来说,KDJ值,想必炒股的人没有不认识的吧。百度一下,了解KDJ的内在涵义以后,我们可以很快把K值可以划分成0-10,10-90,90-100,三类,D值划分成0-20,10-80,80-100,三类,J值可以划分成小于10,10-100,100以上,三类,然后二元化,就是9个二元属性,这样预处理就完了。我们选出20-30个指标进行建模,然后用APRIORI算法挖掘频繁项集。

由于挖掘出的频繁项集很多是与类(也就是我们要预测的项,也就是股票的涨跌幅)不相关的,我们将这些信息排除掉,保留对我们有用的信息,这样,我们能够得到最终的关联规则预测。我们得到的答案是:这样的预测能帮助我们知道,当前这支股票对哪些指标最敏感?可以想象这会成为股民的一大助力。

具体的操作方法,首先说明,我的挖掘工具是用的WEKA,说下原因,第一,在所有的开源挖掘工具中,WEKA是综合性能最好的工具之一。第二,在这些综合性能最好的工具中,WEKA的统计能力相对偏弱,图形化一般,而挖掘能力是顶尖的,在股票的挖掘中,我们应用的数据本身就是统计学指标,是别人已经算好的,所以对统计能力的要求并不高,而WEKA保证了最好的挖掘效果。(这里说明一下,只针对我自己,不排除有想先自己设计出统计学指标,再做挖掘的朋友,只是我这里做的随意了)第三,我对JAVA比较偏爱。(其实程序可能会比C跑的慢点,但WEKA的程序架构得非常棒,学JAVA的都可以去看看,收获颇丰)。而我们在WEKA调用APRIORI算法,只用将数据离散化就可以了,二元化它会自动做。具体的相关代码就不发了,自己去找找,在WEKA中是怎么做的数据类型转换,不难找到。

接下来讲述一下我自己的实际操作。由于数据库的几百万行数据还在处理,指标的建模也还未完成,所以这里只拿一个小规模数据来做,不过足以得到部分信息。

我们以601899紫金矿业为例,首先从大智慧新一代里面,把KDJ,RSI,PSY数据弄到EXCEL表格中,离散掉,方法在上一篇文章有讲到,另外,再从K线图中取出数据,算出涨跌幅,作为最后一列加入表格中。当然,对涨跌幅也不要忘记离散化。为了能让WEKA识别文件格式,我吧它另存为CSV文件,然后就可以用WEKA来做分析了。(大智慧里最多可以弄到两年半的每日数据,如果要更多的数据,可以通过别的途径弄到,自己想办法吧)WEKA在关联规则方面有3个算法,分别是Apriori,PredictiveApriori(2001年)和Tertius(1999年)。这里我们用到的是第一种算法,不过PredictiveApriori也是非常值得我们关注的算法,它将置信度和支持度合并成预测精度而成为预测精度,最后我们会找到经过预测精度排序的关联规则,这样我们得到的结果会更加一目了然。可惜的是,国内的相关资料并不多,如果实在找不到资料,我就直接读源码了,不得不提的是WEKA的源码具有非常到位的注释和文档,这点还是很赞的。Tertius其实也是一个功能极其强大的算法,它在关联规则中融入了决策树中“类”的观念,其实它更适合用来做股票规则的预测,因为它是明确了要关联的对象,我们不再需要在我们的预测结果中再做筛选。之前对关联规则了解不多,对这个算法的原理也不是很清楚。以后如果有机会,会写文章对上面的算法做具体的介绍。

回到操作上来,WEKA中Apriori算法会需要传一些参数进去,每个参数具体的意义其中都有注释,我们将numrules改成1000,将outputitemsets改成TRUE,将metrictype设置成confidence,minmetric设置成0.8,方面对结果做分析。于是得到结果。这样我们利用这些信息可以做成一个根据输入信息查询历史出现次数的软件。例如:KDJ中的K值在10-90,D值在20-80,J值在10-100的情况下,频繁项集包含了基本持平(223次),还有小幅下跌(76次)。这个信息告诉我们,在这支股的历史中,当KDJ指标指示为徘徊观望的值的时候,其实这支股票一般会跌或者持平,涨的可能性其实已经很小了。

我们的队长在挖掘的过程中提出对于股票之间的涨跌关联的挖掘。首先讨论用什么样的算法可以做这样的挖掘,我们提取出从1990年开市以来每支股票每日的涨跌幅作为数据集进行挖掘,这样一来规模就稍显有些大了。用关联规则的APRIORI算法吃不消,其他的关联规则算法我不熟悉,所以没办法用。我尝试了用BP神经网络来做,不过我把JVM的运行空间调到了1.5G,依然无法承受这个规模的数据,不过我觉得即使能用好一点的机器做了,意义并不大,因为BP神经网络本身是基于黑盒测试的技术,我们无法得知它是怎么预测到的最后的结果,虽然很多科学家在这方面做过努力,但是一直没有什么好的结果。所以我觉得这个技术并不适合用于做这样的预测。

分类算法中,决策树的C4.5算法是个很实用的算法,速度较神经网络来说要快很多,而且很容易从中提取规则,所以图形化比神经网络要容易得多。针对C4.5算法,我们制定的挖掘方法如下:

1、将数据处理成以日期为行,以股票编号为列的数据矩阵,矩阵中保存的是某日某支股票的涨跌幅,未上市的为?,上市了但是未开盘的为0。可以通过MYSQL C API来编程对MYSQL中的数据进行操纵。

2、因为用一个属性A作为CLASS,只能挖掘出与A相关的规则,所以我们需要轮流将每一个属性作为CLASS进行挖掘,然后再做汇总,汇总的方式等挖掘结果出来以后再做进一步的决定。由于C4.5算法的CLASS必须是分类型的数据,而且我们的每个属性都可能成为CLASS,所以我们需要把所有的数据都离散化,这个操作可以通过WEKA的过滤器来实现,之前处理数据都是自己编程或手动操作的,做麻烦了。

3、做了上述处理,C4.5依然是不能用的,因为存在大量的缺省值,必须编程把这些缺省值拿掉,抽象一下,可以得到这样的一个问题:把一个有数字和问号的矩阵,一次性可以消去一行或者一列数据,要求消去最小的单元格,使矩阵成为满矩阵。满矩阵是我自己起的名字,即不存在问号的矩阵,换句话说,就是满足C4.5输入的矩阵。

4、调用WEKA中的J48算法来做挖掘,这是一个C4.5的优化版本,足够用于这个数据集的挖掘。

具体的挖掘结果还没有出来,不过我相信能取得一些成果,决策树方面的应用就讲到这里,等挖掘的成果出了,我再写文章进行新的分析。

接下来是关于BP神经网络的,但是我已经受够了被欺骗的感觉,得先发几句牢骚。

那些发股票数据挖掘说什么BP神经网络,或者SVM在用XX方法挖掘效果非常明显,非常有效的本科生,硕士生,博士生,甚至教授们,你们这是在做学术么?我只是一个小小的做应用的人,都看不下去了,全TMD扯淡!!好吧,我现在来分析下相关论文介绍,论文的风格都大同小异,无非是先把算法拿出来分析一遍,再讲讲神经元的训练过程,相关参数的调整,弄得大张旗鼓,很高科技似地。好了,最后,取XX年XX月到XX年XX月的几十天为训练集,接下来几十天甚至是几天为测试集,得到一个很小的(30%或者更小)绝对误差,然后就说明BP神经网络在股票数据挖掘都是非常有效的。稍微有点良心的,最后补充一句,这个预测是在股市相对稳定的时候有效的。相对稳定的时候还用得着你去预测吗?最关键的是,为什么要以点代面?明明BP神经网络在那种建模上是无法做出准确预测的,为了发个论文,就玩这种文字游戏,你有意思?学术是需要严谨的!不是找个碰巧误差小的(甚至是专门找个误差最小的)就能得到这样荒谬的结论!我说了这么多,就是想表达一句话,建立在每日数据上的BP神经网络(不管你算法多么优)是无法预测A股股票涨跌的。

读者会问,你说别人不严谨,那么我凭什么来相信你说的话呢?我把我的挖掘过程展现出来作为分享,大家自己做参考。我用的数据集是从1990年开市到2010年10月15日的每日数据,包括开盘价,收盘价,最高价,最低价,成交量,成交金额,涨跌幅。先把每只股票拆分到一个数据集,然后处理成依靠前3天的信息(21个属性),预测第四天,这样增加了关联的可能性(有些论文就那么一两个属性值,也能做预测?实在是荒谬)。接下来做了归一化处理,把属性值和预测值都控制在了0-1之间,然后做分散数据处理,把涨跌幅划分成40个区域,时间上从前往后取,每个区域取5个点,作为训练集,从后往前取,每个区域5个点,作为测试集,这样从数据方面保证神经网络达到最好的效果。然后调整学习率到0.03,动量为0.1(这个值在WEKA中用于加速神经网络收敛,原理是在每次迭代的时候加上上次更新权值的一部分),不做提前结束和权衰减(这两个方法用来处理过度拟合,不过学习率够低,过度拟合并不严重,所以不用做处理),训练10万次,就能把训练集上的平均绝对误差降低到10%以下。我很兴奋地把训练好的神经网络拿去跑,随意一支股票,平均绝对误差200%多,换一支,150%,再换一支,300%!这样的实验结果足以说明问题,光从盘口信息上来看,是绝对无法较为准确的预测A股股票涨跌的。不过这也至少证明了一点,从数据挖掘角度上来讲,盘口信息在A股是没有任何参考价值的。

那么是不是说这个事情到此为止了呢?我觉得还有希望,首先我们选取的A股,受公司内部人为操作太多,所以我认为可以加入公司本身的经营状况信息,用神经网络做出来的东西会更准确,但是公司内部的一些数据是弄不到的,所以这个方案只能搁浅。另外只能考虑换数据集,做中国香港或者国外的股票,这样受人力的影响会小一些,但是现在科创的时间只剩半年了,从头再来,知道会怎么样?很希望能想到好的方法来解决这个问题。总之,我会努力!

最近做了一些小项目,事情比较多,数据挖掘的进度慢了下来,一是因为技术上遇到了一些瓶颈,需要我们解决;二是因为我在想办法提高我们数据挖掘的质量,神经网络上遇到的麻烦一直困扰着我。最近我们的工作需要写一些总结去参加学校的一个论坛,虽然我不觉得有什么意义,但是可以作为一个整理思绪的理由,加上一些朋友也在关注着我们,于是我决定继续写下去。这一篇不会涉及太多的技术问题,更多的是工程问题,也就是我们在实际操作过程中的麻烦事,我会从头开始讲起,写出来给大家分享。从下一篇开始,我会开始写写算法,我会尽量还是以股票为实例,不做太多抽象。 1.数据预处理的选择。 在拿到数据的时候,我们得到的是TXT,花了些钱网上买的,我先把数据导入到了数据库里,这时有一个选择问题,是把数据留在数据库里做预处理,还是提取出来在外面做。我们可以预想对数据的一些操作,离散化,归一化,计算指标等等,前者应该更为专业一些,但是我们查看指标的各种公式发现如果我们涉及的指标计算量十分的大,有些极其复杂,如果在数据库里操作也许会遇到很多SQL不好写。但是如果在数据库外面操作,编程量会提高几倍,另外有一个数据量的问题,200多万行数据,低版本的EXCEL是装不下的,还好EXCEL2007最多可以支持104万行左右,把原表分成3份可以解决。最后我们选择了在外面处理,看上去像是绕了弯子,但是实际上风险是相对小一些的,因为对于计算一个指标的数据,在数据库外面编程的灵活性显然是要比用SQL语句操作要大的。至于为什么要计算指标,因为指标的完整数据是买不到的,至少我没找到买的地方,于是我们自己动手算,这也是被逼的。 2.预处理程序。 BM同学为我们写了决策树以及神经网络的预处理程序,它的整个过程在之前的文章已经写过,这里就不再重复了,写得很不错,贴上代码分享一下。需要注意的是,BM同学要求读入数据要为TXT格式的,他好用C语言读,于是我在这之前使用JAVA的POI扩展包把数据给整理成了TXT格式,后来我们一切对EXCEL的操作都是用POI做的。对于输出的格式,是WEKA的ARFF格式,其实就是TXT的前面加了一些声明。

3.指标计算。 指标计算的工作量非常大,由于在EXCEL中编程操作,需要编写各种不同的程序来处理不同的指标。有一个比较郁闷的地方,在于数据处理完导出的时候,需要把XLS格式转化为CSV格式,如果我们手动,自然是很简单,不过文件太多,要编程做,POI也没有这个功能。后来我们聪明的ZYN和CXF两位女同志在网上找到了一个开源的小项目,叫OPENCSV(看清楚哦,不是大名鼎鼎的OPENCV,也不是做版本管理的OPENCVS),这个项目开发的包可以实现我们想要的功能,但是悲剧就悲剧在这里,生成的CSV文件从表面看上去没问题,但是WEKA无法识别,后面我们查错觉得可能是OPENCSV这个项目本身的BUG,我们也没有多余的时间去查看项目的源码,所以最后还是换了一种方式:直接把XLS转换为ARFF格式。 4.关于决策树生成的规则。 决策时生成的规则是很难看的,我们做技术的也许会看得比较明白,但是用户肯定是不懂的,所以完善规则的可读性我们做了一些工作。每支股票我们选出了几十到几百个可供索引的规则,加在一起应该有近万条,在WEKA中跑出来的规则形式如下: 600036 = '(8.5355-inf)': '(8.0135-inf)' (6.0/1.0) (这是600000号股票的规则之一) 这个规则的意思是当600036这支股票涨幅是在8.5355到涨停(或者更高,因为最早是没有涨停限制的)时,600000号股票是8.0135到涨停这个涨幅,这样的情况历史上发生了6次,但是有一次是被错误分类的。(如果不明白什么叫错误分类,可以去看看决策树的C4.5算法)换个容易理解的说法,即这条信息的可信度为6分之5。对于怎样处理规则会让用户觉得友好,我们觉得这是对我们的一大挑战。 5.关于神经网络。 我实在不想说太多,因为我们的神经网络做得真的够糟,用户至少需要输入20几个浮点数才能进行一次预测,这实在很考验人的耐心,但是我们也很无奈,手里的信息实在有限,输入的麻烦没办法解决,而且神经网络出的结果平均误差也是较大的。(涨跌幅相差2%-3%,但是请注意,这是一个平均值,所以我对此并不乐观)对于预测的结果到底如何,那真的只有看人品了,我们的方法最多只能给个大概的变化方向参考。还好我对于我们的其他两部分较乐观,否则我会考虑放弃这个项目。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于不同机器学习算法的股市行情研究
在证券市场中,存在着大量历史交易数据。近年来随着大数据兴起,数据挖掘技术在股市中也得到了广泛的关注,在阅读文献的基础上我们小组对股市中不同情况如行业板块联动、行业指数涨跌预测、个股价格涨跌预测分别采用不同的机器学习算法进行分析。
Python进阶者
2019/04/09
1.1K0
基于不同机器学习算法的股市行情研究
【数据挖掘】详细解释数据挖掘中的 10 大算法(上)
在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法,今天我打算用简单的语言来解释一下。 一旦你知道了这些算法是什么、怎么工作、能做什么、在哪里能找到,我希望你能把这篇博文当做一个
陆勤_数据人网
2018/02/27
1.3K0
【数据挖掘】详细解释数据挖掘中的 10 大算法(上)
《解锁Weka:数据挖掘实战的得力助手》
在数据爆炸的时代,从海量数据中挖掘有价值的信息,对企业和研究者来说至关重要。Weka作为一款强大的开源数据挖掘工具,为我们提供了丰富的算法和便捷的操作界面,在众多实际项目中发挥着关键作用。接下来,让我们通过具体案例深入了解Weka的应用,并探讨使用过程中的注意事项。
程序员阿伟
2025/01/31
1200
《解锁Weka:数据挖掘实战的得力助手》
数据挖掘10大算法详细介绍
在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法,今天我打算用简单的语言来解释一下。
用户3003813
2018/09/06
2K0
数据挖掘10大算法详细介绍
10大数据挖掘算法及其简介
AiTechYun 编辑:xiangxiaoshan 我希望你能把这篇文章作为一个跳板,学习更多关于数据挖掘的知识。 算法如下: 1. C4.5 2. k-means 3. 支持向量机 4. Apriori 5. EM 6. PageRank 7. AdaBoost 8. kNN 9. Naive Bayes 10. CART 1.C4.5 C4.5以决策树的形式构造了一个分类器。为了做到这一点,C4.5给出了一组已经分类的数据。分类器是数据挖掘中的一个工具,它取一堆数据来表示我们想要分类的东西,并试图预测
企鹅号小编
2018/01/19
9550
MADlib——基于SQL的数据挖掘解决方案(1)——数据挖掘入门
一、什么是数据挖掘         数据挖掘(Data Mining),也叫数据开采、数据采掘等,是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,自动提取隐含在其中的、人们事先不知道的,
用户1148526
2018/01/03
2K0
MADlib——基于SQL的数据挖掘解决方案(1)——数据挖掘入门
数据挖掘系列(6)决策树分类算法
 从这篇开始,我将介绍分类问题,主要介绍决策树算法、朴素贝叶斯、支持向量机、BP神经网络、懒惰学习算法、随机森林与自适应增强算法、分类模型选择和结果评价。总共7篇,欢迎关注和交流。   这篇先介绍分类问题的一些基本知识,然后主要讲述决策树算法的原理、实现,最后利用决策树算法做一个泰坦尼克号船员生存预测应用。 一、分类基本介绍   物以类聚,人以群分,分类问题只古以来就出现我们的生活中。分类是数据挖掘中一个重要的分支,在各方面都有着广泛的应用,如医学疾病判别、垃圾邮件过滤、垃圾短信拦截、客户分析等等。分类问题
小莹莹
2018/04/23
1.6K0
数据挖掘系列(6)决策树分类算法
数据挖掘复习(包括一些课本习题)[通俗易懂]
1.1.数据挖掘处理的对象有哪些? 处理某一专业领域中积累的数据; 1.2.数据挖掘在电子商务中的客户关系管理起到非常重要的作用;
全栈程序员站长
2022/09/03
2.3K0
数据挖掘复习(包括一些课本习题)[通俗易懂]
数据挖掘领域的十大经典算法
哲学家阿多诺
2024/08/20
1650
数据挖掘领域的十大经典算法
数据挖掘十大经典算法(包括各自优缺点 / 适用数据场景)
本文主要分析皆来自其他资料,借用较为权威的总结来对我已经学习的这些经典算法做一个极为精简的概述(根据自身经验有一定修改),另外同时附上机器学习实战中作者对各种算法的评价。另外机器学习实战这本书是本人看了这么多书籍或者资料中唯一一本坚持从头看到尾,看完了的书籍,包括其中的代码皆实践运行过,收获颇多,个人认为虽然这本书时间上已经算是老资料了,但其中作者的各种总结和代码的演练都由浅入深(前提还是要有一点基础的),让我能看懂并能从中学到东西,可能当时很多东西比较熟悉,后来淡忘,但当再次接触或使用它时能很快的重拾,所以如果你需要一门较为优秀的教材作为机器学习的入门资料我会推荐给你《机器学习实战》。
全栈程序员站长
2022/07/01
1.4K0
数据挖掘十大经典算法(包括各自优缺点 / 适用数据场景)
挖掘算法&模型
原文:一只鸟的天空(http://blog.csdn.net/heyongluoyao8) 在进行数据挖掘时,首先要进行商业理解,即我们需要达到什么目的,解决什么问题;其次需要进行数据理解,我们需要哪些数据以及需要什么样的数据;接着需要进行数据准备,即进行相关数据采集与读取,并进行数据预处理;继而建立相关模型,即使用什么算法与模型去解决这个问题;进而进行模型评估,即采用一些指标评价模型的好坏程度;然后,进行模型发布,即当模型的效果达到设定值之后,我们将模型进行上线发布;最后,进行模型更新
机器学习AI算法工程
2018/03/13
1.1K0
《python数据分析与挖掘实战》笔记第5章
分类和预测是预测问题的两种主要类型,分类主要是预测分类标号(离散属性),而预测 主要是建立连续值函数模型,预测给定自变量对应的因变量的值。
周小董
2021/03/03
9630
数据挖掘18大算法实现以及其他相关经典DM算法
算法使用方法在每个算法中给出了3大类型,主算法程序,调用程序,输入数据,调用方法如下: 将需要数据的测试数据转化成与给定的输入格式相同,然后以Client类的测试程序调用方式进行使用。也可以自行修改算法程序,来适用于自己的使用场景。 18大经典DM算法18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的博文链接,希望能够帮助大家学。 目前追加了其他的一些经典的DM算法,在others的包中涉及聚类,分类,图算法,搜索算等等,没有具体分类。
机器学习AI算法工程
2018/03/13
1.5K0
数据挖掘150道试题 敢不敢来自测!
单选题 1. 某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?(A) A. 关联规则发现 B. 聚类 C. 分类 D. 自然语言处理 2. 以下两种描述分别对应哪两种对分类算法的评价标准? (A) (a)警察抓小偷,描述警察抓的人中有多少个是小偷的标准。 (b)描述有多少比例的小偷给警察抓了的标准。 A. Precision, Recall B. Recall, Precision C. Precision, ROC D. Recall, ROC 3.
CDA数据分析师
2018/02/11
2K0
【大数据分析与挖掘技术】概述
需要是发明之母。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。数据挖掘是人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,作出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,作出正确的决策。
Francek Chen
2025/01/22
1600
【大数据分析与挖掘技术】概述
大数据时代下数据挖掘技术的应用
原文链接:https://mp.weixin.qq.com/s/bxSEO4gKQ-BbDWT1BNnwyw
月牙寂道长
2019/07/02
1.9K0
大数据时代下数据挖掘技术的应用
【趣味】数据挖掘(6)——借水浒传故事,释决策树思路
决策树 (又称判定树,Decision Tree)是硕、博士生数据挖掘课程要点和难点,教学实践表明,这一章需要数学基础知识多,难得有趣。明知是难点,偏向难点行,再难也要“趣味”一番,从课程PPT中取了一些素材,把漫谈的焦点选在了水泊梁山。 天罡地煞之精彩出笼 水浒传第71回“忠义堂石碣受天文,梁山泊英雄排座次”中,施耐庵有段精彩的描述: “….忠义堂上做醮至第七日,…三更,….只听得天上一声响,如裂帛相似,…卷出一块火来,…. 竟钻入正南地下去了。宋江随即叫人将铁锹锄头掘开泥土,…只见一个
机器学习AI算法工程
2018/03/09
7250
【趣味】数据挖掘(6)——借水浒传故事,释决策树思路
数据挖掘算法之决策树算法
数据挖掘算法之 决策树算法 机器学习中,决策树是一个预测模型;它代表的是对象属性值与对象值之间的一种映射关系。树中每个节点表示某个对象,每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应具有上述属性值的子对象。决策树仅有单一输出;若需要多个输出,可以建立独立的决策树以处理不同输出。 从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。 决策树学习也是数据挖掘中一个普通的方法。在这里,每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策
赵腰静
2018/03/09
8320
数据挖掘算法之决策树算法
如何通过自学,成为数据挖掘“高手”?
问题: 求教各位对数据挖掘有一定了解的达人,如何从“零”开始学习数据挖掘?需要掌握哪些基本的技能?(比如是不是一定要会用R进行简单编程、掌握哪些基本的数学知识等) 喜欢数学,本科有最基本的数学基础(数学分析、线代、概率论与统计、数论…),本身对数据挖掘很有兴趣,如果掌握了,对现在的工作也会很有帮助,所以下决心来从头学起。 tips1: 只是过来人,说点看法: 基础篇: 1. 读书《Introduction to Data Mining》,这本书很浅显易懂,没有复杂高深的公式,很合适入门的人。另外可以用这
机器学习AI算法工程
2018/03/09
9710
新手一看就秒懂的数据挖掘10大算法
一个优秀的数据分析师,除了要掌握基本的统计学、数据库、数据分析方法、思维、数据分析工具技能之外,还需要掌握一些数据挖掘的思想,帮助我们挖掘出有价值的数据,这也是数据分析专家和一般数据分析师的差距之一。
TASKCTL 任务调度平台
2020/07/20
6850
新手一看就秒懂的数据挖掘10大算法
推荐阅读
相关推荐
基于不同机器学习算法的股市行情研究
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档