hanifekaptan's picture
Hesaplama hatası düzeltildi
14cc1a2 verified
# Author: Hanife Kaptan
# Versions: python==3.11.2, xgboost==2.1.1, streamlit==1.36.0, scikit-learn==1.4.2, pandas==2.2.3
import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.pipeline import Pipeline
from xgboost import XGBClassifier
import streamlit as st
df = pd.read_csv("akcigerKanseri.csv")
X = df.drop("lung_cancer", axis=1)
y = df["lung_cancer"]
preprocess = ColumnTransformer(
transformers = [("cat", OneHotEncoder(), ["gender"]), ("num", (StandardScaler()), ["age"])], remainder = "passthrough"
)
my_model = XGBClassifier()
pipe = Pipeline(steps=[("preprocessor", preprocess), ("model", my_model)])
pipe.fit(X, y)
def lung_cancer(gender, age, smoking, yellow_fingers, anxiety, peer_pressure,
chronic_disease, fatigue, allergy, wheezing, alcohol_consuming,
coughing, shortness_of_breath, swallowing_difficulty, chest_pain):
input_data = pd.DataFrame({"gender": [gender],
"age": [age],
"smoking": [smoking],
"yellow_fingers": [yellow_fingers],
"anxiety": [anxiety],
"peer_pressure": [peer_pressure],
"chronic_disease": [chronic_disease],
"fatigue": [fatigue],
"allergy": [allergy],
"wheezing": [wheezing],
"alcohol_consuming": [alcohol_consuming],
"coughing": [coughing],
"shortness_of_breath": [shortness_of_breath],
"swallowing_difficulty": [swallowing_difficulty],
"chest_pain": [chest_pain]})
prediction = pipe.predict(input_data)[0]
return prediction
st.title("Akciğer Kanseri Tespiti :hospital:: @hanifekaptan")
st.write("Kendinizle ilgili doğru seçenekleri seçiniz.")
gender = st.radio("Gender", ["Male", "Female"]) # male ve female 1 ve 0 değerlerine dönüştürülecek
age = st.number_input("Age", 0, 100)
smoking = st.radio("Smoking", [True, False])
yellow_fingers = st.radio("Yellow Fingers", [True, False])
anxiety = st.radio("Anxiety", [True, False])
peer_pressure = st.radio("Peer Pressure", [True, False])
chronic_disease = st.radio("Chronic Disease", [True, False])
fatigue = st.radio("Fatigue", [True, False])
allergy = st.radio("Allergy", [True, False])
wheezing = st.radio("Wheezing", [True, False])
alcohol_consuming = st.radio("Alcohol Consuming", [True, False])
coughing = st.radio("Coughing", [True, False])
shortness_of_breath = st.radio("Shortness of Breath", [True, False])
swallowing_difficulty = st.radio("Swallowing Difficulty", [True, False])
chest_pain = st.radio("Chest Pain", [True, False])
if st.button("Predict"):
pred = lung_cancer(gender, age, smoking, yellow_fingers, anxiety, peer_pressure,
chronic_disease, fatigue, allergy, wheezing, alcohol_consuming,
coughing, shortness_of_breath, swallowing_difficulty, chest_pain)
if pred == 1:
st.write("Result: Positive")
elif pred == 0:
st.write("Result: Negative")