Skip to content

Instantly share code, notes, and snippets.

View gabraganca's full-sized avatar
🚀
going above and beyond

Gustavo Bragança gabraganca

🚀
going above and beyond
View GitHub Profile
@gabraganca
gabraganca / gremlin_ex.md
Created June 24, 2018 01:37
Exercício Gremlin

Gremlin - Exercício

  1. Quantos vértices existem?

    gremlin> g.V().count()
    ==>18
    
  2. Visite todo nó e respectivas proprieadades

@gabraganca
gabraganca / README.md
Last active December 25, 2022 00:34
Kinesis Agent on Ubuntu 16.04

Setting Up Kinesis Agent on Ubuntu 16.04

To ease the process, I created a script that automatizes the installation of the Agent. The steps are:

  1. Create the configuration file for the agent following these readings:
import time
import datetime
import random
import pandas as pd
import numpy as np
from surprise import SVD, BaselineOnly, Reader, Dataset
from surprise.model_selection import GridSearchCV, cross_validate, KFold
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
@gabraganca
gabraganca / load_dataset.py
Created April 4, 2019 23:45
Load dataset
dataset = 'ml-latest-small'
# Carrega as notas
df_ratings = pd.read_csv(f'{dataset}/ratings.csv',
dtype={'userId':str, 'movieId':str, 'rating':float})
df_ratings.drop('timestamp', axis=1, inplace=True)
# Carrega informação dos filmes:
df_movies = pd.read_csv(f'{dataset}/movies.csv', dtype=str)
@gabraganca
gabraganca / add_wife_ratings.py
Last active April 5, 2019 01:22
Wife ratings
def add_rating(userId:str, movie_name:str, rating:float):
"""
Adiciona a nota de um userId referente a filme.
Parameters:
userId: Id do usuário.
movie_name: Nome do filme. Aceita Expressão Regular
rating: Nota de 0.5 a 5 de 0.5 em 0.5.
"""
@gabraganca
gabraganca / create_dataset.py
Created April 4, 2019 23:47
Criar dataset pro surprise
reader = Reader(rating_scale=(0.5, 5))
data = Dataset.load_from_df(df_ratings[['userId', 'movieId', 'rating']],
reader)
full_trainset = data.build_full_trainset()
# Define a grade de hiperparâmetros
param_grid = {
'n_factors': [10, 100, 200, 400],
'lr_all': [0.002, 0.005, 0.007, 0.009],
'n_epochs':[20, 100, 200, 400]
}
# Ajusta os modelos na grade com Validação Cruzada
gs = GridSearchCV(SVD, param_grid, measures=['mae', 'rmse'], cv=5, n_jobs=-1)
gs.fit(data)
# Implementação baseada em
# https://github.com/NicolasHug/Surprise/blob/master/examples/benchmark.py
set_cell_seed(MY_SEED)
# Os algortimos para verificar
classes = (SVD, BaselineOnly)
kf = KFold(random_state=MY_SEED) # certifica que as dobras serão as mesmas
table = []
algo_base=BaselineOnly()
algo_base.fit(full_trainset)
def get_rec_movies(user_id:str, algoritmo, n_top: int =10) -> pd.DataFrame:
"""
Obtém uma lista de recomendação para N filmes para um
usuário.
Parameters:
user_id: o ID do usuário
n_top: O número de filmes desejados
Returns: