MCPcopy Index your code
hub / github.com/WinVector/Logistic / translateTo

Method translateTo

src/com/winvector/variables/BTable.java:272–306  ·  view source on GitHub ↗

translate into notation of other encoding @param standardEncodings (older encoding that we are adapted from, without any vector->vector translations) @return

(final VariableEncodings standardEncodings, final double[] x)

Source from the content-addressed store, hash-verified

270 * @return
271 */
272 public double[] translateTo(final VariableEncodings standardEncodings, final double[] x) {
273 final double[] ret = new double[standardEncodings.dim()*standardEncodings.noutcomes()];
274 // get quick map of newer encodings
275 final Map<String,VariableMapping> newAdaptions = new HashMap<String,VariableMapping>();
276 for(final VariableMapping newAdaption: newAdapter.adaptions) {
277 newAdaptions.put(newAdaption.origColumn(),newAdaption);
278 }
279 for(final VariableMapping orig: standardEncodings.adaptions) {
280 final VariableMapping newa = newAdaptions.get(orig.origColumn());
281 if(null!=newa) {
282 for(final Map.Entry<String,Integer> mc: standardEncodings.outcomeCategories.entrySet()) {
283 //final String outcome = mc.getKey();
284 final int cati = mc.getValue();
285 final int baseStandard = cati*standardEncodings.vdim;
286 final int baseNew = cati*newAdapter.vdim;
287 if((newa instanceof LevelVectors)&&(orig instanceof LevelIndicators)) {
288 // vector adaption, assume original is level adaption
289 final LevelVectors levv = (LevelVectors)newa;
290 final LevelIndicators levi = (LevelIndicators)orig;
291 for(final String level: levi.levels()) {
292 final double effect = levv.effect(baseNew,x,level);
293 final int index = levi.index(level);
294 ret[baseStandard + index] = effect;
295 }
296 } if((orig.indexR()-orig.indexL())==(newa.indexR()-newa.indexL())) {
297 // standard match, assume same type and width
298 for(int i=orig.indexL();i<orig.indexR();++i) {
299 ret[baseStandard+i] = x[baseNew+newa.indexL()+i-orig.indexL()];
300 }
301 }
302 }
303 }
304 }
305 return ret;
306 }
307}

Callers 2

testVectorEncodingBMethod · 0.95
trainMethod · 0.95

Calls 9

levelsMethod · 0.95
effectMethod · 0.95
indexMethod · 0.95
indexRMethod · 0.95
indexLMethod · 0.95
dimMethod · 0.65
noutcomesMethod · 0.65
origColumnMethod · 0.65
getMethod · 0.45

Tested by 1

testVectorEncodingBMethod · 0.76