18
18
using Microsoft . ML . Transforms ;
19
19
20
20
[ assembly: LoadableClass ( ColumnCopyingTransformer . Summary , typeof ( IDataTransform ) , typeof ( ColumnCopyingTransformer ) ,
21
- typeof ( ColumnCopyingTransformer . Arguments ) , typeof ( SignatureDataTransform ) ,
21
+ typeof ( ColumnCopyingTransformer . Options ) , typeof ( SignatureDataTransform ) ,
22
22
ColumnCopyingTransformer . UserName , "CopyColumns" , "CopyColumnsTransform" , ColumnCopyingTransformer . ShortName ,
23
23
DocName = "transform/CopyColumnsTransformer.md" ) ]
24
24
33
33
34
34
namespace Microsoft . ML . Transforms
35
35
{
36
+ /// <summary>
37
+ /// <see cref="ColumnCopyingEstimator"/> copies the input column to another column named as specified in the parameters of the transformation.
38
+ /// </summary>
36
39
public sealed class ColumnCopyingEstimator : TrivialEstimator < ColumnCopyingTransformer >
37
40
{
38
- public ColumnCopyingEstimator ( IHostEnvironment env , string outputColumnName , string inputColumnName ) :
41
+ [ BestFriend ]
42
+ internal ColumnCopyingEstimator ( IHostEnvironment env , string outputColumnName , string inputColumnName ) :
39
43
this ( env , ( outputColumnName , inputColumnName ) )
40
44
{
41
45
}
42
46
43
- public ColumnCopyingEstimator ( IHostEnvironment env , params ( string outputColumnName , string inputColumnName ) [ ] columns )
47
+ [ BestFriend ]
48
+ internal ColumnCopyingEstimator ( IHostEnvironment env , params ( string outputColumnName , string inputColumnName ) [ ] columns )
44
49
: base ( Contracts . CheckRef ( env , nameof ( env ) ) . Register ( nameof ( ColumnCopyingEstimator ) ) , new ColumnCopyingTransformer ( env , columns ) )
45
50
{
46
51
}
47
52
53
+ /// <summary>
54
+ /// Returns the <see cref="SchemaShape"/> of the schema which will be produced by the transformer.
55
+ /// Used for schema propagation and verification in a pipeline.
56
+ /// </summary>
48
57
public override SchemaShape GetOutputSchema ( SchemaShape inputSchema )
49
58
{
50
59
Host . CheckValue ( inputSchema , nameof ( inputSchema ) ) ;
@@ -69,6 +78,9 @@ public sealed class ColumnCopyingTransformer : OneToOneTransformerBase
69
78
internal const string UserName = "Copy Columns Transform" ;
70
79
internal const string ShortName = "Copy" ;
71
80
81
+ /// <summary>
82
+ /// Names of output and input column pairs on which the transformation is applied.
83
+ /// </summary>
72
84
public IReadOnlyCollection < ( string outputColumnName , string inputColumnName ) > Columns => ColumnPairs . AsReadOnly ( ) ;
73
85
74
86
private static VersionInfo GetVersionInfo ( )
@@ -82,12 +94,12 @@ private static VersionInfo GetVersionInfo()
82
94
loaderAssemblyName : typeof ( ColumnCopyingTransformer ) . Assembly . FullName ) ;
83
95
}
84
96
85
- public ColumnCopyingTransformer ( IHostEnvironment env , params ( string outputColumnName , string inputColumnName ) [ ] columns )
97
+ internal ColumnCopyingTransformer ( IHostEnvironment env , params ( string outputColumnName , string inputColumnName ) [ ] columns )
86
98
: base ( Contracts . CheckRef ( env , nameof ( env ) ) . Register ( nameof ( ColumnCopyingTransformer ) ) , columns )
87
99
{
88
100
}
89
101
90
- public sealed class Column : OneToOneColumn
102
+ internal sealed class Column : OneToOneColumn
91
103
{
92
104
internal static Column Parse ( string str )
93
105
{
@@ -106,20 +118,20 @@ internal bool TryUnparse(StringBuilder sb)
106
118
}
107
119
}
108
120
109
- public sealed class Arguments : TransformInputBase
121
+ internal sealed class Options : TransformInputBase
110
122
{
111
123
[ Argument ( ArgumentType . Multiple | ArgumentType . Required , HelpText = "New column definition(s) (optional form: name:src)" ,
112
124
Name = "Column" , ShortName = "col" , SortOrder = 1 ) ]
113
125
public Column [ ] Columns ;
114
126
}
115
127
116
128
// Factory method corresponding to SignatureDataTransform.
117
- internal static IDataTransform Create ( IHostEnvironment env , Arguments args , IDataView input )
129
+ internal static IDataTransform Create ( IHostEnvironment env , Options options , IDataView input )
118
130
{
119
131
Contracts . CheckValue ( env , nameof ( env ) ) ;
120
- env . CheckValue ( args , nameof ( args ) ) ;
132
+ env . CheckValue ( options , nameof ( options ) ) ;
121
133
122
- var transformer = new ColumnCopyingTransformer ( env , args . Columns . Select ( x => ( x . Name , x . Source ) ) . ToArray ( ) ) ;
134
+ var transformer = new ColumnCopyingTransformer ( env , options . Columns . Select ( x => ( x . Name , x . Source ) ) . ToArray ( ) ) ;
123
135
return transformer . MakeDataTransform ( input ) ;
124
136
}
125
137
0 commit comments