Você está fazendo a pergunta errada.
Em vez de perguntar "qual algoritmo", você deve perguntar "o que é uma categoria / cluster significativa em seu aplicativo".
Não estou surpreso que os algoritmos acima não funcionaram - eles foram projetados para casos de uso muito diferentes. O k-means não funciona com outras distâncias arbitrárias. Não use com distância de Hamming. Há uma razão pela qual é chamado k- means , só faz sentido usar quando a média aritmética é significativa (o que não é para dados binários).
Você pode tentar os modos k, em vez disso, o IIRC é uma variante que deve ser usada com dados categoriais e os dados binários são um tanto categoriais (mas a escarsidade ainda pode matá-lo).
Mas antes de tudo, você removeu duplicatas para simplificar seus dados e removeu colunas exclusivas / vazias, por exemplo?
Talvez APRIORI ou abordagens semelhantes também sejam mais significativas para o seu problema.
De qualquer forma, primeiro descubra o que você precisa e, em seguida, qual algoritmo pode resolver esse desafio. Trabalhe com base em dados , não experimentando algoritmos aleatórios.