`
bewithme
  • 浏览: 422777 次
  • 性别: 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() 

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

  • 返回输出列名

 

有任何问题请联系微信 

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

   

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics