def kmeansModel(self):
        print("build the model and Get Visualization")
        print("Number of clusters k : ", self.e1.get())
        print("Number of runs : ", self.e2.get())
        if self.e1.get() == "" or self.e2.get() == "":
            messagebox.showinfo("Error", "One of the parameters is missing ")
        else:
            if self.bool:
                if self.e1.get().isdigit() and self.e2.get().isdigit():
                    if int(self.e1.get()) > 2 and int(
                            self.e1.get()) < 165 and int(self.e2.get()) < 50:
                        clustering = KMeansClustering.Clustering(
                            self.preprocess.data_frame)
                        clustering.activate_k_means_algorithm(
                            int(self.e1.get()), int(self.e2.get()))
                        clustering.create_scatter_generosity_social_support()
                        clustering.create_country_map()
                        messagebox.showinfo(
                            "clustering", "Clustering completed successfully!")
                        self.showImg()
                    else:
                        messagebox.showinfo(
                            "Error",
                            "One of the parameters doesn't make sense \n"
                            "The k must be between 2 and 165 (number of countries)\n"
                            "And Number of runs must be under 50 ")

                else:
                    messagebox.showinfo("Error",
                                        "The parameters must be numbers !")
            else:
                messagebox.showinfo("Error", "Must first do pre-processing ")