Python金融大数据挖掘与分析全流程详解
作者:王宇韬 房宇亮 肖金鑫
出版社:机械工业出版社
ISBN:9787111633204
VIP会员免费
(仅需0.8元/天)
¥ 45.0
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
数据挖掘十大算法之C4.5(详细终结版) 评分:
本文详细介绍了决策树算法C4.5的工作原理以及后面的悲观剪枝原理,并通过实例进行阐明,最后,通过R语言实例进行了练习。
上传时间:2015-03 大小:559KB
- 225KB
Python实现决策树C4.5算法的示例
2021-01-21为什么要改进成C4.5算法 原理 C4.5算法是在ID3算法上的一种改进,它与ID3算法最大的区别就是特征选择上有所不同,一个是基于信息增益比,一个是基于信息增益。 之所以这样做是因为信息增益倾向于选择取值比较多的特征(特征越多,条件熵(特征划分后的类别变量的熵)越小,信息增益就越大);因此在信息增益下面加一个分母,该分母是当前所选特征的熵,注意:这里而不是类别变量的熵了。 这样就构成了新的特征选择准则,叫做信息增益比。为什么加了这样一个分母就会消除ID3算法倾向于选择取值较多的特征呢? 因为特征取值越多,该特征的熵就越大,分母也就越大,所以信息增益比就会减小,而不是像信息增益那样增大了,一
- 44KB
决策树C4.5算法_c4.5_决策树
2022-07-15这款程序仿真特别适合初学者联系,欢迎大家下载
- 6KB
决策树c4.5算法源代码
2014-07-16决策树经典算法的例子分析和说明,具体解释决策树的经典算法
- 1003KB
决策树c4.5算法
2018-12-24数据挖掘十大算法:决策树c4.5算法,可以快速了解c4.5算法原理
- 523KB
c4.5算法的具体步骤
2015-05-11讲述了该算法的具体实施步骤,详细讲解有助于初学者使用。
- 910KB
数据挖掘十大算法之C4.5
2017-05-16数据挖掘十大算法之C4.5
- 0B
数据挖掘十大算法之一C4.5(详细版终结版) - CSDN博客.mhtml
2022-11-22数据挖掘十大算法之一C4.5(详细版终结版) - CSDN博客.mhtml
- 1KB
数据挖掘领域十大算法代码实现C4.5.rar
2022-06-02数据挖掘领域十大算法代码实现C4.5.rar Python源代码哦,要看清除哦
- 312KB
机器学习十大算法之一 C4.5算法
2011-11-21机器学习十大算法之一 C4.5算法 pdf 文档
- 391KB
C4.5数据挖掘算法的研究和实现---以高中文理分科数据为例.doc
2021-09-01C4.5决策树算法是数据挖掘的十大经典算法之一。在最近几年,高中文理分科对于高中生来说,也是我国大多数省份高中生应注意的问题,本文是主要研究C4.5决策树算法,对于高中生文理分科问题作出相关分析,用于帮助高中...
- 5KB
决策树算法(matlab)
2013-10-17对于分类和回归两种 离散属性和连续属性的处理 缺失值的处理
- 8KB
C4.5算法java实现
2017-04-07C4.5算法 java实现 详细 界面
- 477KB
决策树C4.5算法,C语言写的,很好很强大
2009-06-02c语言的决策树C4.5。数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。决策树的分类模型,以其特有的优点广为人们采用。首先,决策树方法结构简单,便于人们理解;其次,决策树模型效率高,对训练集数据量较大的情况较为适合;第三.决策树方法通常不需要受训数据外的知识;第四,决策树方法具有较高的分类精确度。
- 190KB
算法的python实现代码、测试数据集及结果
2019-01-14压缩包中包含算法的Python实现代码、测试数据集及运行结果,可供感兴趣的同学参考。因为现在的实现并不能对所有的数据集都得到良好的效果,所以如果哪位同学有更好的想法,希望能不吝赐教。
- 326KB
机器学习十大算法:C4.5
2014-01-22机器学习十大算法:C4.5
- 45.8MB
数据挖掘十大算法_高清pdf
2018-03-20详细介绍了10种在实际中用途最广、影响最大的数据挖掘算法:1C4.5;2K-Means;3SVM:SupportVectorMachines;4Apriori;5EM;6PageRank;7AdaBoost;8kNN:k-NearestNeighbors;9NaiveBayes;10CART:...
- 255KB
C4.5算法源码 c语言实现
2009-03-21c4.5算法实现 用c语言实现 经过调试 可直接使用 在vc下运行
- 8KB
机器学习C4.5算法C语言实现
2015-03-21里面的数据来自UCI库,机器学习C4.5算法完全采用C语言实现
- 4.20MB
数据挖掘十大算法.pdf
2021-09-15数据挖掘十大算法.pdf
- 407KB
C4.5决策树算法
2015-11-13C4.5_ Programs for Machine Learning.pdf,一本用于学习数据挖掘的必备书籍,主要介绍C4.5决策树算法。
- 4KB
c4.5训练集
2015-05-14c4.5训练集 matlab代码 可以帮助c4.5运行
- 131KB
python实现决策树C4.5算法详解(在ID3基础上改进)
2020-12-24一、概论 C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”,C4.5是选择信息增益率最大的属性作为树节点。 二、信息增益 以上公式是求信息增益率(ID3的知识点) 三、信息增益率 信息增益率是在求出信息增益值在除以。 例如下面公式为求属性为“outlook”的值: 四、C4.5的完整代码 from numpy import * from scipy import * from math import log import operator #计算给定数据的香浓熵: def calcShannonEnt(
- 1.11MB
Apriori算法 C语言实现
2012-07-27Apriori算法 C语言实现 线性表结构加数组
- 10KB
C实现的关联规则算法
2009-07-28C语言实现的Apriori关联规则算法 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections; namespace Apriori { //事务 struct trans { public string tID; public ArrayList items; } //项集和支持度计数 struct itemAndSup { public ArrayList items; public int sup; } public partial class Form1 : Form { private ArrayList tData = new ArrayList(); //事务数据 private int minSup = 2; //最小支持度计数阀值 private ArrayList C0 = new ArrayList(); //L的超集 private ArrayList L0 = new ArrayList(); //频繁k项集 private int step; //已完成步骤数 private bool finish; //算法是否完成 public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Reset(); //test1(); } private void Reset() { tData.Clear(); C0.Clear(); L0.Clear(); this.TDataView.Items.Clear(); this.CResultView.Items.Clear(); this.LResultView.Items.Clear(); this.TDataView.Items.Add("TID\t商品ID的列表\n"); this.MinSupTextBox.Text = minSup.ToString(); step = 0; finish = false; } private void AddItem_Click(object sender, EventArgs e) { Trans addTrans = new Trans(); if (addTrans.ShowDialog() == DialogResult.OK) { trans t = new trans(); t.tID = addTrans.GetTID(); t.items = addTrans.GetItemList(); AddItemToDataView(t); tData.Add(t); } } private void DeleteItem_Click(object sender, EventArgs e) { if (this.TDataView.SelectedIndex == 0) return; tData.RemoveAt(this.TDataView.SelectedIndex - 1); this.TDataView.Items.RemoveAt(this.TDataView.SelectedIndex); } private void Next_Click(object sender, EventArgs e) { if (finish == true) { this.Next.Text = "计算下一步"; Reset(); return; } ArrayList OldL = new ArrayList(L0); //增加步骤计数,用来决定计算C或者是L。 step++; //计算L if (step % 2 == 1) { //找出频繁1项集L1 if (step == 1) { for (int i = 0; i < tData.Count; i++) { trans t = (trans)tData[i]; for (int j = 0; j < t.items.Count; j++) { bool flag = true; for (int k = 0; k < L0.Count; k++) { if (((itemAndSup)L0[k]).items[0] == t.items[j]) { flag = false; break; } } if (flag == false) continue; ArrayList items = new ArrayList(); items.Add(t.items[j]); int sup = FindItemSup(items); if (sup >= minSup) { itemAndSup temp = new itemAndSup(); temp.sup = sup; temp.items = items; L0.Add(temp); } } } } //通过Ck来确定Lk else { L0.Clear(); for (int i = 0; i < C0.Count; i++) { itemAndSup temp = (itemAndSup)C0[i]; if (temp.sup >= minSup) L0.Add(temp); } } //对L0排序 { } //更新L的视图 { if (L0.Count != 0) { this.LResultView.Items.Clear(); this.LResultView.Items.Add("项集\t支持度计数\n"); for (int i = 0; i < L0.Count; i++) { ArrayList items = ((itemAndSup)L0[i]).items; int sup = ((itemAndSup)L0[i]).sup; string LResultLine = ""; for (int j = 0; j < items.Count; j++) { LResultLine = LResultLine + items[j].ToString() + ","; } LResultLine = LResultLine + "\t" + sup + "\n"; this.LResultView.Items.Add(LResultLine); } } else { this.LResultView.Items.Clear(); this.LResultView.Items.Add("项集\t支持度计数\n"); for (int i = 0; i < OldL.Count; i++) { ArrayList items = ((itemAndSup)OldL[i]).items; int sup = ((itemAndSup)OldL[i]).sup; string LResultLine = ""; for (int j = 0; j < items.Count; j++) { LResultLine = LResultLine + items[j].ToString() + ","; } LResultLine = LResultLine + "\t" + sup + "\n"; this.LResultView.Items.Add(LResultLine); } } } //更新说明 { if (L0.Count != 0) this.Msg.Text = "比较候选支持度计数与最小支持度计数"; else { this.Msg.Text = "由于L为空,算法终止"; this.Next.Text = "完成(重新开始)"; finish = true; } } } //计算C else { //通过将Lk-1与自身连接产生Ck C0.Clear(); for (int i = 0; i < L0.Count; i++) { ArrayList items0 = ((itemAndSup)L0[i]).items; ArrayList addItem = new ArrayList(); for (int j = 0; j < L0.Count; j++) { if (j == i) continue; ArrayList items1 = ((itemAndSup)L0[j]).items; for (int k = 0; k < items1.Count; k++) { /* if (items0.Contains(items1[k])) continue; */ //改进 if (((string)items1[k]).CompareTo((string)items0[items0.Count - 1]) <= 0) continue; if (addItem.Contains(items1[k])) continue; //对items0+items1[k]进行子集测试 if (ItemTest(items0, items1[k]))//测试通过 { ArrayList items = new ArrayList(items0); items.Add(items1[k]); items.Sort(); int sup = FindItemSup(items); itemAndSup temp = new itemAndSup(); temp.items = items; temp.sup = sup; C0.Add(temp); addItem.Add(items1[k]); } } } } //更新C的视图 { this.CResultView.Items.Clear(); this.CResultView.Items.Add("项集\t支持度计数\n"); for (int i = 0; i < C0.Count; i++) { ArrayList items = ((itemAndSup)C0[i]).items; int sup = ((itemAndSup)C0[i]).sup; string CResultLine = ""; for (int j = 0; j < items.Count; j++) { CResultLine = CResultLine + items[j].ToString() + ","; } CResultLine = CResultLine + "\t" + sup + "\n"; this.CResultView.Items.Add(CResultLine); } } //更新说明 { if (C0.Count != 0) this.Msg.Text = "由L产生C,并扫描D,对每个候选计数"; else { this.Msg.Text = "由于C为空,算法终止"; this.Next.Text = "完成(重新开始)"; finish = true; } } } } //把事务添加到视图 private void AddItemToDataView(trans t) { string transLine = ""; //添加TID transLine = transLine + t.tID + "\t"; //添加商品ID列表 for (int i = 0; i < t.items.Count; i++) { transLine = transLine + t.items[i].ToString() + ","; } transLine = transLine + "\n"; this.TDataView.Items.Add(transLine); } //计算项集的Sup private int FindItemSup(ArrayList item) { int count = 0; for (int i = 0; i < tData.Count; i++) { trans t = (trans)tData[i]; bool flag = true; for (int j = 0; j < item.Count; j++) { if (!(t.items.Contains(item[j]))) { flag = false; break; } } if (flag == true) count++; } return count; } //对items0+items1[k]进行子集测试 private bool ItemTest(ArrayList items, object addItem) { for (int i = 0; i < items.Count; i++) { ArrayList newItems = new ArrayList(items); newItems.RemoveAt(i); newItems.Add(addItem); newItems.Sort(); bool flag1 = false, flag2; for (int j = 0; j < L0.Count; j++) { ArrayList tempItems = ((itemAndSup)L0[j]).items; flag2 = true; for (int k = 0; k < tempItems.Count; k++) { if (tempItems[k] != newItems[k]) { flag2 = false; break; } } if (flag2 == true) { flag1 = true; break; } } if (flag1 == false) return false; } return true; } //test1 private void test1() { trans t1 = new trans(); t1.tID = "T100"; t1.items = new ArrayList(); t1.items.Add("I1"); t1.items.Add("I2"); t1.items.Add("I5"); AddItemToDataView(t1); tData.Add(t1); trans t2 = new trans(); t2.tID = "T200"; t2.items = new ArrayList(); t2.items.Add("I2"); t2.items.Add("I4"); AddItemToDataView(t2); tData.Add(t2); trans t3 = new trans(); t3.tID = "T300"; t3.items = new ArrayList(); t3.items.Add("I2"); t3.items.Add("I3"); AddItemToDataView(t3); tData.Add(t3); trans t4 = new trans(); t4.tID = "T400"; t4.items = new ArrayList(); t4.items.Add("I1"); t4.items.Add("I2"); t4.items.Add("I4"); AddItemToDataView(t4); tData.Add(t4); trans t5 = new trans(); t5.tID = "T500"; t5.items = new ArrayList(); t5.items.Add("I1"); t5.items.Add("I3"); AddItemToDataView(t5); tData.Add(t5); trans t6 = new trans(); t6.tID = "T600"; t6.items = new ArrayList(); t6.items.Add("I2"); t6.items.Add("I3"); AddItemToDataView(t6); tData.Add(t6); trans t7 = new trans(); t7.tID = "T700"; t7.items = new ArrayList(); t7.items.Add("I1"); t7.items.Add("I3"); AddItemToDataView(t7); tData.Add(t7); trans t8 = new trans(); t8.tID = "T800"; t8.items = new ArrayList(); t8.items.Add("I1"); t8.items.Add("I2"); t8.items.Add("I3"); t8.items.Add("I5"); AddItemToDataView(t8); tData.Add(t8); trans t9 = new trans(); t9.tID = "T900"; t9.items = new ArrayList(); t9.items.Add("I1"); t9.items.Add("I2"); t9.items.Add("I3"); AddItemToDataView(t9); tData.Add(t9); } private void Example_Click(object sender, EventArgs e) { test1(); } private void MinSupTextBox_TextChanged(object sender, EventArgs e) { try { minSup = int.Parse(this.MinSupTextBox.Text); } catch { MessageBox.Show("非法输入!"); this.MinSupTextBox.Text = minSup.ToString(); } } } }
- 1.83MB
数据挖掘十大算法
2015-07-10数据挖掘十大算法,来自2006年数据挖掘大会
- 1.57MB
数据挖掘十大算法之决策树详解
2018-11-27数据挖掘十大算法之决策树详解数据挖掘十大算法之决策树详解
- 839KB
数据挖掘中十大经典算法
2020-10-27数据挖掘十大经典机器学习算法,国际权威的学术组织 the IEEE International Conference on Data Mining (ICDM) 2006 年 12 月评选出了数据挖掘领域的十大经典算法: C4.5, k-Means, SVM, Apriori, EM, PageRank, ...
- 5.35MB
数据挖掘十大算法吴信东 英文版
2018-12-12数据挖掘十大算法英文版pdf,资料不错,想看英文的可以看看,注意:不是中文版,共有10个文件,书名是《The Top Ten Algorithms in Data Mining》