File size: 2,826 Bytes
13d1c10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

# 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)))