Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.ensemble import RandomForestClassifier | |
| from sklearn.metrics import accuracy_score, classification_report | |
| from sklearn.preprocessing import StandardScaler | |
| st.set_page_config(page_title="Random Forest Diabetes Classifier", layout="centered") | |
| st.title("๐จ๐ปโ๐ปDynamic Code Generating ChatBot๐ค") | |
| uploaded_file = st.file_uploader("๐ Upload your CSV dataset", type=["csv"]) | |
| if uploaded_file: | |
| df = pd.read_csv(uploaded_file) | |
| st.success("โ File loaded successfully!") | |
| st.write("### Preview of Dataset:") | |
| st.dataframe(df.head()) | |
| all_columns = df.columns.tolist() | |
| target_column = st.selectbox("๐ฏ Select the target column (diabetes outcome)", all_columns) | |
| feature_columns = st.multiselect("๐ ๏ธ Select feature columns", [col for col in all_columns if col != target_column]) | |
| if st.button("๐ Run Random Forest Classifier"): | |
| try: | |
| X = df[feature_columns] | |
| y = df[target_column] | |
| X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) | |
| scaler = StandardScaler() | |
| X_train = scaler.fit_transform(X_train) | |
| X_test = scaler.transform(X_test) | |
| model = RandomForestClassifier(n_estimators=100, random_state=42) | |
| model.fit(X_train, y_train) | |
| y_pred = model.predict(X_test) | |
| accuracy = accuracy_score(y_test, y_pred) | |
| report = classification_report(y_test, y_pred, output_dict=False) | |
| st.write("### โ Accuracy:") | |
| st.write(f"{accuracy * 100:.2f}%") | |
| st.write("### ๐ Classification Report:") | |
| st.code(report) | |
| except Exception as e: | |
| st.error(f"โ An error occurred: {e}") | |
| else: | |
| st.info("๐ Upload a CSV file to begin.") | |