本文整理汇总了Java中gnu.trove.map.TIntFloatMap.put方法的典型用法代码示例。如果您正苦于以下问题:Java TIntFloatMap.put方法的具体用法?Java TIntFloatMap.put怎么用?Java TIntFloatMap.put使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gnu.trove.map.TIntFloatMap
的用法示例。
在下文中一共展示了TIntFloatMap.put方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: normalizeVector
import gnu.trove.map.TIntFloatMap; //导入方法依赖的package包/类
/**
* Normalizes the probability values in a vector so that to sum to 1.0
* @param vector
* @return
*/
public static TIntFloatMap normalizeVector(TIntFloatMap vector)
{
float total = 0;
TFloatIterator iter = vector.valueCollection().iterator();
while (iter.hasNext())
total += iter.next();
TIntFloatMap normalized = new TIntFloatHashMap(vector.size());
TIntFloatIterator iter2 = vector.iterator();
while (iter2.hasNext())
{
iter2.advance();
normalized.put(iter2.key(), iter2.value() / total);
}
return normalized;
}
示例2: testGetSortedIndices
import gnu.trove.map.TIntFloatMap; //导入方法依赖的package包/类
@Test
public void testGetSortedIndices()
{
TIntFloatMap m = new TIntFloatHashMap();
m.put(0, 1f);
m.put(1, 10f);
m.put(2, 5f);
m.put(3, 2f);
int[] sorted = SemSigUtils.getSortedIndices(m);
assertEquals(4, sorted.length);
assertEquals(1, sorted[0]);
assertEquals(2, sorted[1]);
assertEquals(3, sorted[2]);
assertEquals(0, sorted[3]);
}
示例3: makeOutlinkVector
import gnu.trove.map.TIntFloatMap; //导入方法依赖的package包/类
private TIntFloatMap makeOutlinkVector(TIntSet links) {
TIntFloatMap vector = new TIntFloatHashMap();
for (int wpId : links.toArray()) {
vector.put(wpId, (float) Math.log(1.0 * linkCache.getTotalPages() / linkCache
.getInlinks(wpId).size()));
}
if(wlmExtended) {
TIntFloatMap vector2 = new TIntFloatHashMap();
//考虑二级链接
for (int id1 : links.toArray()) {
for (int id2 : linkCache.getOutlinks(id1).toArray()) {
double tfidf = Math.log(1.0 * linkCache.getTotalPages()
/ linkCache.getInlinks(id2).size());
float w = (float) tfidf * vector.get(id1);
float old = 0;
if (vector2.containsKey(id2)) {
old = vector2.get(id2);
}
vector2.put(id2, old + w);
}
}
vector.putAll(vector2);
}
return vector;
}
示例4: testTruncateVector
import gnu.trove.map.TIntFloatMap; //导入方法依赖的package包/类
@Test
public void testTruncateVector()
{
TIntFloatMap m = new TIntFloatHashMap();
m.put(0, 1f);
m.put(1, 10f);
m.put(2, 5f);
m.put(3, 2f);
TIntFloatMap truncated = SemSigUtils.truncateVector(m, false, 2, false);
assertEquals(2, truncated.size());
assertEquals(10f, truncated.get(1), 0.1f);
assertEquals(5f, truncated.get(2), 0.1f);
}
示例5: testTruncateVectorNormalized
import gnu.trove.map.TIntFloatMap; //导入方法依赖的package包/类
@Test
public void testTruncateVectorNormalized()
{
TIntFloatMap m = new TIntFloatHashMap();
m.put(0, 1f);
m.put(1, 10f);
m.put(2, 5f);
m.put(3, 2f);
TIntFloatMap truncated = SemSigUtils.truncateVector(m, false, 2, true);
assertEquals(2, truncated.size());
assertEquals(10f / 15f, truncated.get(1), 0.1f);
assertEquals(5f / 15f, truncated.get(2), 0.1f);
}
示例6: getCustomSemSigFromCompressed
import gnu.trove.map.TIntFloatMap; //导入方法依赖的package包/类
/**
* Assumes that the SemSigs are already sorted and normalized
* @param path
* @param size
* @param warnings
* @param normalizationLKB
* @return
*/
public SemSig getCustomSemSigFromCompressed(String path, int size, boolean warnings, LKB normalizationLKB)
{
if(size == 0 || size > MAX_VECTOR_SIZE)
size = MAX_VECTOR_SIZE;
SemSig vector = new SemSig();
String offset = GeneralUtils.getOffsetFromPath(path);
vector.setOffset(offset);
TIntFloatMap map = new TIntFloatHashMap(size);
if(!new File(path).exists())
{
if (warnings)
log.info("[WARNING: "+path+ " does not exist]");
return vector;
}
try
{
BufferedReader br = new BufferedReader(new FileReader(path));
float prob;
float lastProb = 0.0f;
int lineCounter = 1;
while(br.ready())
{
String line = br.readLine();
if(line.startsWith("!!")) continue;
String[] lineSplit = line.split("\t");
//keeping the IDs
//String off = IDtoOffsetMap.get(lineSplit[0]);
int off = Integer.parseInt(lineSplit[0]);
if(lineSplit.length == 1)
{
prob = lastProb;
}
else
{
prob = Float.parseFloat(lineSplit[1]);
lastProb = prob;
}
map.put(off, prob);
if(lineCounter++ >= size)
break;
}
br.close();
}
catch(Exception e)
{
e.printStackTrace();
}
if(size != MAX_VECTOR_SIZE)
map = SemSigUtils.truncateVector(map, true, size, true);
vector.setVector(map);
return vector;
}
示例7: testGetSortedIndices
import gnu.trove.map.TIntFloatMap; //导入方法依赖的package包/类
@Test
public void testGetSortedIndices()
{
WeightedOverlap WO = new WeightedOverlap();
TIntFloatMap map1 = new TIntFloatHashMap();
TIntFloatMap map2 = new TIntFloatHashMap();
TIntFloatMap map3 = new TIntFloatHashMap();
TIntFloatMap map4 = new TIntFloatHashMap();
TIntFloatMap map5 = new TIntFloatHashMap();
map1.put(1, 1f);
map1.put(2, 2f);
map1.put(3, 3f);
map1.put(4, 4f);
map1.put(5, 5f);
map1.put(6, 6f);
map2.putAll(map1);
map3.put(4, 4f);
map3.put(5, 5f);
map3.put(6, 6f);
map3.put(7, 1f);
map3.put(8, 2f);
map3.put(9, 3f);
map4.put(1, 6f);
map4.put(4, 5f);
map4.put(2, 4f);
map4.put(5, 3f);
map4.put(3, 2f);
map4.put(6, 1f);
map5.put(7, 6f);
map5.put(8, 5f);
double score1 = WO.compare(map1, map2, true);
double score2 = WO.compare(map1, map2, true);
double score3 = WO.compare(map1, map4, true);
double score4 = WO.compare(map1, map5, true);
assertEquals(1, score1, 0.01);
assertEquals(1, score2, 0.01);
assertEquals(0.725, score3, 0.01);
assertEquals(0, score4, 0.0001);
}