数据分析
有时候数据集太大或格式太抽象以致于在某些列或模式上无法分析和评估统计。
数据向量附带一些辅助工具来执行数据分析,以及最大值、平均值、最小值和其他有用的度量。
用spark进行数据分析
如果你已经把你的数据加载到Apache Spark,数据向量有一个特殊的AnalyzeSpark类可以生成直方图,收集统计数据,并返回数据质量信息。假设你你已经把数据加载到一个Spark RDD,把 JavaRDD
and Schema
传到这个类。
如果你在scala中使用数据向量并且你的数据已经被加载到一个常规的RDD
class,你可以通过调用 .toJavaRDD()
转换它,它返回一个JavaRDD。如果你需要把它还原,调用rdd()。
如下的代码演示了在Spark中使用 RDD javaRdd
和 概要mySchema 对2D数据集的分析。
import org.datavec.spark.transform.AnalyzeSpark;
import org.datavec.api.writable.Writable;
import org.datavec.api.transform.analysis.*;
int maxHistogramBuckets = 10
DataAnalysis analysis = AnalyzeSpark.analyze(mySchema, javaRdd, maxHistogramBuckets)
DataQualityAnalysis analysis = AnalyzeSpark.analyzeQuality(mySchema, javaRdd)
Writable max = AnalyzeSpark.max(javaRdd, "myColumn", mySchema)
int numSamples = 5
List<Writable> sample = AnalyzeSpark.sampleFromColumn(numSamples, "myColumn", mySchema, javaRdd)
注意到如果你有序列数据,这里同样有特别的方法:
SequenceDataAnalysis seqAnalysis = AnalyzeSpark.analyzeSequence(mySchema, sequenceRdd)
List<Writable> uniqueSequence = AnalyzeSpark.getUniqueSequence("myColumn", seqSchema, sequenceRdd)
本地分析
AnalyzeLocal类工作起来和Spark的副本非常类似并且有相同的API。传一个可以允许迭代数据集的RecordReader来替代传RDD。
import org.datavec.local.transforms.AnalyzeLocal;
int maxHistogramBuckets = 10
DataAnalysis analysis = AnalyzeLocal.analyze(mySchema, csvRecordReader, maxHistogramBuckets)
实用工具箱
本地分析
分析指定的数据-返回一个DataAnalysis对象,带有每个列的统计信息。
analyze
public static DataAnalysis analyze(Schema schema, RecordReader rr, int maxHistogramBuckets)
分析指定的数据-返回一个DataAnalysis对象,带有每个列的统计信息。
- 参数 schema是数据的概要
- 参数rr是要分析的数据
- 返回DataAnalysis对象
analyzeQualitySequence
public static DataQualityAnalysis analyzeQualitySequence(Schema schema, SequenceRecordReader data)
分析序列数据的质量-提供一个缺失值的报告,不符合概要的值。
- 参数 schema是数据的概要
- 参数data是要分析的数据
- 返回DataQualityAnalysis对象
analyzeQuality
public static DataQualityAnalysis analyzeQuality(final Schema schema, final RecordReader data)
分析数据的质量-提供一个缺失值的报告,不符合概要的值。
- 参数 schema是数据的概要
- 参数data是要分析的数据
- 返回DataQualityAnalysis对象
分析Spark
一个用于分析的静态方法
analyzeSequence
public static SequenceDataAnalysis analyzeSequence(Schema schema, JavaRDD<List<List<Writable>>> data,
int maxHistogramBuckets)
- param schema
- param data
- param maxHistogramBuckets
- return
analyze
public static DataAnalysis analyze(Schema schema, JavaRDD<List<Writable>> data)
分析指定的数据-返回一个DataAnalysis对象,带有每个列的摘要信息。
- 参数 schema是数据的概要
- 参数data是要分析的数据
- 返回DataQualityAnalysis对象
analyzeQualitySequence
public static DataQualityAnalysis analyzeQualitySequence(Schema schema, JavaRDD<List<List<Writable>>> data)
在一个列中随机采样值
- 参数count是要采样的数量
- 参数columnName 是要从哪个列采样
- 参数schema是概要
- 参数data是指要从哪采样
- return A list of random samples 返回一个采样的集合
analyzeQuality
public static DataQualityAnalysis analyzeQuality(final Schema schema, final JavaRDD<List<Writable>> data)
分析数据的质量-提供一个缺失值的报告,不符合概要的值。
- 参数 schema是数据的概要
- 参数data是要分析的数据
- 返回DataQualityAnalysis对象
min
public static Writable min(JavaRDD<List<Writable>> allData, String columnName, Schema schema)
在一个指定列中随机采样一个无效的集合。按Schema / ColumnMetaData来被认为是无效的。
- 参数numToSample是采样无效值的最大数
- 参数columnName是指从哪个列进行无效值采样
- 参数schema是数据概要
- 参数data是数据
- 返回一个无效的样例
max
public static Writable max(JavaRDD<List<Writable>> allData, String columnName, Schema schema)
Get the maximum value for the specified column
从一个指定列中得到最大值
- 参数allData是所有数据
- 参数columnName是指从哪个列获取最大值
- 参数schema是指数据概要
- 返回列的最大值
有任何问题请联系微信
相关推荐
赠送jar包:datavec-data-image-1.0.0-M1.1.jar; 赠送原API文档:datavec-data-image-1.0.0-M1.1-javadoc.jar; 赠送源代码:datavec-data-image-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:datavec-data-...
赠送jar包:datavec-api-1.0.0-M1.1.jar; 赠送原API文档:datavec-api-1.0.0-M1.1-javadoc.jar; 赠送源代码:datavec-api-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:datavec-api-1.0.0-M1.1.pom; 包含...
数据载体DataVec是Apache 2.0许可的库,用于机器学习ETL(提取,转换,加载)操作。 DataVec的目的是将原始数据转换为可用的矢量格式,然后将其提供给机器学习算法。 通过向该存储库贡献代码,您同意根据Apache 2.0...
赠送jar包:datavec-api-1.0.0-M1.1.jar; 赠送原API文档:datavec-api-1.0.0-M1.1-javadoc.jar; 赠送源代码:datavec-api-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:datavec-api-1.0.0-M1.1.pom; 包含...
赠送jar包:datavec-data-image-1.0.0-M1.1.jar; 赠送原API文档:datavec-data-image-1.0.0-M1.1-javadoc.jar; 赠送源代码:datavec-data-image-1.0.0-M1.1-sources.jar; 赠送Maven依赖信息文件:datavec-data-...
赠送jar包:deeplearning4j-datavec-iterators-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-datavec-iterators-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-datavec-iterators-1.0.0-M1.1-sources....
赠送jar包:deeplearning4j-datavec-iterators-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-datavec-iterators-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning4j-datavec-iterators-1.0.0-M1.1-sources....
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
DataVec是数据预处理工具,它的作用在于将原始数据转换为适合输入到深度学习模型的形式。书中会讲解如何使用DataVec进行数据清洗、格式化和标准化,这对于确保模型的训练质量和性能至关重要。 此外,本书可能还会...
- **数据处理**:DataVec提供了数据读取、转换和预处理的功能,支持CSV、JSON、Avro等多种数据格式。 - **RecordReader**:DataVec中的RecordReader类负责从各种数据源中读取数据,并将其转换为可用于训练的格式。...
基于java+深度学习开发的农作物病虫害识别+APP软件+源码+项目解析+数据+模型训练+数据库,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java+深度学习开发的...
- **数据预处理**: DataVec支持多种数据类型的数据预处理,如图像的读取、保存、灰度化、翻转、归一化等。 - **特征提取**: 通过特征提取器将原始数据转换为模型可以处理的格式。 #### 实例分析 本部分将通过一个...
2. **datavec-hadoop-0.9.1.jar**:Datavec是DL4J的一部分,它是一个数据采集和转换工具,此版本支持Hadoop,允许大规模分布式数据处理,适合处理大型数据集。 3. **deeplearning4j-zoo-0.9.1.jar**:DL4J Zoo提供...
首先,你需要了解 Deeplearning4j 的基本架构,包括其核心组件如 Nd4j(用于数值计算)、DataVec(数据预处理)、Sklearn4j(与Python Scikit-learn的接口)等。理解这些组件的功能和相互关系是使用 Deeplearning4j ...
根据提供的文件信息,本次实验的主要任务是通过编程实现基于信息熵进行划分选择的决策树算法,并为特定数据生成一棵决策树。以下是对相关信息点的详细解释: ### 1. 决策树算法基础 决策树是一种监督学习方法,...
dl4j-examples-0.9.1.jar 深度学习示例,其中包括: •deeplearning4j-core,包含神经网络实现方法 •nd4j-native-platform,ND4J库的CPU版本,驱动DL4J •datavec-api - Datavec是我们的数据向量化和加载库
8. **资源集成**:Java社区提供了大量的第三方库,如ND4J(用于高效数值计算)、DataVec(数据预处理工具),以及Skymind的模型服务器(用于部署模型)。了解并学会使用这些工具,能提升神经网络开发的效率。 9. **...
- **DataVec**:主要用于处理数据的预处理工作,包括数据的抽取、转换、装载等ETL操作,支持多种类型的数据格式。 - **Deeplearning4j**:企业级的开源深度学习框架,支持Java和Scala编程,便于集成到现有的系统中...