Target values 1 ... n-1 correspond to columns 0 ... n-2 of the beta matrix. classifyFull puts a synthetic result at location 0.
If you can afford the (very small) cost of allocating a larger vector, I recommend using classifyFull to make your life simpler. I almost regret using the simpler name for the method that imposes complexity on the user. On Sun, May 29, 2011 at 12:57 AM, XiaoboGu <[email protected]> wrote: > Then which value is missed in the beta matrix of OnlineLogisticRegression, > the last value of the target present to LR.train(), that is n - 1 is missed? > > > > -----Original Message----- > > From: Ted Dunning [mailto:[email protected]] > > Sent: Sunday, May 29, 2011 1:44 PM > > To: [email protected] > > Subject: Re: Are the OnlineLogisticRegression s of a CrossFolderLearner > object equal after > > training? > > > > I think not. > > > > When you present the first symbol to the Dictionary, dict.size() will be > > zero. That value will be inserted into the table under that symbol. > Each > > new symbol will be inserted with the size of the table as it was *before* > > that symbol was inserted. > > > > I have added a line to CsvRecordFactoryTest.testDictionaryOrder to > > demonstrate and enforce this. It won't be committed until the current > > release goes out. > > > > On Sat, May 28, 2011 at 9:57 PM, XiaoboGu <[email protected]> > wrote: > > > > > > > > > Ok, then target values are always more than 0, I refer to this > > > > > > public class Dictionary { > > > private final Map<String, Integer> dict = Maps.newLinkedHashMap(); > > > > > > public int intern(String s) { > > > if (!dict.containsKey(s)) { > > > dict.put(s, dict.size()); > > > } > > > return dict.get(s); > > > } > > > > > > > > > > >
