`
john2007
  • 浏览: 77872 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Weka加载大数据量内存不足的解决办法

阅读更多

150M的训练集用WEKA做起来应该比较困难有这么几个办法:

1 增加内存。 其实WEKA不光可以用物理内存,还可以占用虚拟内存。把JAVA的可用内存设置成2G的话,如果机器的物理内存只有1G,操作系统是会在需要时自动在硬盘上划分一块出来作为虚拟内存的。不过这时候一般会处理得比较慢,因此不推荐这个方法。

2 抽样。从训练集中随机抽取一部分数据来作训练。在二分类的时候,一般样本数量达到几千个时就能预测得比较准确了。如果几千个样本还不怎么准,那要么是所用的分类算法不适合,要么数据中的输入变量根本无法预测目标变量。
我试过了KDD 99中“kddcup.data_10_percent” 数据集,接近50万条数据,做成ARFF文件后有70多M。在Explorer中10来秒就载入了,抽取1%的样本仅花了几秒钟。

3 增量学习(Incremental Learning)。所谓增量学习简单的说就是读取一条训练数据就修正一下模型,而不是把全部训练数据都读入之后才得到模型。在WEKA KnowledgeFlow 中支持增量学习算法。目前WEKA中有5种算法可以在这种方式下工作:NaiveBayesUpdateable, IB1, IBk, LWR。另外RacedIncrementalLogitBoost可以让任意的基于回归的算法来增量地学习分类任务。

要注意的是,有时候数据不是ARFF格式的,而是C45,CSV等格式。这时手动把数据转换成ARFF,会节省很多内存,并且数据集中的错误更容易被检测出来。

分享到:
评论
2 楼 john2007 2008-12-22  
yuancx 写道

可否请问抽样要怎么做?随机抽样吗?


当然是随机的了。
1 楼 yuancx 2008-12-22  
可否请问抽样要怎么做?随机抽样吗?

相关推荐

    数据挖掘weka使用C4.5实验报告

    实验结果将揭示数据量和属性复杂性与分类性能之间的关系,这对于理解模型在不同条件下表现的优劣至关重要。 例如,数据集过大可能导致训练时间增加,内存需求增大,而过多的属性可能会导致过拟合,降低模型的泛化...

    WEKA源码分析及源代码

    在研究中,WEKA被广泛用于验证新的算法设计,因为它提供了大量现实世界的数据集和标准评估方法。 总的来说,对WEKA源码的深入理解和分析对于提升机器学习技术能力、软件工程实践以及科研创新都是非常有价值的。通过...

    weka深入了解

    Weka加载大数据量内存不足的解决办法 当处理非常大的数据集时,可能会遇到内存不足的问题。Weka提供了一些解决方案来处理这种情况,例如使用流式处理、增量学习或减少数据维度的方法。 #### 8. 利用Weka编写数据...

    机器学习之weka简介

    除了上述功能,Weka还允许用户处理大数据量的问题,如通过外部内存(Out-of-Core)技术来加载和处理超过内存限制的数据。另外,Weka的Experimenter模块提供了实验设计和比较不同算法性能的框架,KnowledgeFlow提供了...

    热门在MATLAB中运行WEKA分类器:这是一个如何从MATLAB中选择参数并将其传递给Weka的示例-matlab开发

    Weka是一个开源的数据挖掘工具,包含了大量的预处理方法、分类器、聚类器和关联规则算法。MATLAB则是一个广泛使用的数值计算环境,适合进行复杂的数学计算和数据分析。下面我们将详细探讨如何在MATLAB中调用Weka的...

    数据挖掘会用到的UCI数据集 arff格式

    - **数据加载**:通过专用的工具或编程语言(如Python的`weka.core.arff`库)将ARFF文件加载到内存中,便于后续分析。 - **数据预处理**:处理缺失值、异常值,进行数据转换(如归一化、标准化),以及特征选择。 - ...

    基于 Java SE 的数据挖掘系统源码.zip

    7. **文件操作**:`java.nio.file`包提供了高效且灵活的文件读写功能,用于存储和加载大量数据。 8. **日志和调试**:`java.util.logging`或第三方库如Log4j用于记录程序运行时的信息,帮助开发者调试和优化代码。 ...

    KNIME_share.pptx

    3. **大数据处理能力**:KNIME的核心架构支持处理大量数据,不受内存限制,只需硬盘空间足够。这意味着它可以处理数千万甚至上亿级别的数据记录。 4. **丰富的内置节点**:KNIME内置了数百个数据集成、转换和分析...

    大数据平台应用方案介绍.pdf

    传统的数据库系统可能无法应对PB级别的数据量,而大数据平台如Hadoop HDFS(分布式文件系统)和NoSQL数据库(如MongoDB、Cassandra)则设计用于处理大规模数据,确保数据的高可用性和可扩展性。 再者,大数据平台...

    决策分析系统

    在Java中,main方法是程序执行的入口点,这里可能是加载数据、设置参数、启动分析流程的地方。 8. 模块化设计:一个完整的决策分析系统通常包含多个模块,如数据导入、预处理、模型训练、结果展示等。Java的模块化...

    计算机软件开发中Java编程语言的应用体会.zip

    - **Spark**:大数据处理框架Apache Spark大量使用Java,其核心API也以Java为主,提供了高效的数据处理和分析能力。 6. **Java的其他应用** - **云计算**:Java在云服务开发中也有广泛使用,如OpenStack的部分...

    PhotoManager:一个旨在研究处理大量图片的不同方法的项目

    总结来说,"PhotoManager"项目是Java技术在图像处理领域的一个实践案例,它涵盖了从基本的文件操作到复杂的图像处理和并发编程等多个方面,展示了Java在大数据量图片管理中的应用潜力。无论是对个人还是企业,掌握...

    JAVA编程语言在计算机软件开发中的应用.zip

    Java编程语言自1995年发布以来,已经成为全球范围内软件开发的重要工具,尤其在企业级应用、云计算、大数据处理、移动应用等多个领域扮演着核心角色。本资料将深入探讨Java在计算机软件开发中的广泛应用及其核心特性...

    matlab开发-并行分布式处理fwekaalgorithmsinmatlab

    总结来说,MATLAB中的并行分布式处理FWEKA算法结合控制系统,能够有效地提高数据挖掘的速度,优化控制策略,尤其是在处理大量数据和实时控制需求的场景下。通过正确配置并行环境、适配FWEKA算法和控制系统的接口,...

    计算机软件java编程特点及其技术应用 (2).zip

    3. **大数据处理**:Hadoop、Spark等大数据处理框架都大量使用Java,使得Java在大数据领域有着重要地位。 4. **云计算**:Java在云平台开发中也有广泛应用,例如OpenStack、CloudFoundry等云平台的部分组件就是用...

    机器学习十大算法

    - **从次级存储中挖掘数据**:当数据量过大无法全部加载到内存时,C4.5可以处理存储在磁盘上的大型数据集。 - **斜决策树**:允许节点测试多个属性,而不是单一属性,从而构建更加紧凑的决策树。 - **特征选择**:...

    机器学习算法 C4.5

    C4.5 支持从次级存储中分批加载数据,以便能够处理更大的数据集。 ##### 6.2 斜决策树 斜决策树允许节点使用多个属性来进行分裂,而不是仅依赖于单一属性。这种方式可以提高模型的准确性,但也可能导致更复杂的...

    机器学习十大算法(超详细、免费)

    1. **从次级存储挖掘**:当数据量过大时,不能完全加载到内存中,此时需要考虑如何高效地从磁盘读取数据进行处理。 2. **斜决策树**:传统的决策树只考虑单个属性的最佳分割点,而斜决策树则允许考虑多个属性的组合...

    ExercisesEDA:来自 EDALab UC3M 的练习

    6. 探索性分析:这可能涉及到更复杂的方法,如聚类、关联规则学习等,需要引入专门的数据挖掘库,如Weka或Elki。 7. 结果解释:最后,根据分析结果,形成对数据的见解和假设,为业务问题提供洞见。 在...

    Java:用Java完成的项目

    3. **大数据处理**:Hadoop、Spark等大数据处理框架大量使用Java,处理海量数据。 4. **桌面应用**:JavaFX或Swing库可用于创建桌面应用程序,提供丰富的图形用户界面。 5. **云计算**:Java在云计算领域也有广泛...

Global site tag (gtag.js) - Google Analytics