Example #1
0
def user_experiment(set_size=2000):
    if set_size > 0:
        print("+ Extraindo " + str(set_size) + " músicas")
        extractSet(set_size=set_size)
    print('+ Carregando dados no sistema')
    groot = Radio(load_data_songs(), load_data_users())
    print('+ Carregando Dados')
    groot.post_preference_set(
        preference_set=make_set_to_process(
            song_set=groot.get_song_set(),
            dict_set=statisticalOverview(
                songSet=groot.get_song_set(),
                preferenceSet=groot.get_preference_set(),
                DEBUG=False
            ),
            DEBUG=False
        )
    )
    print('+ Treinando a árvore')
    classifier, evaluate_results = plant_the_tree(
        set_to_process=preprocessing_data(
            data_set=groot.get_preference_set(),
            all_features=groot.get_all_features(),
            DEBUG=False
        ),
        features=groot.get_song_features(),
        important_feature=groot.get_important_feature(),
        DEBUG=True,
        ADMIN=False
    )
    groot.post_classifier(
        new_classifier=classifier
    )
    print('+ Obtendo similaridade entre as músicas')
    groot.post_distance_matrix(
        new_distance_matrix=get_song_distance(
            song_set=groot.get_song_set(),
            song_features=groot.get_song_features(),
            classifier_important=groot.get_feature_weight(),
            DEBUG=False
        )
    )
    print('+ Rádio Groot - Iniciando')
    time.sleep(3)
    os.system('clear||cls')
    start_and_end = interface_menu(groot)
    environment(
        groot=groot,
        song_stages=start_and_end
    )
Example #2
0
def admin_experiment(set_size=2000):
    if set_size > 0:
        print("+ Extraindo " + str(set_size) + " músicas")
        extractSet(set_size=set_size)
    print('+ Carregando dados no sistema')
    groot = Radio(load_data_songs(), load_data_users())
    print('+ Processando dados')
    groot.post_preference_set(
        preference_set=make_set_to_process(
            song_set=groot.get_song_set(),
            dict_set=statisticalOverview(
                songSet=groot.get_song_set(),
                preferenceSet=groot.get_preference_set(),
                DEBUG=True
            ),
            DEBUG=True
        )
    )
    print('+ Treinando a árvore')
    classifier, evaluate_results = plant_the_tree(
        set_to_process=preprocessing_data(
            data_set=groot.get_preference_set(),
            all_features=groot.get_all_features(),
            DEBUG=True
        ),
        features=groot.get_song_features(),
        important_feature=groot.get_important_feature(),
        DEBUG=True,
        ADMIN=True
    )
    groot.post_classifier(
        new_classifier=classifier
    )
    print('+ Obtendo similaridade entre as músicas')
    groot.post_distance_matrix(
        new_distance_matrix=get_song_distance(
            song_set=groot.get_song_set(),
            song_features=groot.get_song_features(),
            classifier_important=groot.get_feature_weight(),
            DEBUG=True
        )
    )
    print('+ Iniciando a busca')
    similarity = environment(
        groot=groot,
        song_stages=random_choice(groot=groot),
        DEBUG=True
    )
    print('+ Busca Terminada')
Example #3
0
def experiment_cicles(cicles=5, set_size=500):
    weight_df = pd.DataFrame(columns=list([]))
    evaluate_df = pd.DataFrame(columns=list([]))
    similarity_df = pd.DataFrame(columns=list())
    for i in range(cicles):
        print('- * - Iniciando o Ciclo: ', str(i))
        if set_size > 0:
            print("+ Extraindo " + str(set_size) + " músicas")
            extractSet(set_size=set_size)
        print('+ Carregando dados no sistema')
        groot = Radio(load_data_songs(), load_data_users())
        print('+ Processando dados')
        groot.post_preference_set(
            preference_set=make_set_to_process(
                song_set=groot.get_song_set(),
                dict_set=statisticalOverview(
                    songSet=groot.get_song_set(),
                    preferenceSet=groot.get_preference_set(),
                    DEBUG=False
                ),
                DEBUG=False
            )
        )
        print('+ Treinando a árvore')
        classifier, evaluate_results = plant_the_tree(
                set_to_process=preprocessing_data(
                    data_set=groot.get_preference_set(),
                    all_features=groot.get_all_features(),
                    DEBUG=False
                ),
                features=groot.get_song_features(),
                important_feature=groot.get_important_feature(),
                DEBUG=False,
                ADMIN=False
            )
        groot.post_classifier(
            new_classifier=classifier
        )
        print('+ Obtendo similaridade entre as músicas')
        groot.post_distance_matrix(
            new_distance_matrix=get_song_distance(
                song_set=groot.get_song_set(),
                song_features=groot.get_song_features(),
                classifier_important=groot.get_feature_weight(),
                DEBUG=False
            )
        )
        print('+ Iniciando a busca')
        similarity = environment(
            groot=groot,
            song_stages=random_choice(groot=groot),
            DEBUG=False
        )
        print('+ Busca Terminada')
        print('Salvando informações')
        #
        weight_df = pd.concat([weight_df, pd.DataFrame(
            [[i for i in list(groot.get_classifier().feature_importances_)]],
            columns=[i for i in list(groot.get_song_features())],
        )], sort=False)
        #
        evaluate_df = pd.concat([evaluate_df, pd.DataFrame(
            [[i for i in evaluate_results.values()]],
            columns=[x for x in evaluate_results],
        )], sort=False)
        #
        similarity_df = pd.concat([similarity_df,
                  pd.DataFrame(
                      [[i for i in similarity.values()]],
                      columns=[x for x in similarity],
                  )], sort=False)
    plot_feature_importance(weight_df)
    plot_evaluations(evaluate_df)
    plot_similarity(similarity_df['similaridade'].tolist())
    plot_final_state(similarity_df['final_state'].tolist())
    plot_nodes(similarity_df['total_visitas'].tolist())