Esempio n. 1
0
    def hclust(self):

        dissim2 = functions.getSimilaritiesFromModel(self._subModel)
        linkageMatrix = hier.linkage(dist.squareform(dissim2), method='single')
        labels = functions.getMoviesNames(self._moviesInformations,self._original_movieIDs[self._mostRated])
        dendro = hier.dendrogram(linkageMatrix, labels=labels, leaf_rotation=90)
        plt.show()
Esempio n. 2
0
    def __init__(self):
        self._model= RSVD.load("objects/")
        self._original_movieIDs=np.load("objects/original_movieIDs")
        self._ratings= np.load("objects/ratings")
        self._moviesInformations = functions.loadMoviesInformations('data_movilens1m/movies.dat')
        self._usersInformations = functions.loadUsersInformations('data_movilens1m/users.dat')
        self._dissim = functions.getSimilaritiesFromModel(self._model.u)
        self._movieMean=np.load("objects/movieMean")
        self._userMean=np.load("objects/userMean")

        # PCA pour les films les plus notes
        self._mostRated = functions.getNMostRatedMovies(self._ratings,2000)

        j = 0
        self._subModel=np.empty((len(self._mostRated),self._model.u.shape[1])) #subRatings doit etre du meme type que model
        self._subMovieMean = np.empty((len(self._mostRated),2))
        for i,row in enumerate(self._model.u):
            if i in self._mostRated:
                self._subMovieMean[j] = self._movieMean[i]
                self._subModel[j]=row
                j= j +1

        # PCA pour les films les plus notes
        self._mostRating = functions.getNMostRatingUsers(self._ratings)
        j = 0
        self._subModel2=np.empty((len(self._mostRating),self._model.v.shape[1])) #subRatings doit etre du meme type que model
        self._subMovieMean2 = np.empty((len(self._mostRating),2))
        for i,row in enumerate(self._model.v):
            if i in self._mostRating:
                self._subMovieMean2[j] = self._userMean[i]
                self._subModel2[j]=row
                j= j +1
Esempio n. 3
0
    def graph(self) :
        dissim2 = functions.getSimilaritiesFromModel(self._subModel)
        maxi = np.amax(dissim2) #-1
        A = dist.squareform(maxi-dissim2)
        G = nx.from_numpy_matrix(A)
        movieList = functions.getMoviesNames(self._moviesInformations,self._original_movieIDs[self._mostRated])
        G = nx.relabel_nodes(G, dict(zip(range(len(G.nodes())),movieList)))    

        #G = nx.to_agraph(G)

        #G.node_attr.update(color="red", style="filled")
        #G.edge_attr.update(color="blue", width="2.0")

        nx.draw(G, edge_color = "blue", font_weight="bold")
        plt.show()