use of structures._User in project IR_Base by Linda-sunshine.
the class CoRegLR method loadUsers.
@Override
public void loadUsers(ArrayList<_User> userList) {
int vSize = m_featureSize + 1;
// step 1: create space
m_userList = new ArrayList<_AdaptStruct>();
for (int i = 0; i < userList.size(); i++) {
_User user = userList.get(i);
m_userList.add(new _CoRegLRAdaptStruct(user, i, vSize, m_topK));
}
// huge space consumption
_CoRegLRAdaptStruct.sharedW = new double[vSize * m_userList.size()];
// step 3: construct neighborhood graph
constructNeighborhood(m_sType);
}
use of structures._User in project IR_Base by Linda-sunshine.
the class RegLR method loadUsers.
@Override
public void loadUsers(ArrayList<_User> userList) {
m_userList = new ArrayList<_AdaptStruct>();
for (_User user : userList) {
m_userList.add(new _AdaptStruct(user));
user.initModel(m_featureSize + 1);
}
}
use of structures._User in project IR_Base by Linda-sunshine.
the class MultiThreadedLMAnalyzer method hasCoPurchase.
// Check if two users have the co-purchase
protected boolean hasCoPurchase(_User ui, _User uj) {
int count = 0;
HashSet<String> item_i = new HashSet<String>();
for (_Review r : ui.getReviews()) {
item_i.add(r.getItemID());
}
for (_Review r : uj.getReviews()) {
if (item_i.contains(r.getItemID())) {
count++;
if (count == 1)
return true;
}
}
return false;
}
use of structures._User in project IR_Base by Linda-sunshine.
the class MultiThreadedLMAnalyzer method saveUsers.
public void saveUsers(String filename) {
try {
PrintWriter writer = new PrintWriter(new File(filename));
for (_User u : m_users) writer.write(u.getUserID() + "\n");
writer.close();
System.out.println(m_users.size() + " users are saved!");
} catch (IOException e) {
e.printStackTrace();
}
}
use of structures._User in project IR_Base by Linda-sunshine.
the class MultiThreadedUserAnalyzer method buildFriendship.
public void buildFriendship(String filename) {
try {
File file = new File(filename);
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
String line;
String[] users, friends;
while ((line = reader.readLine()) != null) {
users = line.trim().split("\t");
friends = Arrays.copyOfRange(users, 1, users.length);
m_neighborsMap.put(users[0], friends);
}
reader.close();
// map friends to users.
for (_User u : m_users) {
if (m_neighborsMap.containsKey(u.getUserID()))
u.setFriends(m_neighborsMap.get(u.getUserID()));
else
System.out.println("The user does not have any friends.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
Aggregations