drkareemkamal commited on
Commit
5477fd2
·
verified ·
1 Parent(s): 7773f85

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +129 -0
app.py ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import joblib
4
+
5
+ from sklearn import preprocessing
6
+
7
+
8
+
9
+ st.sidebar.header('User Input Parameters')
10
+
11
+ def user_input_features():
12
+ fligh_number = st.number_input("Insert a FlightNumber")
13
+ payload_mass = st.sidebar.slider('Payload Mass', 350, 30000, 1000)
14
+
15
+ flights = st.sidebar.slider('Flights', 1, 6, 3)
16
+
17
+ block = st.sidebar.slider('Block', 1,5,1 )
18
+ orbit = st.sidebar.selectbox('Orbit',('LEO', 'ISS', 'PO', 'GTO', 'ES-L1', 'SSO', 'HEO', 'MEO', 'VLEO',
19
+ 'SO', 'GEO'))
20
+
21
+ reused_count = st.number_input('Insert a ReusedCount')
22
+
23
+ launch_site = st.sidebar.selectbox('LaunchSite',('CCAFS SLC 40', 'VAFB SLC 4E', 'KSC LC 39A'))
24
+
25
+ LandingPad = st.sidebar.selectbox('LandingPad',('5e9e3032383ecb761634e7cb', '5e9e3032383ecb6bb234e7ca',
26
+ '5e9e3032383ecb267a34e7c7', '5e9e3033383ecbb9e534e7cc',
27
+ '5e9e3032383ecb554034e7c9'))
28
+
29
+ serial = st.sidebar.selectbox('Serial',('B0003', 'B0005', 'B0007', 'B1003', 'B1004', 'B1005', 'B1006',
30
+ 'B1007', 'B1008', 'B1011', 'B1010', 'B1012', 'B1013', 'B1015',
31
+ 'B1016', 'B1018', 'B1019', 'B1017', 'B1020', 'B1021', 'B1022',
32
+ 'B1023', 'B1025', 'B1026', 'B1028', 'B1029', 'B1031', 'B1030',
33
+ 'B1032', 'B1034', 'B1035', 'B1036', 'B1037', 'B1039', 'B1038',
34
+ 'B1040', 'B1041', 'B1042', 'B1043', 'B1044', 'B1045', 'B1046',
35
+ 'B1047', 'B1048', 'B1049', 'B1050', 'B1054', 'B1051', 'B1056',
36
+ 'B1059', 'B1058', 'B1060', 'B1062'))
37
+
38
+ gridfins = st.sidebar.selectbox('GridFins', (False, True))
39
+
40
+ reused = st.sidebar.selectbox('Reused', (False, True))
41
+
42
+ legs = st.sidebar.selectbox('Legs', (False, True))
43
+
44
+
45
+ data = {'FlightNumber' : fligh_number ,
46
+ 'PayloadMass': payload_mass,
47
+ 'flights' : flights,
48
+ 'block' : block ,
49
+ 'ReusedCount' : reused_count ,
50
+ 'Orbit': orbit,
51
+ 'LaunchSite' : launch_site ,
52
+ 'LandingPad' : LandingPad ,
53
+ 'Serial' : serial ,
54
+ 'GridFins' : gridfins ,
55
+ 'Reused' : reused ,
56
+ 'Legs' : legs
57
+ }
58
+
59
+ features = pd.DataFrame(data, index=[0])
60
+ return features
61
+
62
+ df = user_input_features()
63
+
64
+ data = pd.read_csv('dataset_part_2.csv')
65
+
66
+
67
+ orbit = pd.get_dummies(data['Orbit'], prefix="Orbit")
68
+ launch_site = pd.get_dummies(data['LaunchSite'], prefix="LaunchSite")
69
+ landing_pad = pd.get_dummies(data['LandingPad'], prefix="LandingPad")
70
+ serial = pd.get_dummies(data['Serial'],prefix='Serial')
71
+ gridfin = pd.get_dummies(data['GridFins'],prefix= 'GridFins')
72
+ reused = pd.get_dummies(data['Reused'], prefix= 'Reused')
73
+ legs = pd.get_dummies(data['Legs'],prefix= 'Legs')
74
+
75
+ df.drop(['Orbit', 'LaunchSite', 'LandingPad','Serial','GridFins','Reused','Legs'], axis=1, inplace=True)
76
+
77
+ #Concatenate the one-hot-encoded columns with the original DataFrame
78
+ df = pd.concat([df,orbit, launch_site, landing_pad,serial,gridfin,reused,legs], axis=1)
79
+
80
+ x_input = pd.DataFrame(df.iloc[0])
81
+ x_input = x_input.transpose()
82
+
83
+
84
+ transform = preprocessing.StandardScaler()
85
+ X = transform.fit_transform(x_input)
86
+ X
87
+ print(X)
88
+ st.write(X)
89
+
90
+
91
+ # # Load the CSV file (replace with your file path or URL)
92
+ # url = 'https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DS0321EN-SkillsNetwork/datasets/dataset_part_3.csv'
93
+ # df = pd.read_csv(url)
94
+
95
+ # Load the pickle model (replace with your model path)
96
+ model_path = 'decision_tree.joblib'
97
+ # with open(model_path, 'rb') as file:
98
+ # model = pickle.load(file)
99
+ model = joblib.load(model_path)
100
+
101
+ st.write('Model is loaded successfully')
102
+
103
+ pred = model.predict(x_input_sc)
104
+
105
+ st.title("SpaceX Stage 1 Failed Predictor")
106
+
107
+
108
+ # # Display the DataFrame
109
+ # st.write("Data Preview")
110
+ # st.dataframe(df.head())
111
+
112
+ # # Select parameters from the header
113
+ # st.write("Select Parameters for Prediction")
114
+ # parameters = st.multiselect("Select columns to use for prediction", options=df.columns)
115
+
116
+ # # Input values for the selected parameters
117
+ # input_data = {}
118
+ # for param in parameters:
119
+ # input_data[param] = st.number_input(f"Input value for {param}", value=0.0)
120
+
121
+ # # Convert input data to DataFrame
122
+ # input_df = pd.DataFrame([input_data])
123
+
124
+ # # Prediction
125
+ if st.button("Submit"):
126
+ classes = ['Failed','Success']
127
+ prediction = model.predict(x_input_sc)
128
+ st.write(f"Prediction: {prediction[0]}")
129
+