Nityanand Mathur commited on
Commit
fc0e1a8
·
0 Parent(s):
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Thermal Comfort
3
+ emoji: 📚
4
+ colorFrom: indigo
5
+ colorTo: indigo
6
+ sdk: gradio
7
+ sdk_version: 3.36.1
8
+ app_file: app.py
9
+ pinned: false
10
+ license: ms-pl
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import pandas as pd
3
+
4
+
5
+ def read_csv(dataset):
6
+ path = './data/' + dataset + '.csv'
7
+ data = pd.read_csv(path)
8
+ return data.head(10)
9
+
10
+ def train_model(input_df, target, test_size, model_name, features_to_drop):
11
+ import pickle
12
+
13
+ from sklearn.compose import ColumnTransformer
14
+ from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor
15
+ from sklearn.model_selection import train_test_split
16
+ from sklearn.pipeline import Pipeline
17
+ from sklearn.preprocessing import OneHotEncoder, StandardScaler
18
+
19
+ path = './data/' + input_df + '.csv'
20
+
21
+ data = pd.read_csv(path, index_col=0)
22
+ data = data.drop(features_to_drop, axis=1)
23
+
24
+ metrics = ['TSV','TPV','TCV','TSL']
25
+ metrics.remove(target[0])
26
+
27
+ data = data.drop(metrics, axis=1)
28
+ features = data.drop(target, axis=1).columns.to_list()
29
+ target_f = data[target[0]]
30
+
31
+ datasetX = data.drop(target, axis=1)
32
+ X_train, X_test, y_train, y_test = train_test_split(datasetX, target_f,
33
+ test_size=test_size, random_state=42)
34
+
35
+ categorical_features = X_train.columns.difference(features)
36
+
37
+ # We create the preprocessing pipelines for both numeric and categorical data.
38
+ numeric_transformer = Pipeline(steps=[
39
+ ('scaler', StandardScaler())])
40
+
41
+ categorical_transformer = Pipeline(steps=[
42
+ ('onehot', OneHotEncoder(handle_unknown='ignore'))])
43
+
44
+ transformations = ColumnTransformer(
45
+ transformers=[
46
+ ('num', numeric_transformer, features),
47
+ ('cat', categorical_transformer, categorical_features)])
48
+
49
+ regr = Pipeline(steps=[('preprocessor', transformations),
50
+ ('regressor', RandomForestRegressor())])
51
+ model = regr.fit(X_train, y_train)
52
+ pickle.dump(model, open('./models/' + model_name + '.pkl', 'wb'))
53
+ return 'Model Saved'
54
+
55
+ with gr.Blocks() as demo:
56
+ with gr.Tab('Dataset'):
57
+ gr.Markdown('Visualize the dataset to apply CFML')
58
+ df_vis = gr.Dropdown(['IndividualClothingBinary','IndividualClothingBinary+3Binary',
59
+ 'IndividualClothingValue','IndividualClothingValue+3Binary','Multi_TotalCLO_w_Chair',
60
+ 'Summer','TotalClothingValue','TotalClothingValue+3Binary'], label='Dataset')
61
+ output_vis = gr.DataFrame()
62
+ button_vis = gr.Button(label="Run")
63
+ with gr.Tab('Model'):
64
+ gr.Markdown('Choose the features to apply CFML')
65
+ input_df = gr.Dropdown(['IndividualClothingBinary','IndividualClothingBinary+3Binary',
66
+ 'IndividualClothingValue','IndividualClothingValue+3Binary','Multi_TotalCLO_w_Chair',
67
+ 'Summer','TotalClothingValue','TotalClothingValue+3Binary'], label='Dataset')
68
+ target = gr.CheckboxGroup(['TSV','TPV','TCV','TSL'], label='Target Metric', info='Please select only one')
69
+ test_size = gr.Slider(minimum=0.1, maximum=0.5, step=0.05, value=0.2, label='Test Size', interactive=True)
70
+ model_name = gr.Textbox(label='Model Name', placeholder='Enter the model name')
71
+ features_to_drop = gr.CheckboxGroup(['SwC', 'MC', 'Grade', 'Age', 'Gender'],
72
+ label='Features to Drop', info='Select the features to drop')
73
+ model_output = gr.Textbox(label='Status')
74
+ button_model = gr.Button(label="Train Model")
75
+
76
+ button_vis.click(read_csv, df_vis, outputs=output_vis)
77
+ button_model.click(train_model, [input_df, target, test_size, model_name, features_to_drop], outputs=model_output)
78
+
79
+
80
+ demo.launch(share=True)
data/IndividualClothingBinary+3Binary.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/IndividualClothingBinary.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/IndividualClothingValue+3Binary.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/IndividualClothingValue.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/Multi_TotalCLO_w_Chair.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/Summer.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/TotalClothingValue+3Binary.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/TotalClothingValue.csv ADDED
The diff for this file is too large to render. See raw diff
 
docs/Project_Reference_Document_Anmol.pdf ADDED
Binary file (235 kB). View file
 
docs/TestCaseDoc.xlsx ADDED
Binary file (15.2 kB). View file
 
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ numpy
2
+ pandas
3
+ scikit-learn