Parthebhan commited on
Commit
b0d4cc9
·
verified ·
1 Parent(s): 99247ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -25
app.py CHANGED
@@ -5,6 +5,18 @@ import numpy as np
5
  # Load the pickled model
6
  model = tf.keras.models.load_model("census.h5")
7
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  # Define the function for making predictions
9
  def salarybracket(age, workclass, education, education_num, marital_status, occupation, relationship, race, gender, capital_gain, capital_loss, hours_per_week, native_country):
10
  inputs = np.array([[age, workclass, education, education_num, marital_status, occupation, relationship, race, gender, capital_gain, capital_loss, hours_per_week, native_country]])
@@ -13,34 +25,36 @@ def salarybracket(age, workclass, education, education_num, marital_status, occu
13
  result = "Income_bracket lesser than or equal to 50K ⬇️" if prediction_value <= 0.5 else "Income_bracket greater than 50K ⬆️"
14
  return f"{result}"
15
 
16
-
 
 
 
 
 
17
  # Create the Gradio interface
18
  salarybracket_ga = gr.Interface(fn=salarybracket,
19
- inputs = [
20
- gr.Number(17, 90, label="Age [17 to 90]"),
21
- gr.Number(0, 8, label="Workclass [0 to 8]"),
22
- gr.Number(0, 15, label="Education [0 to 15]"),
23
- gr.Number(1, 16, label="Education Num [1 to 16]"),
24
- gr.Number(0, 6, label="Marital Status [0 to 6]"),
25
- gr.Number(0, 14, label="Occupation [0 to 14]"),
26
- gr.Number(0, 5, label="Relationship [0 to 5]"),
27
- gr.Number(0, 4, label="Race [0 to 4]"),
28
- gr.Number(0, 1, label="Gender [0 to 1]"),
29
- gr.Number(0, 99999, label="Capital Gain [0 to 99999]"),
30
- gr.Number(0, 4356, label="Capital Loss [0 to 4356]"),
31
- gr.Number(1, 99, label="Hours per Week [1 to 99]"),
32
- gr.Number(0, 40, label="Native Country [0 to 40]"),
33
- ],
34
- outputs="text", title="Salary Bracket Prediction - Income <=50k or >50K ",
35
- examples = [
36
- [75,0,0,6,6,0,2,1,0,0,0,1,3,0,0],
37
- [25,4,11,9,2,13,2,4,0,0,0,48,38,1,1],
38
- [29,4,1,7,4,3,3,2,1,0,0,40,14,0,0],
39
- [51,5,12,14,2,4,0,4,1,15024,0,50,38,1,1],
40
- [66,0,15,10,2,0,0,4,1,0,1825,40,38,1,1],
41
- ],
42
  description="Predicting Income_bracket Prediction Using TensorFlow",
43
  theme='dark'
44
  )
45
 
46
- salarybracket_ga.launch(share=True,debug=True)
 
 
 
 
5
  # Load the pickled model
6
  model = tf.keras.models.load_model("census.h5")
7
 
8
+ # Mapping of categorical variables to encoded values
9
+ mapping = {
10
+ 'workclass': {' ?': 0, ' Federal-gov': 1, ' Local-gov': 2, ' Never-worked': 3, ' Private': 4, ' Self-emp-inc': 5, ' Self-emp-not-inc': 6, ' State-gov': 7, ' Without-pay': 8},
11
+ 'education': {' 10th': 0, ' 11th': 1, ' 12th': 2, ' 1st-4th': 3, ' 5th-6th': 4, ' 7th-8th': 5, ' 9th': 6, ' Assoc-acdm': 7, ' Assoc-voc': 8, ' Bachelors': 9, ' Doctorate': 10, ' HS-grad': 11, ' Masters': 12, ' Preschool': 13, ' Prof-school': 14, ' Some-college': 15},
12
+ 'marital_status': {' Divorced': 0, ' Married-AF-spouse': 1, ' Married-civ-spouse': 2, ' Married-spouse-absent': 3, ' Never-married': 4, ' Separated': 5, ' Widowed': 6},
13
+ 'occupation': {' ?': 0, ' Adm-clerical': 1, ' Armed-Forces': 2, ' Craft-repair': 3, ' Exec-managerial': 4, ' Farming-fishing': 5, ' Handlers-cleaners': 6, ' Machine-op-inspct': 7, ' Other-service': 8, ' Priv-house-serv': 9, ' Prof-specialty': 10, ' Protective-serv': 11, ' Sales': 12, ' Tech-support': 13, ' Transport-moving': 14},
14
+ 'relationship': {' Husband': 0, ' Not-in-family': 1, ' Other-relative': 2, ' Own-child': 3, ' Unmarried': 4, ' Wife': 5},
15
+ 'race': {' Amer-Indian-Eskimo': 0, ' Asian-Pac-Islander': 1, ' Black': 2, ' Other': 3, ' White': 4},
16
+ 'gender': {' Female': 0, ' Male': 1},
17
+ 'native_country': {' ?': 0, ' Cambodia': 1, ' Canada': 2, ' China': 3, ' Columbia': 4, ' Cuba': 5, ' Dominican-Republic': 6, ' Ecuador': 7, ' El-Salvador': 8, ' England': 9, ' France': 10, ' Germany': 11, ' Greece': 12, ' Guatemala': 13, ' Haiti': 14, ' Honduras': 15, ' Hong': 16, ' Hungary': 17, ' India': 18, ' Iran': 19, ' Ireland': 20, ' Italy': 21, ' Jamaica': 22, ' Japan': 23, ' Laos': 24, ' Mexico': 25, ' Nicaragua': 26, ' Outlying-US(Guam-USVI-etc)': 27, ' Peru': 28, ' Philippines': 29, ' Poland': 30, ' Portugal': 31, ' Puerto-Rico': 32, ' Scotland': 33, ' South': 34, ' Taiwan': 35, ' Thailand': 36, ' Trinadad&Tobago': 37, ' United-States': 38, ' Vietnam': 39, ' Yugoslavia': 40}
18
+ }
19
+
20
  # Define the function for making predictions
21
  def salarybracket(age, workclass, education, education_num, marital_status, occupation, relationship, race, gender, capital_gain, capital_loss, hours_per_week, native_country):
22
  inputs = np.array([[age, workclass, education, education_num, marital_status, occupation, relationship, race, gender, capital_gain, capital_loss, hours_per_week, native_country]])
 
25
  result = "Income_bracket lesser than or equal to 50K ⬇️" if prediction_value <= 0.5 else "Income_bracket greater than 50K ⬆️"
26
  return f"{result}"
27
 
28
+ # Convert mapping to markdown table
29
+ markdown_table = "| Column | Category | Encoded Value |\n|--------|----------|---------------|\n"
30
+ for column, categories in mapping.items():
31
+ for category, value in categories.items():
32
+ markdown_table += f"| {column} | {category} | {value} |\n"
33
+
34
  # Create the Gradio interface
35
  salarybracket_ga = gr.Interface(fn=salarybracket,
36
+ inputs = [
37
+ gr.Number(17, 90, label="Age [17 to 90]"),
38
+ gr.Number(0, 8, label="Workclass [0 to 8]"),
39
+ gr.Number(0, 15, label="Education [0 to 15]"),
40
+ gr.Number(1, 16, label="Education Num [1 to 16]"),
41
+ gr.Number(0, 6, label="Marital Status [0 to 6]"),
42
+ gr.Number(0, 14, label="Occupation [0 to 14]"),
43
+ gr.Number(0, 5, label="Relationship [0 to 5]"),
44
+ gr.Number(0, 4, label="Race [0 to 4]"),
45
+ gr.Number(0, 1, label="Gender [0 to 1]"),
46
+ gr.Number(0, 99999, label="Capital Gain [0 to 99999]"),
47
+ gr.Number(0, 4356, label="Capital Loss [0 to 4356]"),
48
+ gr.Number(1, 99, label="Hours per Week [1 to 99]"),
49
+ gr.Number(0, 40, label="Native Country [0 to 40]"),
50
+ ],
51
+ outputs="text",
52
+ title="Salary Bracket Prediction - Income <=50k or >50K ",
 
 
 
 
 
 
53
  description="Predicting Income_bracket Prediction Using TensorFlow",
54
  theme='dark'
55
  )
56
 
57
+ # Set the markdown description
58
+ salarybracket_ga.set_description(markdown_table)
59
+
60
+ salarybracket_ga.launch(share=True, debug=True)