alperugurcan's picture
Update app.py
82e647b verified
import streamlit as st
import pandas as pd
import joblib
# Model'i yükle
@st.cache_resource
def load_model():
return joblib.load('click_predict_logistic_regression.joblib')
model = load_model()
st.title('Ad Click Prediction')
st.write('Adjust the sliders below to predict if a user will click on an ad:')
# Kullanıcı girişleri
daily_time = st.slider('Daily Time Spent on Site (minutes)', min_value=32.6, max_value=91.43, value=65.0, step=0.1)
age = st.slider('Age', min_value=19, max_value=61, value=36, step=1)
area_income = st.slider('Area Income ($)', min_value=13996, max_value=79485, value=55000, step=100)
daily_internet = st.slider('Daily Internet Usage (minutes)', min_value=104.78, max_value=269.96, value=180.0, step=0.1)
gender = st.radio('Gender', ['Male', 'Not Male'])
if st.button('Predict'):
# Girişleri bir DataFrame'e dönüştür
input_data = pd.DataFrame({
'Daily Time Spent on Site': [daily_time],
'Age': [age],
'Area Income': [area_income],
'Daily Internet Usage': [daily_internet],
'Male_not_male': [1 if gender == 'Not Male' else 0]
})
# Tahmin yap
prediction = model.predict(input_data)
probability = model.predict_proba(input_data)[0][1]
if prediction[0] == 1:
st.success(f'This user is likely to click on the ad. Probability: {probability:.2f}')
else:
st.error(f'This user is unlikely to click on the ad. Probability: {probability:.2f}')
# Girdi değerlerini göster
st.write('Input values:')
st.write(input_data)