`
bewithme
  • 浏览: 430435 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DataVec/转换-2

    博客分类:
  • dl4j
阅读更多
stringMapTransform
public Builder stringMapTransform(String columnName, Map<String, String> mapping) 

在指定的列中用新的值替换一个或多个字符串值。map中的键是旧值;map中的值是要替换的新值。如果一个字符出现在数据中但不在map中,这个字符将不会被修改。

  • 参数columnName是需要进行替换值的列
  • 参数mapping是旧值和新值的映射
stringToTimeTransform
public Builder stringToTimeTransform(String column, String format, DateTimeZone dateTimeZone) 

 

把一个字符列(包括一个日期/时间字符)转换为时间列(通过解析日期/时间字符)

 

  • 参数column是包括日期/时间字符的列
  • 参数format是字符串的格式,时间格式按http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html 里的格试指定
  • 参数dateTimeZone是列的时区
appendStringColumnTransform
public Builder appendStringColumnTransform(String column, String toAppend) 

追加一个字符串到指定的列

  • 参数column是要追加字符串的列
  • 参数toAppend是要被追加到每个writable尾部的字符串
conditionalReplaceValueTransform
public Builder conditionalReplaceValueTransform(String column, Writable newValue, Condition condition) 

如果条件满足,把指定的例的值替换成指定新值。如果条件不满足,旧的值不会被修改。

  • 参数column是需要被操作的列
  • 参数newValue是当条件满足,用来替换旧值的字符串。
  • 参数condition是必须满足的条件
conditionalReplaceValueTransformWithDefault
public Builder conditionalReplaceValueTransformWithDefault(String column, Writable yesVal, Writable noVal, Condition condition) 

 

如果条件满足,将指定的列的值替换为指定的“yes”值,如果不满足条件,替换为指定的“no”值。

  • 参数column是需要被操作的列
  • param yesVal Value to use as replacement, if condition is satisfied  参数yesVal是在条件满足时用来替换旧值的值
  • 参数noVal是在条件不满足时用来替换旧值的值
  • 参数condition是必须满足的条件
conditionalCopyValueTransform
public Builder conditionalCopyValueTransform(String columnToReplace, String sourceColumn, Condition condition) 

 

如果条件满足,从另外一个列取值将指定的列值替换。需要注意的是条件可以是任何通用条件,包括在其它列上,不同于如果满足条件的情况下将被修改的列。

  • 参数columnToReplace是条件满足,值被替换的列。
  • 参数sourceColumn用于替换旧值的列名 
  • 参数condition是要用的条件 
replaceStringTransform
public Builder replaceStringTransform(String columnName, Map<String, String> mapping) 

 

在指定的列中替换一个或多个匹配正则表达式的字符串值。map中的键是正则表达式;map中的值是用于替换旧值的新值。例如:

原值 正则表达式  用于替换旧值的新值 结果
Data_Vec _   DataVec
B1C2T3 \\d one BoneConeTone
'&nbsp&nbsp4.25&nbsp' ^\\s+|\\s+$   '4.25'
  • 参数columnName是要进行替换的列
  • 参数mapping是旧值或正则表达式与新值的映射
ndArrayScalarOpTransform
public Builder ndArrayScalarOpTransform(String columnName, MathOp op, double value) 

在NDArray列上的点积数学运算

  • 参数columnName是要进行计算的NDArray列名
  • 参数op是要进行的数学运算
  • 参数value进行数学运算需要的值
ndArrayColumnsMathOpTransform
public Builder ndArrayColumnsMathOpTransform(String newColumnName, MathOp mathOp, String... columnNames) 

 

在NDArray列上进行一个点积数学运算(例如加法,减法,乘法)。已有列不会被改变,一个新的NDArray列会被添加。

  • 参数newColumnName是新的NDArray列列名
  • 参数mathOp是要进行的数学运算
  • 参数columnNames是用于运算的列名
ndArrayMathFunctionTransform
public Builder ndArrayMathFunctionTransform(String columnName, MathFunction mathFunction) 

 

在一个NDArray列上应用于个点积运算函数 (sin, tanh, abs 等)。这个操作在原来的列上进行。

  • 参数columnName是要进行运算的列名
  • 参数mathFunction是要进行应用的函数
ndArrayDistanceTransform
public Builder ndArrayDistanceTransform(String newColumnName, Distance distance, String firstCol,
                                                String secondCol) 

 

在两个大小相同的NDArray列上计算距离(余弦相似度,欧几里得,马哈顿)。这个操作会用结果添加一个新的列。

  • 参数newColumnName是新的结果列的列名
  • 参数distance是应用的距离
  • 参数firstCol是要参与距离计算的第一个列
  • 参数secondCol是要参与距离计算的第二个列
build
public TransformProcess build() 

创建一个TransformProcess对像


CategoricalToIntegerTransform  分类到整型转换

[源码]

Created by Alex on 4/03/2016.

map
public Object map(Object input) 

把一个对象转换为另外一个对象

  • 参数param是需要转换的对象
  • 返回一个转换后的writable对象
mapSequence
public Object mapSequence(Object sequence) 

转换一个序列

  • 参数sequence为要转换的序列
outputColumnName
public String outputColumnName() 

运算被执行后输出的列名

  • 返回输出列名
columnName
public String columnName() 

输出列名,这将经常和输入相同

  • 返回输出列名

CategoricalToOneHotTransform  分类到OneHot码转换

[源码]

Created by Alex on 4/03/2016.

 
map
public Object map(Object input) 

把一个对象转换为另外一个对象

  • 参数param是需要转换的对象
  • 返回一个转换后的writable对象
mapSequence
public Object mapSequence(Object sequence) 

转换一个序列

  • 参数sequence为要转换的序列
outputColumnName
public String outputColumnName() 

运算被执行后输出的列名

  • 返回输出列名
columnName
public String columnName() 

输出列名,这将经常和输入相同

  • 返回输出列名

IntegerToCategoricalTransform 整型到分类转换

[源码]

map
public Object map(Object input) 

把一个对象转换为另外一个对象

  • 参数param是需要转换的对象
  • 返回一个转换后的writable对象
mapSequence
public Object mapSequence(Object sequence) 

转换一个序列

  • 参数sequence为要转换的序列

PivotTransform 转置变换

[源码]

 

转置变换在两个列上操作。

 

  • 作为一个键值操作的一个分类列 
  • 另外一列包括一个必要的值,转置变换取键值对把它们分解为独立的列。

例如,用概要 [col0, key, value, col3]和带有键{a,b,c}的值,输出概要为 [col0, key[a], key[b], key[c], col3]并且输入(col0Val, b, x, col3Val) 映射到(col0Val, 0, x, 0, col3Val)。

当列被扩大时,默认值会被使用,例如0用作数字列。

 

transform
public Schema transform(Schema inputSchema) 
  • 参数keyColumnName为用于扩展的键列
  • 参数valueColumnName是包括值的列名称

StringToCategoricalTransform 字符串到分类转换

[源码]

把一个字符串列转换为分类列

 
map
public Object map(Object input) 

把一个对象转换为另外一个对象

  • 参数param是需要转换的对象
  • 返回一个转换后的writable对象
mapSequence
public Object mapSequence(Object sequence) 

转换一个序列

  • 参数sequence为要转换的序列

AddConstantColumnTransform 添加常量列变换

[源码]

添加一个新列,列中所有记录的值都是相同的


DuplicateColumnsTransform

[复制列转换]

 

复制一个或多个列。被复制的列就在原列的后面。

 

transform
public Schema transform(Schema inputSchema) 
  • 参数columnsToDuplicate是需要复制的列的列表
  • 参数newColumnNames是被复制后新列的名称
map
public Object map(Object input) 

把一个对象转换为另外一个对象

  • 参数input是需要转换的对象
  • 返回一个转换后的writable对象
mapSequence
public Object mapSequence(Object sequence) 

转换一个序列

  • 参数sequence为要转换的序列
outputColumnName
public String outputColumnName() 

运算被执行后输出的列名

  • 返回输出列名
columnName
public String columnName() 

输出列名,这将经常和输入相同

  • 返回输出列名

 

有任何问题请联系微信 

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

   

 

分享到:
评论

相关推荐

    深度学习Java库1

    2. **datavec-hadoop-0.9.1.jar**:Datavec是DL4J的一部分,它是一个数据采集和转换工具,此版本支持Hadoop,允许大规模分布式数据处理,适合处理大型数据集。 3. **deeplearning4j-zoo-0.9.1.jar**:DL4J Zoo提供...

    DataVec:用于机器学习的ETL库-数据管道,数据处理和处理

    数据载体DataVec是Apache 2.0许可的库,用于机器学习ETL(提取,转换,加载)操作。 DataVec的目的是将原始数据转换为可用的矢量格式,然后将其提供给机器学习算法。 通过向该存储库贡献代码,您同意根据Apache 2.0...

    deeplearning4j-examples:Deeplearning4j示例(DL4J,DL4J Spark,DataVec)

    - **数据处理**:DataVec提供了数据读取、转换和预处理的功能,支持CSV、JSON、Avro等多种数据格式。 - **RecordReader**:DataVec中的RecordReader类负责从各种数据源中读取数据,并将其转换为可用于训练的格式。...

    机器学习实验二实验报告(Python)

    ent = -(p0 * np.log2(p0) + p1 * np.log2(p1)) return ent ``` #### 3.3 数据集划分 在决策树构建过程中,需要根据特定属性将数据集划分为不同的子集。这里提供了 `splitDataSet` 函数用于实现这一过程。函数...

    基于java 的深度学习框架DL4J

    - **DataVec**: 数据预处理库,用于将原始数据(如音频、图像、文本等)转换成适用于机器学习训练的张量形式。 - **rl4j**: Java/JVM环境下的深度强化学习库。 - **arbiter**: 超参数调优工具。 - **dl4j-examples**...

    顶级投行、金融估值建模培训资料-【TalkingData】在生产环境上部署深度学习.pdf

    - **DataVec**:主要用于处理数据的预处理工作,包括数据的抽取、转换、装载等ETL操作,支持多种类型的数据格式。 - **Deeplearning4j**:企业级的开源深度学习框架,支持Java和Scala编程,便于集成到现有的系统中...

    Deep Learning A Practitioner's Approach(pdf+epub+aw3)

    DataVec是数据预处理工具,它的作用在于将原始数据转换为适合输入到深度学习模型的形式。书中会讲解如何使用DataVec进行数据清洗、格式化和标准化,这对于确保模型的训练质量和性能至关重要。 此外,本书可能还会...

    基于Java语言实现的深度学习框架,方便Java开发者学习.zip

    Deeplearning4j 的 DataVec 工具可以帮助你清洗、转换和归一化原始数据,使其适合模型训练。了解如何正确处理数据,包括数据集划分(训练集、验证集和测试集)、数据增强等,对于模型的泛化能力至关重要。 在模型...

    deeplearning4j:deeplearning4j注意

    - **DataVec**:用于数据预处理和转换,如CSV、JSON和图像数据的读取。 - **ModelSerializer**:用于模型的保存和加载,便于模型的持久化和迁移。 5. **实战应用** - **图像识别**:利用CNN训练图像分类模型,如...

    dl4j_training

    DL4J提供了DataVec工具,用于数据读取、转换和预处理,支持CSV、ARFF、Image等多种数据格式。 4. **构建模型** 在DL4J中,可以使用`MultiLayerNetwork`或`ComputationGraph`类来定义网络结构。这涉及到选择合适的...

Global site tag (gtag.js) - Google Analytics