Yuri, eu estou gerando os dados com o anaconda sypder, e os dados toda as vezes que eu gero vem parece que um random na classificacao, o que eu posso estar fazendo de errado?
import pandas as pd
import seaborn as sns
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.manifold import TSNE
uri_filmes = 'https://raw.githubusercontent.com/alura-cursos/machine-learning-algoritmos-nao-supervisionados/master/movies.csv'
filmes = pd.read_csv(uri_filmes)
filmes.columns = ['filme_id', 'titulo', 'generos']
#----------------------------------------- pegando as caracteristicas e jogando em colunas -----------------------------------
generos = filmes.generos.str.get_dummies()
#-----------------------------------------concatenando os valores ------------------------------------------------------------
dados_dos_filmes = pd.concat([filmes, generos], axis=1)
#----------------------------------------- conhece os dados e coloca tudo no mesmo escalonamento -----------------------------
scaler = StandardScaler()
generos_escalados = scaler.fit_transform(generos)
#----------------------------------------- classificando em 3 generos --------------------------------------------------------
modelo = KMeans(n_clusters = 17)
modelo.fit(generos_escalados)
grupos = pd.DataFrame(modelo.cluster_centers_, columns=generos.columns)
print(grupos.transpose().plot.bar(subplots=True, figsize=(20,10), sharex=False, rot=0))
grupo = 10
filtro = modelo.labels_ == grupo
print(dados_dos_filmes[filtro].sample(17))
def kmeans(numero_de_clusters, generos) :
modelo = KMeans(n_clusters=numero_de_clusters)
modelo.fit(generos)
return (numero_de_clusters, modelo.inertia_)