# This file contains configuration data for the insurance charges prediction application. import random # Define the region_data dictionary with pincodes and places for each region. region_data = {'southeast': {'pincodes': ['30301', '33101', '37201', '27514', '29501'], 'places': ['Atlanta, Georgia', 'Miami, Florida', 'Nashville, Tennessee', 'Chapel Hill, North Carolina', 'Florence, South Carolina']}, 'southwest': {'pincodes': ['85001', '73301', '87501', '73102', '85701'], 'places': ['Phoenix, Arizona', 'Austin, Texas', 'Santa Fe, New Mexico', 'Oklahoma City, Oklahoma', 'Tucson, Arizona']}, 'northwest': {'pincodes': ['98101', '97201', '83702', '99201', '59715'], 'places': ['Seattle, Washington', 'Portland, Oregon', 'Boise, Idaho', 'Spokane, Washington', 'Bozeman, Montana']}, 'northeast': {'pincodes': ['10001', '02108', '19103', '07030', '06103'], 'places': ['New York, New York', 'Boston, Massachusetts', 'Philadelphia, Pennsylvania', 'Hoboken, New Jersey', 'Hartford, Connecticut']}} # List of columns used during model training. # This ensures that input data for prediction is processed with the same column structure. training_columns = ['age', 'bmi', 'children', 'sex_female', 'sex_male', 'smoker_no', 'smoker_yes', 'pincode_02108', 'pincode_06103', 'pincode_07030', 'pincode_10001', 'pincode_19103', 'pincode_27514', 'pincode_29501', 'pincode_30301', 'pincode_33101', 'pincode_37201', 'pincode_59715', 'pincode_73102', 'pincode_73301', 'pincode_83702', 'pincode_85001', 'pincode_85701', 'pincode_87501', 'pincode_97201', 'pincode_98101', 'pincode_99201', 'place_Atlanta, Georgia', 'place_Austin, Texas', 'place_Boise, Idaho', 'place_Boston, Massachusetts', 'place_Bozeman, Montana', 'place_Chapel Hill, North Carolina', 'place_Florence, South Carolina', 'place_Hartford, Connecticut', 'place_Hoboken, New Jersey', 'place_Miami, Florida', 'place_Nashville, Tennessee', 'place_New York, New York', 'place_Oklahoma City, Oklahoma', 'place_Philadelphia, Pennsylvania', 'place_Phoenix, Arizona', 'place_Portland, Oregon', 'place_Santa Fe, New Mexico', 'place_Seattle, Washington', 'place_Spokane, Washington', 'place_Tucson, Arizona'] # Function to assign a random pincode and place based on region def assign_location_data(row): region = row['region'] if region in region_data: pincode = random.choice(region_data[region]['pincodes']) place = random.choice(region_data[region]['places']) return pincode, place return None, None # Extract unique pincodes and places from region_data for dropdown options all_pincodes = [] all_places = [] for region in region_data: all_pincodes.extend(region_data[region]['pincodes']) all_places.extend(region_data[region]['places']) unique_pincodes = sorted(list(set(all_pincodes))) unique_places = sorted(list(set(all_places)))