⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 absolutediscountsmoother.java

📁 dragontoolkit用于机器学习
💻 JAVA
字号:
package dragon.ir.search.smooth;import dragon.ir.index.*;import dragon.ir.query.SimpleTermPredicate;/** * <p>Absolute Discount Smoother</p> * <p></p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: IST, Drexel University</p> * @author Davis Zhou * @version 1.0 */public class AbsoluteDiscountSmoother extends AbstractSmoother{    private long collectionTermCount;    private double absoluteDiscount;    private double collectionProb;    private double delta;    private int docTermCount;    public AbsoluteDiscountSmoother(IRCollection collection, double absoluteDiscount) {        collectionTermCount=collection.getTermCount();        this.absoluteDiscount =absoluteDiscount;        this.useLog =true;        this.docFirstOptimal=true;        this.querytermFirstOptimal=true;    }    public boolean setParameters(double[] params){        if(params!=null && params.length>=1)        {            absoluteDiscount=params[0];            return true;        }        else            return false;    }    public void setQueryTerm(SimpleTermPredicate queryTerm){        this.queryWeight =queryTerm.getWeight();        collectionProb=((double)queryTerm.getFrequency())/collectionTermCount;    }    public void setDoc(IRDoc doc){        docTermCount=doc.getTermCount();        if(docTermCount<=0) docTermCount=1;        delta=absoluteDiscount*doc.getTermNum()/docTermCount;    }    protected double computeSmoothedProb(int termFreq){        if(termFreq>absoluteDiscount)            return queryWeight*getProb((termFreq-absoluteDiscount)/docTermCount+delta*collectionProb);        else            return queryWeight*getProb(delta*collectionProb);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -