-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathFeature.java
More file actions
79 lines (61 loc) · 1.43 KB
/
Feature.java
File metadata and controls
79 lines (61 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
* Spencer Caplan
*/
import java.util.*;
public class Feature {
private String myName = "";
private String myLevel = "";
private double myProminence = 0.0;
private boolean isNull = true;
private static double salienceDistributionStdDev;
private static double otherProminence;
private static double basicProminence;
public Feature() {
}
public Feature(String name, String level) {
myName = name;
myLevel = level;
isNull = false;
}
public static void setClassProminenceLevels(double otherLevel, double basicLevel) {
otherProminence = otherLevel;
basicProminence = basicLevel;
}
public static void setSalienceStandardDev(double stdDevToSet) {
salienceDistributionStdDev = stdDevToSet;
}
public double sampleSalienceInstance() {
Random r = new Random();
double mySample = r.nextGaussian()*salienceDistributionStdDev;
if (myLevel.equals("basic")) {
mySample = mySample + basicProminence;
} else {
mySample = mySample + otherProminence;
}
if (mySample > 1.0) {
mySample = 1.0;
} else if (mySample < 0.0) {
mySample = 0.0;
}
return mySample;
}
public void setProminence(double prominence) {
myProminence = prominence;
}
public double getProminence() {
return myProminence;
}
public String getLevel() {
return myLevel;
}
public String getName() {
return myName;
}
public boolean checkNull(){
if (isNull) {
return true;
} else {
return false;
}
}
}