MCPcopy Create free account
hub / github.com/WinVector/Logistic / LevelVectors

Class LevelVectors

src/com/winvector/variables/LevelVectors.java:15–148  ·  view source on GitHub ↗

@author johnmount

Source from the content-addressed store, hash-verified

13 *
14 */
15public final class LevelVectors implements VariableMapping {
16 private static final long serialVersionUID = 1L;
17
18 private final String origColumn;
19 private final int index;
20 private final Map<String,VectorRow> levelCodes; // level to vector of codes
21 private final int targetDim;
22
23 public static final class VectorRow implements Serializable {
24 private static final long serialVersionUID = 1L;
25 public final String[] names;
26 public final double[] levelEncodings;
27 public final int[] warmStartOutcome;
28
29 public VectorRow(final String[] name, final double[] levelEncodings, final int[] warmStartOutcome) {
30 this.names = name;
31 this.levelEncodings = levelEncodings;
32 this.warmStartOutcome = warmStartOutcome;
33 }
34 }
35
36 public LevelVectors(final String origColumn, final int index,
37 final Map<String,VectorRow> levelCodes) {
38 this.origColumn = origColumn;
39 this.index = index;
40 this.levelCodes = levelCodes;
41 if(!levelCodes.isEmpty()) {
42 targetDim = levelCodes.values().iterator().next().levelEncodings.length;
43 } else {
44 targetDim = 0;
45 }
46 }
47
48 @Override
49 public String origColumn() {
50 return origColumn;
51 }
52
53 @Override
54 public int indexL() {
55 return index;
56 }
57
58 @Override
59 public int indexR() {
60 return index + targetDim;
61 }
62
63 @Override
64 public boolean wantRegularization() {
65 return false;
66 }
67
68 @Override
69 public void process(final BurstMap row, final double[] vec) {
70 final String level = row.getAsString(origColumn);
71 if(level!=null) {
72 final VectorRow code = levelCodes.get(level);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected