| import streamlit as st |
| import pickle |
| import numpy as np |
| import pandas as pd |
|
|
| st.title("AI-Driven Project Risk Level Classification Tool") |
|
|
| Project_Type = st.selectbox("Type of the project", ['Construction', 'Manufacturing', 'IT', 'R&D', 'Healthcare', 'Marketing']) |
|
|
| Team_size = st.number_input("Team size", min_value=2, max_value=50) |
| Project_Budget_USD = st.number_input('Project Budget (USD)', min_value=159355.55, max_value=3768354.37) |
| Estimated_Timeline_Months = st.number_input('Estimated Timeline (Months)', min_value=2, max_value=36) |
| Complexity_Score = st.number_input('Complexity Score', min_value=1.62, max_value=10.00) |
| Stakeholder_Count = st.number_input('Stakeholder Count', min_value=2, max_value=29) |
|
|
| Methodology_Used = st.selectbox('Methodology Used', ['Waterfall', 'Kanban', 'Agile', 'Scrum', 'Hybrid']) |
| Team_Experience_Level = st.selectbox('Team Experience Level', ['Senior', 'Mixed', 'Junior', 'Expert']) |
| External_Dependencies_Count = st.number_input('External Dependencies Count', min_value=0, max_value=7) |
| Requirement_Stability = st.selectbox('Requirement Stability', ['Moderate', 'Stable', 'Volatile']) |
| Current_Phase_Duration_Months = st.number_input('Current Phase Duration (Months)', min_value=1, max_value=17) |
|
|
| with open("Classification project.pkl", "rb") as f: |
| final_model = pickle.load(f) |
|
|
| if st.button("Submit the Details"): |
| input_df = pd.DataFrame([{ |
| 'Project_Type': Project_Type, |
| 'Team_Size': Team_size, |
| 'Project_Budget_USD': Project_Budget_USD, |
| 'Estimated_Timeline_Months': Estimated_Timeline_Months, |
| 'Complexity_Score': Complexity_Score, |
| 'Stakeholder_Count': Stakeholder_Count, |
| 'Methodology_Used': Methodology_Used, |
| 'Team_Experience_Level': Team_Experience_Level, |
| 'External_Dependencies_Count': External_Dependencies_Count, |
| 'Requirement_Stability': Requirement_Stability, |
| 'Current_Phase_Duration_Months': Current_Phase_Duration_Months |
| }]) |
|
|
| pred = final_model.predict(input_df)[0] |
| st.success(f"The predicted Risk Level is: {pred}") |