def test_get_gen_cand_tree_params(): event_size = 100 participants_n = 10 event = gen_event_with_known_tree_structure( event_size=event_size, participants=range(participants_n), start_time=10, end_time=110, event_topic_param=random_topic(10, topic_noise=0.1)[0], topic_noise=1, alpha=1.0, tau=0.8, forward_proba=0.3, reply_proba=0.5, create_new_proba=0.2 ) event = IU.assign_edge_weights(event, cosine) params = get_gen_cand_tree_params(event) assert_true(params['U'] > 0) assert_equal(99, params['preprune_secs']) assert_equal([0], params['roots'])
def make_artificial_data( # for main events n_events, event_size_mu, event_size_sigma, participant_mu, participant_sigma, # for minor events n_minor_events, minor_event_size_mu, minor_event_size_sigma, minor_event_participant_mu, minor_event_participant_sigma, # shared n_total_participants, min_time, max_time, event_duration_mu, event_duration_sigma, n_topics, topic_scaling_factor, topic_noise, n_noisy_interactions, n_noisy_interactions_fraction, alpha, tau, forward_proba, reply_proba, create_new_proba, dist_func): events, taboo_topics = random_events( n_events, event_size_mu, event_size_sigma, n_total_participants, participant_mu, participant_sigma, min_time, max_time, event_duration_mu, event_duration_sigma, n_topics, topic_scaling_factor, topic_noise, alpha, tau, forward_proba, reply_proba, create_new_proba, accumulate_taboo=True ) minor_events, _ = random_events( n_minor_events, minor_event_size_mu, minor_event_size_sigma, n_total_participants, minor_event_participant_mu, minor_event_participant_sigma, min_time, max_time, event_duration_mu, event_duration_sigma, n_topics, topic_scaling_factor, topic_noise, alpha, tau, forward_proba, reply_proba, create_new_proba, taboo_topics=taboo_topics, accumulate_taboo=False ) (n_noisy_interactions, _) = get_number_and_percentage( sum([1 for e in events for _ in e]), n_noisy_interactions, n_noisy_interactions_fraction ) noisy_interactions = random_noisy_interactions( n_noisy_interactions, min_time, max_time, n_total_participants, n_topics, topic_noise, taboo_topics ) event_interactions = [e.node[n] for e in events for n in e.nodes_iter()] minor_event_interactions = [e.node[n] for e in minor_events for n in e.nodes_iter()] all_interactions = (event_interactions + minor_event_interactions + noisy_interactions) # add interaction id for i, intr in enumerate(all_interactions): intr['message_id'] = i intr['topics'] = intr['topics'].tolist() # relabel the nodes relabeled_events = [] for e in events: mapping = {n: e.node[n]['message_id'] for n in e.nodes_iter()} relabeled_events.append(nx.relabel_nodes(e, mapping)) for e in events: e = IU.assign_edge_weights(e, dist_func) gen_cand_trees_params = [get_gen_cand_tree_params(e) for e in events] return relabeled_events, all_interactions, gen_cand_trees_params
def make_artificial_data( # for main events n_events, event_size_mu, event_size_sigma, participant_mu, participant_sigma, # for minor events n_minor_events, minor_event_size_mu, minor_event_size_sigma, minor_event_participant_mu, minor_event_participant_sigma, # shared n_total_participants, min_time, max_time, event_duration_mu, event_duration_sigma, n_topics, topic_scaling_factor, topic_noise, n_noisy_interactions, n_noisy_interactions_fraction, alpha, tau, forward_proba, reply_proba, create_new_proba, dist_func): events, taboo_topics = random_events(n_events, event_size_mu, event_size_sigma, n_total_participants, participant_mu, participant_sigma, min_time, max_time, event_duration_mu, event_duration_sigma, n_topics, topic_scaling_factor, topic_noise, alpha, tau, forward_proba, reply_proba, create_new_proba, accumulate_taboo=True) minor_events, _ = random_events(n_minor_events, minor_event_size_mu, minor_event_size_sigma, n_total_participants, minor_event_participant_mu, minor_event_participant_sigma, min_time, max_time, event_duration_mu, event_duration_sigma, n_topics, topic_scaling_factor, topic_noise, alpha, tau, forward_proba, reply_proba, create_new_proba, taboo_topics=taboo_topics, accumulate_taboo=False) (n_noisy_interactions, _) = get_number_and_percentage(sum([1 for e in events for _ in e]), n_noisy_interactions, n_noisy_interactions_fraction) noisy_interactions = random_noisy_interactions(n_noisy_interactions, min_time, max_time, n_total_participants, n_topics, topic_noise, taboo_topics) event_interactions = [e.node[n] for e in events for n in e.nodes_iter()] minor_event_interactions = [ e.node[n] for e in minor_events for n in e.nodes_iter() ] all_interactions = (event_interactions + minor_event_interactions + noisy_interactions) # add interaction id for i, intr in enumerate(all_interactions): intr['message_id'] = i intr['topics'] = intr['topics'].tolist() # relabel the nodes relabeled_events = [] for e in events: mapping = {n: e.node[n]['message_id'] for n in e.nodes_iter()} relabeled_events.append(nx.relabel_nodes(e, mapping)) for e in events: e = IU.assign_edge_weights(e, dist_func) gen_cand_trees_params = [get_gen_cand_tree_params(e) for e in events] return relabeled_events, all_interactions, gen_cand_trees_params