Example of K-Means Clustering in Python with GUI
Angad Gupta ,MIEEE, BITS-Pilani
Renewable Energy | Clean Tech | DR | VPP| DERMS|EV
import tkinter as tk from tkinter import filedialog import pandas as pd from pandas import DataFrame import matplotlib.pyplot as plt from sklearn.cluster import KMeans from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg root= tk.Tk() canvas1 = tk.Canvas(root, width = 400, height = 300, relief = 'raised') canvas1.pack() label1 = tk.Label(root, text='k-Means Clustering') label1.config(font=('helvetica', 14)) canvas1.create_window(200, 25, window=label1) label2 = tk.Label(root, text='Type Number of Clusters:') label2.config(font=('helvetica', 8)) canvas1.create_window(200, 120, window=label2) entry1 = tk.Entry (root) canvas1.create_window(200, 140, window=entry1) def getExcel (): global df import_file_path = filedialog.askopenfilename() read_file = pd.read_excel (import_file_path) df = DataFrame(read_file,columns=['x','y']) browseButtonExcel = tk.Button(text=" Import Excel File ", command=getExcel, bg='green', fg='white', font=('helvetica', 10, 'bold')) canvas1.create_window(200, 70, window=browseButtonExcel) def getKMeans (): global df global numberOfClusters numberOfClusters = int(entry1.get()) kmeans = KMeans(n_clusters=numberOfClusters).fit(df) centroids = kmeans.cluster_centers_ label3 = tk.Label(root, text= centroids) canvas1.create_window(200, 250, window=label3) figure1 = plt.Figure(figsize=(4,3), dpi=100) ax1 = figure1.add_subplot(111) ax1.scatter(df['x'], df['y'], c= kmeans.labels_.astype(float), s=50, alpha=0.5) ax1.scatter(centroids[:, 0], centroids[:, 1], c='red', s=50) scatter1 = FigureCanvasTkAgg(figure1, root) scatter1.get_tk_widget().pack(side=tk.RIGHT, fill=tk.BOTH) processButton = tk.Button(text=' Process k-Means ', command=getKMeans, bg='brown', fg='white', font=('helvetica', 10, 'bold')) canvas1.create_window(200, 170, window=processButton) root.mainloop()
Example:
Dataset: Excel sheet contains the 2 variables X & Y, need to be clustered.... based on the user-provided no of clusters
Program GUI :
#datascience #machinelearning #regression #multipleregression #MLR #python #statistics #statemodel #modeling #model interpretation #MLR #linearregression #learning #ml #datascience #datamodeloing #dataevalution #datavisualization #gupta #clusttering #k-means #unsupervisiedlearning #iris #learning #clusteringexample #slearn #userinterface #GUI #thinkar
You may also like to have a look
- Data Exploration using Pandas
- Data Visualization in Python (Different types of plots)
- Data Engineer Vs Data Analyst Vs Data Scientist
- Renewable Energy optimization with Big Data, Machine Learning, and Artificial Intelligence
- . Data processing with Python
- Linear regression
- Multiple Regression
- clustering with K-means