Prévia do material em texto
https://player.vimeo.com/video/426429231
https://integrada.minhabiblioteca.com.br/#/books/978-85-216-2936-8/cfi/6/48!/4/22/4/2@0:6.09
TABELA 1 - Matriz Usuário x Item
Usuário Item 1 Item 2 Item 3 Item 4
U1 0 5 2 4
U2 1 4 5 1
U3 4 0 2 3
from surprise import SVD
from surprise import Dataset
from surprise import evaluate, print_perf
# Carrega o dataset do Movielens
data = Dataset.load_builtin('ml-100k')
data.split(n_folds=3)
# Algoritmo do SVD
algo = SVD()
# Avalia a performance do Modelo Gerado
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
print_perf(perf)
https://github.com/NicolasHug/Surprise
Análise de agrupamento, ou clustering, é o nome dado para o grupo de técnicas
computacionais cujo propósito consiste em separar objetos em grupos, baseando-
se nas características que estes objetos possuem (LINDEN, 2009). A Figura a
seguir apresenta uma ilustração de como é aplicado técnicas de agrupamento.
Nesta Figura, é possível observar que existem 3 classes de objetos e todas foram
agrupadas, de acordo com suas características. Nesse caso, o atributo mais
relevante seria a forma geométrica.
O K-Means é uma heurística de agrupamento que busca minimizar a distância dos
elementos em relação a um conjunto de k centro, dado por χ = {x1 ,x2 ,...,xk }, de
forma iterativa. A seguir, é exemplificado o passo a passo para agrupar itens com
esta técnica.
1. Escolher k distintos valores para centros dos grupos (possivelmente, de forma
aleatória);
2. associar cada ponto ao centro mais próximo;
3. recalcular o centro de cada grupo;
4. repetir os passos 2 e 3 até nenhum elemento mudar de grupo.
Eis um exemplo em python que utiliza k-mens para agrupar itens.
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],[4, 2], [4, 4], [4, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
print kmeans.labels_
kmeans.predict([[0, 0], [4, 4]])
print kmeans.cluster_centers_
https://github.com/felipela/ProcessamentoDados
from sklearn import svm
X = [[0, 0], [1, 1]]
y = [0, 1]
clf = svm.SVC()
clf.fit(X, y)
https://www.kaggle.com/