Exemple #1
0
gather_type output_vector(const graph_type::vertex_type & vertex){
   assert(pcurrent && pcurrent->offset >= 0 && pcurrent->offset < vertex.data().pvec.size());
   gather_type ret;
   assert(pcurrent->end - pcurrent->start > 0);
   assert(vertex.id() - pcurrent->start >= 0);
   ret.pvec = vec::Zero(pcurrent->end - pcurrent->start);
   ret.pvec[vertex.id() - pcurrent->start] = vertex.data().pvec[pcurrent->offset];
   return ret;
}
map_join_pair collect_map (const graph_type::vertex_type& center,
                           graph_type::edge_type& edge,
                           const graph_type::vertex_type& other) {
  map_join_pair ret;
  if (edge.data().role == edge_data::TRAIN) {
    ret.first.data[other.id()] = edge.data().obs; // save the old rating
  } else {
    // use prediction
    double pred = center.data().factor.dot(other.data().factor);
    ret.second.data[other.id()] = pred; // save the prediction
  }
  return ret;
}
 std::string save_vertex(const graph_type::vertex_type& v) {
  std::stringstream sstream;
  if (is_user(v)) {
    const std::vector<std::pair<double, graphlab::vertex_id_type> >& top_rated 
        = v.data().top_rated;
    const std::vector<std::pair<double, graphlab::vertex_id_type> >& top_pred
        = v.data().top_pred;
    if (top_rated.size() < 10 || top_pred.size() == 0) {
      return "";
    }
    // save top rated
    sstream << v.id() << " "; 
    sstream << pair2str(top_rated[0]); 
    for (size_t i = 1; i < top_rated.size(); ++i) {
      sstream << "," <<  (pair2str(top_rated[i]));
    }
    // save top pred
    sstream << " ";
    sstream << pair2str(top_pred[0]);
    for (size_t i = 1; i < top_pred.size(); ++i) {
      sstream << "," << (pair2str(top_pred[i]));
    }
    sstream << "\n";
    return sstream.str();
  } else {
    return "";
  }
 }
Exemple #4
0
 std::string save_vertex(const graph_type::vertex_type& vtx)
 {
     std::stringstream strm;
     strm << vtx.id() << "\t" << vtx.data().dist << "\n";
     if (vtx.data().dist == std::numeric_limits<distance_type>::max())
         return "";
     else
         return strm.str();
 }
Exemple #5
0
/**
 * \brief Get the other vertex in the edge.
 */
inline graph_type::vertex_type
get_other_vertex(const graph_type::edge_type& edge,
                 const graph_type::vertex_type& vertex) {
    return vertex.id() == edge.source().id()? edge.target() : edge.source();
}
Exemple #6
0
max_deg_vertex_reducer find_max_deg_vertex(const graph_type::vertex_type vtx) {
    max_deg_vertex_reducer red;
    red.degree = vtx.num_in_edges() + vtx.num_out_edges();
    red.vid = vtx.id();
    return red;
}
Exemple #7
0
 std::string save_vertex(const graph_type::vertex_type& vtx) {
     std::stringstream strm;
     strm << vtx.id() << "\t" << vtx.data().dist << "\n";
     return strm.str();
 }
Exemple #8
0
 std::string save_vertex(graph_type::vertex_type v) {
   std::stringstream strm;
   strm << v.id() << "\t" << v.data() << "\n";
   return strm.str();
 }
Exemple #9
0
 std::string save_vertex(graph_type::vertex_type v) {
   std::stringstream strm;
   strm << v.id() << "\t" << std::fixed << std::setprecision(17) << v.data() << "\n";
   return strm.str();
 }
Exemple #10
0
void init_vertex(graph_type::vertex_type& vertex)
{
    vertex.data().color = vertex.id();
}
Exemple #11
0
 bool selected_node(const graph_type::vertex_type& vertex){
   if (info.is_square())
     return true;
   else return ((vertex.id() >= (uint)info.get_start_node(!pcurrent->transpose)) &&
       (vertex.id() < (uint)info.get_end_node(!pcurrent->transpose)));
 }
Exemple #12
0
bool select_in_range(const graph_type::vertex_type & vertex){
   return vertex.id() >= (uint)pcurrent->start && vertex.id() < (uint)pcurrent->end;
}
Exemple #13
0
void assign_vec(graph_type::vertex_type & vertex){
  if (!info.is_square())
    assert(vertex.id() - pcurrent->start >= 0 && vertex.id() - pcurrent->start < curvec.size());
  vertex.data().pvec[pcurrent->offset] = curvec[vertex.id() - pcurrent->start];
}