use of structures._User in project IR_Base by Linda-sunshine.
the class WeightedAvgAdapt method constructUserList.
@Override
void constructUserList(ArrayList<_User> userList) {
int vSize = m_dim;
// step 1: create space
m_userList = new ArrayList<_AdaptStruct>();
for (int i = 0; i < userList.size(); i++) {
_User user = userList.get(i);
// we will not create transformation matrix for this user
m_userList.add(new _CoLinAdaptStruct(user, -1, i, m_topK));
// Initiate user weights with global weights.
user.setModel(m_gWeights);
}
m_pWeights = new double[m_gWeights.length];
// huge space consumption
_CoLinAdaptStruct.sharedA = new double[getVSize()];
// step 2: copy each user's weights to shared A(weights) in _CoLinAdaptStruct
for (int i = 0; i < m_userList.size(); i++) System.arraycopy(m_gWeights, 0, _CoLinAdaptStruct.sharedA, vSize * i, vSize);
}
use of structures._User in project IR_Base by Linda-sunshine.
the class CLinAdaptWithKmeans method loadUsers.
// Initialize the weights of the transformation matrix.
@Override
public void loadUsers(ArrayList<_User> userList) {
int totalUserSize = userList.size();
// 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 _CLinAdaptStruct(user, m_dim, i, totalUserSize, m_clusterSize));
}
m_pWeights = new double[m_gWeights.length];
// step1: init the shared A: individual + cluster + global
_CLinAdaptStruct.sharedA = new double[getVSize()];
for (int i = 0; i < m_userList.size() + m_clusterSize; i++) {
for (int j = 0; j < m_dim; j++) {
_CLinAdaptStruct.sharedA[i * m_dim * 2 + j] = 1;
}
}
}
use of structures._User in project IR_Base by Linda-sunshine.
the class CLinAdaptWithHDP method loadUsers.
@Override
public void loadUsers(ArrayList<_User> userList) {
m_userList = new ArrayList<_AdaptStruct>();
// Init each user.
for (_User user : userList) m_userList.add(new _HDPAdaptStruct(user, m_dim));
m_pWeights = new double[m_gWeights.length];
}
Aggregations