protected ComparablePredicate[] sortValues() { ComparablePredicate[] sortPreds = new ComparablePredicate[PARAMS.length]; int numParams = 0; for (int pid = 0; pid < PARAMS.length; pid++) { int[] predkeys = PARAMS[pid].getOutcomes(); // Arrays.sort(predkeys); int numActive = predkeys.length; int[] activeOutcomes = predkeys; double[] activeParams = PARAMS[pid].getParameters(); numParams += numActive; /* * double[] activeParams = new double[numActive]; * * int id = 0; for (int i=0; i < predkeys.length; i++) { int oid = * predkeys[i]; activeOutcomes[id] = oid; activeParams[id] = * PARAMS[pid].getParams(oid); id++; } */ sortPreds[pid] = new ComparablePredicate(PRED_LABELS[pid], activeOutcomes, activeParams); } Arrays.sort(sortPreds); return sortPreds; }
contextParameters[k-1] = readDouble(); params[pid] = new Context(outcomePattern,contextParameters); pid++;
protected ComparablePredicate[] sortValues() { ComparablePredicate[] sortPreds = new ComparablePredicate[PARAMS.length]; int numParams = 0; for (int pid = 0; pid < PARAMS.length; pid++) { int[] predkeys = PARAMS[pid].getOutcomes(); // Arrays.sort(predkeys); int numActive = predkeys.length; int[] activeOutcomes = predkeys; double[] activeParams = PARAMS[pid].getParameters(); numParams += numActive; /* * double[] activeParams = new double[numActive]; * * int id = 0; for (int i=0; i < predkeys.length; i++) { int oid = * predkeys[i]; activeOutcomes[id] = oid; activeParams[id] = * PARAMS[pid].getParams(oid); id++; } */ sortPreds[pid] = new ComparablePredicate(PRED_LABELS[pid], activeOutcomes, activeParams); } Arrays.sort(sortPreds); return sortPreds; }
contextParameters[k-1] = readDouble(); params[pid] = new Context(outcomePattern,contextParameters); pid++;
double[] predParams = PARAMS[pid].getParameters(); int[] outcomePattern = PARAMS[pid].getOutcomes(); for (int pi=0;pi<predParams.length;pi++) { if (predParams[pi] != 0d) {
contextParameters[k - 1] = readDouble(); params[pid] = new Context(outcomePattern, contextParameters); pid++;
double[] predParams = PARAMS[pid].getParameters(); int[] outcomePattern = PARAMS[pid].getOutcomes(); for (int pi=0;pi<predParams.length;pi++) { if (predParams[pi] != 0d) {
contextParameters[k - 1] = readDouble(); params[pid] = new Context(outcomePattern, contextParameters); pid++;
if (context[ci] >= 0) { Context predParams = params[context[ci]]; activeOutcomes = predParams.getOutcomes(); activeParameters = predParams.getParameters(); if (values != null) { value = values[ci];
protected Context[] getParameters() throws java.io.IOException { int numContext = readInt(); Context[] params = new Context[numContext]; for (int i = 0; i < numContext; i++) { int[] outcomePattern = getIntArrayParams(); double[] parameters = getDoubleArrayParams(); params[i] = new Context(outcomePattern, parameters); } return params; } }
if (predicateIndex >= 0) { Context context = modelParameters[predicateIndex]; int[] outcomeIndexes = context.getOutcomes(); double[] parameters = context.getParameters(); for (String outcome : outcomeList) { int outcomeIndex = -1;
protected Context[] getParameters() throws java.io.IOException { int numContext = readInt(); Context[] params = new Context[numContext]; for (int i = 0; i < numContext; i++) { int[] outcomePattern = getIntArrayParams(); double[] parameters = getDoubleArrayParams(); params[i] = new Context(outcomePattern, parameters); } return params; } }
if (context[ci] >= 0) { Context predParams = params[context[ci]]; activeOutcomes = predParams.getOutcomes(); activeParameters = predParams.getParameters(); if (values != null) { value = values[ci];
public QNModel(LogLikelihoodFunction monitor, double[] parameters) { super(null, monitor.getPredLabels(), monitor.getOutcomeLabels()); int[][] outcomePatterns = monitor.getOutcomePatterns(); Context[] params = new Context[monitor.getPredLabels().length]; for (int ci = 0; ci < params.length; ci++) { int[] outcomePattern = outcomePatterns[ci]; double[] alpha = new double[outcomePattern.length]; for (int oi = 0; oi < outcomePattern.length; oi++) { alpha[oi] = parameters[ci + (outcomePattern[oi] * monitor.getPredLabels().length)]; } params[ci] = new Context(outcomePattern, alpha); } this.evalParams = new EvalParameters(params, monitor.getOutcomeLabels().length); this.prior = new UniformPrior(); this.modelType = ModelType.MaxentQn; this.parameters = parameters; }
return false; for (int i = 0; i < this.evalParams.getParams().length; i++) { if (this.evalParams.getParams()[i].getOutcomes().length != contextComparing[i].getOutcomes().length) return false; for (int j = 0; i < this.evalParams.getParams()[i].getOutcomes().length; i++) { if (this.evalParams.getParams()[i].getOutcomes()[j] != contextComparing[i].getOutcomes()[j]) return false; if (this.evalParams.getParams()[i].getParameters().length != contextComparing[i].getParameters().length) return false; for (int j = 0; i < this.evalParams.getParams()[i].getParameters().length; i++) { if (this.evalParams.getParams()[i].getParameters()[j] != contextComparing[i].getParameters()[j]) return false;
public QNModel(LogLikelihoodFunction monitor, double[] parameters) { super(null, monitor.getPredLabels(), monitor.getOutcomeLabels()); int[][] outcomePatterns = monitor.getOutcomePatterns(); Context[] params = new Context[monitor.getPredLabels().length]; for (int ci = 0; ci < params.length; ci++) { int[] outcomePattern = outcomePatterns[ci]; double[] alpha = new double[outcomePattern.length]; for (int oi = 0; oi < outcomePattern.length; oi++) { alpha[oi] = parameters[ci + (outcomePattern[oi] * monitor.getPredLabels().length)]; } params[ci] = new Context(outcomePattern, alpha); } this.evalParams = new EvalParameters(params, monitor.getOutcomeLabels().length); this.prior = new UniformPrior(); this.modelType = ModelType.MaxentQn; this.parameters = parameters; }
return false; for (int i = 0; i < this.evalParams.getParams().length; i++) { if (this.evalParams.getParams()[i].getOutcomes().length != contextComparing[i].getOutcomes().length) return false; for (int j = 0; i < this.evalParams.getParams()[i].getOutcomes().length; i++) { if (this.evalParams.getParams()[i].getOutcomes()[j] != contextComparing[i].getOutcomes()[j]) return false; if (this.evalParams.getParams()[i].getParameters().length != contextComparing[i].getParameters().length) return false; for (int j = 0; i < this.evalParams.getParams()[i].getParameters().length; i++) { if (this.evalParams.getParams()[i].getParameters()[j] != contextComparing[i].getParameters()[j]) return false;
writeInt(currContext.getOutcomes().length); for (int i = 0; i < currContext.getOutcomes().length; i++) { writeInt(currContext.getOutcomes()[i]); writeInt(currContext.getParameters().length); for (int i = 0; i < currContext.getParameters().length; i++) { writeDouble(currContext.getParameters()[i]);
writeInt(currContext.getOutcomes().length); for (int i = 0; i < currContext.getOutcomes().length; i++) { writeInt(currContext.getOutcomes()[i]); writeInt(currContext.getParameters().length); for (int i = 0; i < currContext.getParameters().length; i++) { writeDouble(currContext.getParameters()[i]);
if (context[ci] >= 0) { Context predParams = params[context[ci]]; activeOutcomes = predParams.getOutcomes(); activeParameters = predParams.getParameters(); if (values != null) { value = values[ci];