Untitled

 avatar
unknown
plain_text
6 months ago
2.5 kB
2
Indexable
import tkinter as tk
from tkinter import messagebox
import numpy as np
import pickle
import matplotlib.pyplot as plt

# Modeli yükle
with open('techdeen_model.pkl', 'rb') as file:
    techdeen = pickle.load(file)

# Uygulama penceresi oluştur
root = tk.Tk()
root.title("Tahmini Satış Bedeli Uygulaması")
root.geometry("400x400")
root.config(bg="#f0f0f0")  # Arka plan rengini ayarla

# Başlık
header = tk.Label(root, text="Tahmini Satış Bedeli Hesaplama", font=("Arial", 16, "bold"), bg="#f0f0f0", fg="#333")
header.pack(pady=10)

# Harcama girişleri için etiketler ve kaydırıcılar
tk.Label(root, text="TV Harcaması:", bg="#f0f0f0").pack(pady=5)
tv_cost_var = tk.DoubleVar()
tv_slider = tk.Scale(root, from_=0, to=1000, orient=tk.HORIZONTAL, variable=tv_cost_var, bg="#d9edf7", fg="#31708f")
tv_slider.pack()

tk.Label(root, text="Radyo Harcaması:", bg="#f0f0f0").pack(pady=5)
radio_cost_var = tk.DoubleVar()
radio_slider = tk.Scale(root, from_=0, to=1000, orient=tk.HORIZONTAL, variable=radio_cost_var, bg="#d9edf7", fg="#31708f")
radio_slider.pack()

tk.Label(root, text="Gazete Harcaması:", bg="#f0f0f0").pack(pady=5)
newspaper_cost_var = tk.DoubleVar()
newspaper_slider = tk.Scale(root, from_=0, to=1000, orient=tk.HORIZONTAL, variable=newspaper_cost_var, bg="#d9edf7", fg="#31708f")
newspaper_slider.pack()

# Tahmini hesaplama ve gösterme fonksiyonu
def calculate_prediction():
    # Girdileri al
    tv_cost = tv_cost_var.get()
    radio_cost = radio_cost_var.get()
    newspaper_cost = newspaper_cost_var.get()
    
    # Girdi değerlerini modeline uygun formata getir
    input_data = np.array([[tv_cost, radio_cost, newspaper_cost]])

    # Model üzerinden tahmini satış bedelini hesapla
    predicted_value = techdeen.predict(input_data)[0]

    # Tahmin sonucunu göster
    messagebox.showinfo("Tahmini Satış Bedeli", f"Tahmini Satış Bedeliniz: {predicted_value:.2f} TL")
    
    # Harcama dağılımını gösteren grafik oluştur
    categories = ['TV', 'Radyo', 'Gazete']
    values = [tv_cost, radio_cost, newspaper_cost]

    plt.bar(categories, values, color=['#007bff', '#28a745', '#dc3545'])
    plt.ylabel('Harcama (TL)')
    plt.title('Harcama Dağılımı')
    plt.show()

# Tahmin butonu
calculate_button = tk.Button(root, text="Tahmini Hesapla", command=calculate_prediction, bg="#5bc0de", fg="white", font=("Arial", 12, "bold"))
calculate_button.pack(pady=20)

# Uygulamayı çalıştır
root.mainloop()
Editor is loading...
Leave a Comment