数据分析
有时候数据集太大或格式太抽象以致于在某些列或模式上无法分析和评估统计。
数据向量附带一些辅助工具来执行数据分析,以及最大值、平均值、最小值和其他有用的度量。
用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-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-...
数据载体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】 ...
deeplearning4j-examples:Deeplearning4j示例(DL4J,DL4J Spark,DataVec)-源码
dl4j-examples-0.9.1.jar 深度学习示例,其中包括: •deeplearning4j-core,包含神经网络实现方法 •nd4j-native-platform,ND4J库的CPU版本,驱动DL4J •datavec-api - Datavec是我们的数据向量化和加载库
这意味着从原始数据开始,从任何位置以任何格式加载和预处理原始数据,以构建和调整各种简单和复杂的深度学习网络。 由于Deeplearning4J在JVM上运行,因此您可以将其与Java以外的各种基于JVM的语言一起使用,例如...
针对Java程式员所写的深度学习书籍,并使用DL4J, ND4J, DataVec等程式库,亚马遜预计2017年八月中出。
一个部分负责加载数据并对其进行预加工,以供网络学习。我们将这一部分称为ETL(提取、转换、加载)流程。 我们建立了名为DataVec 的库来简化这一流程。另一个部分则是实际的机器学习系统——这是DL4J的核心。
Although interest in machine learning has reached a high ...Use vectorization techniques for different data types with DataVec, DL4J’s workflow tool Learn how to use DL4J natively on Spark and Hadoop
deeplearning4j-docs Deeplearning4j及其所有库(DL4J,ND4J,Arbiter,DataVec等)的文档都位于此存储库中。 警告:请勿直接在此存储库中编辑用户指南。 提交将被还原。 请对主存储库进行更改,运行自动生成过程,...
Josh Patterson, Adam Gibson, "Deep Learning: A Practitioner'...Use vectorization techniques for different data types with DataVec, DL4J’s workflow tool Learn how to use DL4J natively on Spark and Hadoop
Deep Learning: A Practitioner's Approach by Josh Patterson ...Use vectorization techniques for different data types with DataVec, DL4J’s workflow tool Learn how to use DL4J natively on Spark and Hadoop
该程序与 DATEVEC 相同,但对秒进行四舍五入,因此消除了 60 秒未四舍五入值的问题。 它使用 DATAVEC 并在检查日期组件时需要一些时间。