Saaquib commited on
Commit
38811e5
·
1 Parent(s): 6f4c31c

Upload 4 files

Browse files
Files changed (4) hide show
  1. Iris.csv +151 -0
  2. app.py +53 -0
  3. main.ipynb +0 -0
  4. requirements.txt +4 -0
Iris.csv ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Id,SepalLengthCm,SepalWidthCm,PetalLengthCm,PetalWidthCm,Species
2
+ 1,5.1,3.5,1.4,0.2,Iris-setosa
3
+ 2,4.9,3.0,1.4,0.2,Iris-setosa
4
+ 3,4.7,3.2,1.3,0.2,Iris-setosa
5
+ 4,4.6,3.1,1.5,0.2,Iris-setosa
6
+ 5,5.0,3.6,1.4,0.2,Iris-setosa
7
+ 6,5.4,3.9,1.7,0.4,Iris-setosa
8
+ 7,4.6,3.4,1.4,0.3,Iris-setosa
9
+ 8,5.0,3.4,1.5,0.2,Iris-setosa
10
+ 9,4.4,2.9,1.4,0.2,Iris-setosa
11
+ 10,4.9,3.1,1.5,0.1,Iris-setosa
12
+ 11,5.4,3.7,1.5,0.2,Iris-setosa
13
+ 12,4.8,3.4,1.6,0.2,Iris-setosa
14
+ 13,4.8,3.0,1.4,0.1,Iris-setosa
15
+ 14,4.3,3.0,1.1,0.1,Iris-setosa
16
+ 15,5.8,4.0,1.2,0.2,Iris-setosa
17
+ 16,5.7,4.4,1.5,0.4,Iris-setosa
18
+ 17,5.4,3.9,1.3,0.4,Iris-setosa
19
+ 18,5.1,3.5,1.4,0.3,Iris-setosa
20
+ 19,5.7,3.8,1.7,0.3,Iris-setosa
21
+ 20,5.1,3.8,1.5,0.3,Iris-setosa
22
+ 21,5.4,3.4,1.7,0.2,Iris-setosa
23
+ 22,5.1,3.7,1.5,0.4,Iris-setosa
24
+ 23,4.6,3.6,1.0,0.2,Iris-setosa
25
+ 24,5.1,3.3,1.7,0.5,Iris-setosa
26
+ 25,4.8,3.4,1.9,0.2,Iris-setosa
27
+ 26,5.0,3.0,1.6,0.2,Iris-setosa
28
+ 27,5.0,3.4,1.6,0.4,Iris-setosa
29
+ 28,5.2,3.5,1.5,0.2,Iris-setosa
30
+ 29,5.2,3.4,1.4,0.2,Iris-setosa
31
+ 30,4.7,3.2,1.6,0.2,Iris-setosa
32
+ 31,4.8,3.1,1.6,0.2,Iris-setosa
33
+ 32,5.4,3.4,1.5,0.4,Iris-setosa
34
+ 33,5.2,4.1,1.5,0.1,Iris-setosa
35
+ 34,5.5,4.2,1.4,0.2,Iris-setosa
36
+ 35,4.9,3.1,1.5,0.1,Iris-setosa
37
+ 36,5.0,3.2,1.2,0.2,Iris-setosa
38
+ 37,5.5,3.5,1.3,0.2,Iris-setosa
39
+ 38,4.9,3.1,1.5,0.1,Iris-setosa
40
+ 39,4.4,3.0,1.3,0.2,Iris-setosa
41
+ 40,5.1,3.4,1.5,0.2,Iris-setosa
42
+ 41,5.0,3.5,1.3,0.3,Iris-setosa
43
+ 42,4.5,2.3,1.3,0.3,Iris-setosa
44
+ 43,4.4,3.2,1.3,0.2,Iris-setosa
45
+ 44,5.0,3.5,1.6,0.6,Iris-setosa
46
+ 45,5.1,3.8,1.9,0.4,Iris-setosa
47
+ 46,4.8,3.0,1.4,0.3,Iris-setosa
48
+ 47,5.1,3.8,1.6,0.2,Iris-setosa
49
+ 48,4.6,3.2,1.4,0.2,Iris-setosa
50
+ 49,5.3,3.7,1.5,0.2,Iris-setosa
51
+ 50,5.0,3.3,1.4,0.2,Iris-setosa
52
+ 51,7.0,3.2,4.7,1.4,Iris-versicolor
53
+ 52,6.4,3.2,4.5,1.5,Iris-versicolor
54
+ 53,6.9,3.1,4.9,1.5,Iris-versicolor
55
+ 54,5.5,2.3,4.0,1.3,Iris-versicolor
56
+ 55,6.5,2.8,4.6,1.5,Iris-versicolor
57
+ 56,5.7,2.8,4.5,1.3,Iris-versicolor
58
+ 57,6.3,3.3,4.7,1.6,Iris-versicolor
59
+ 58,4.9,2.4,3.3,1.0,Iris-versicolor
60
+ 59,6.6,2.9,4.6,1.3,Iris-versicolor
61
+ 60,5.2,2.7,3.9,1.4,Iris-versicolor
62
+ 61,5.0,2.0,3.5,1.0,Iris-versicolor
63
+ 62,5.9,3.0,4.2,1.5,Iris-versicolor
64
+ 63,6.0,2.2,4.0,1.0,Iris-versicolor
65
+ 64,6.1,2.9,4.7,1.4,Iris-versicolor
66
+ 65,5.6,2.9,3.6,1.3,Iris-versicolor
67
+ 66,6.7,3.1,4.4,1.4,Iris-versicolor
68
+ 67,5.6,3.0,4.5,1.5,Iris-versicolor
69
+ 68,5.8,2.7,4.1,1.0,Iris-versicolor
70
+ 69,6.2,2.2,4.5,1.5,Iris-versicolor
71
+ 70,5.6,2.5,3.9,1.1,Iris-versicolor
72
+ 71,5.9,3.2,4.8,1.8,Iris-versicolor
73
+ 72,6.1,2.8,4.0,1.3,Iris-versicolor
74
+ 73,6.3,2.5,4.9,1.5,Iris-versicolor
75
+ 74,6.1,2.8,4.7,1.2,Iris-versicolor
76
+ 75,6.4,2.9,4.3,1.3,Iris-versicolor
77
+ 76,6.6,3.0,4.4,1.4,Iris-versicolor
78
+ 77,6.8,2.8,4.8,1.4,Iris-versicolor
79
+ 78,6.7,3.0,5.0,1.7,Iris-versicolor
80
+ 79,6.0,2.9,4.5,1.5,Iris-versicolor
81
+ 80,5.7,2.6,3.5,1.0,Iris-versicolor
82
+ 81,5.5,2.4,3.8,1.1,Iris-versicolor
83
+ 82,5.5,2.4,3.7,1.0,Iris-versicolor
84
+ 83,5.8,2.7,3.9,1.2,Iris-versicolor
85
+ 84,6.0,2.7,5.1,1.6,Iris-versicolor
86
+ 85,5.4,3.0,4.5,1.5,Iris-versicolor
87
+ 86,6.0,3.4,4.5,1.6,Iris-versicolor
88
+ 87,6.7,3.1,4.7,1.5,Iris-versicolor
89
+ 88,6.3,2.3,4.4,1.3,Iris-versicolor
90
+ 89,5.6,3.0,4.1,1.3,Iris-versicolor
91
+ 90,5.5,2.5,4.0,1.3,Iris-versicolor
92
+ 91,5.5,2.6,4.4,1.2,Iris-versicolor
93
+ 92,6.1,3.0,4.6,1.4,Iris-versicolor
94
+ 93,5.8,2.6,4.0,1.2,Iris-versicolor
95
+ 94,5.0,2.3,3.3,1.0,Iris-versicolor
96
+ 95,5.6,2.7,4.2,1.3,Iris-versicolor
97
+ 96,5.7,3.0,4.2,1.2,Iris-versicolor
98
+ 97,5.7,2.9,4.2,1.3,Iris-versicolor
99
+ 98,6.2,2.9,4.3,1.3,Iris-versicolor
100
+ 99,5.1,2.5,3.0,1.1,Iris-versicolor
101
+ 100,5.7,2.8,4.1,1.3,Iris-versicolor
102
+ 101,6.3,3.3,6.0,2.5,Iris-virginica
103
+ 102,5.8,2.7,5.1,1.9,Iris-virginica
104
+ 103,7.1,3.0,5.9,2.1,Iris-virginica
105
+ 104,6.3,2.9,5.6,1.8,Iris-virginica
106
+ 105,6.5,3.0,5.8,2.2,Iris-virginica
107
+ 106,7.6,3.0,6.6,2.1,Iris-virginica
108
+ 107,4.9,2.5,4.5,1.7,Iris-virginica
109
+ 108,7.3,2.9,6.3,1.8,Iris-virginica
110
+ 109,6.7,2.5,5.8,1.8,Iris-virginica
111
+ 110,7.2,3.6,6.1,2.5,Iris-virginica
112
+ 111,6.5,3.2,5.1,2.0,Iris-virginica
113
+ 112,6.4,2.7,5.3,1.9,Iris-virginica
114
+ 113,6.8,3.0,5.5,2.1,Iris-virginica
115
+ 114,5.7,2.5,5.0,2.0,Iris-virginica
116
+ 115,5.8,2.8,5.1,2.4,Iris-virginica
117
+ 116,6.4,3.2,5.3,2.3,Iris-virginica
118
+ 117,6.5,3.0,5.5,1.8,Iris-virginica
119
+ 118,7.7,3.8,6.7,2.2,Iris-virginica
120
+ 119,7.7,2.6,6.9,2.3,Iris-virginica
121
+ 120,6.0,2.2,5.0,1.5,Iris-virginica
122
+ 121,6.9,3.2,5.7,2.3,Iris-virginica
123
+ 122,5.6,2.8,4.9,2.0,Iris-virginica
124
+ 123,7.7,2.8,6.7,2.0,Iris-virginica
125
+ 124,6.3,2.7,4.9,1.8,Iris-virginica
126
+ 125,6.7,3.3,5.7,2.1,Iris-virginica
127
+ 126,7.2,3.2,6.0,1.8,Iris-virginica
128
+ 127,6.2,2.8,4.8,1.8,Iris-virginica
129
+ 128,6.1,3.0,4.9,1.8,Iris-virginica
130
+ 129,6.4,2.8,5.6,2.1,Iris-virginica
131
+ 130,7.2,3.0,5.8,1.6,Iris-virginica
132
+ 131,7.4,2.8,6.1,1.9,Iris-virginica
133
+ 132,7.9,3.8,6.4,2.0,Iris-virginica
134
+ 133,6.4,2.8,5.6,2.2,Iris-virginica
135
+ 134,6.3,2.8,5.1,1.5,Iris-virginica
136
+ 135,6.1,2.6,5.6,1.4,Iris-virginica
137
+ 136,7.7,3.0,6.1,2.3,Iris-virginica
138
+ 137,6.3,3.4,5.6,2.4,Iris-virginica
139
+ 138,6.4,3.1,5.5,1.8,Iris-virginica
140
+ 139,6.0,3.0,4.8,1.8,Iris-virginica
141
+ 140,6.9,3.1,5.4,2.1,Iris-virginica
142
+ 141,6.7,3.1,5.6,2.4,Iris-virginica
143
+ 142,6.9,3.1,5.1,2.3,Iris-virginica
144
+ 143,5.8,2.7,5.1,1.9,Iris-virginica
145
+ 144,6.8,3.2,5.9,2.3,Iris-virginica
146
+ 145,6.7,3.3,5.7,2.5,Iris-virginica
147
+ 146,6.7,3.0,5.2,2.3,Iris-virginica
148
+ 147,6.3,2.5,5.0,1.9,Iris-virginica
149
+ 148,6.5,3.0,5.2,2.0,Iris-virginica
150
+ 149,6.2,3.4,5.4,2.3,Iris-virginica
151
+ 150,5.9,3.0,5.1,1.8,Iris-virginica
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from sklearn.tree import DecisionTreeClassifier
3
+ import pandas as pd
4
+ import numpy as np
5
+ from sklearn.model_selection import train_test_split
6
+
7
+ # Create a decision tree classifier
8
+ clf = DecisionTreeClassifier()
9
+
10
+ # Load the data from an external CSV file
11
+ @st.cache
12
+ def load_data():
13
+ # Replace "data.csv" with the path to your external CSV file
14
+ data = pd.read_csv("iris.csv")
15
+ return data
16
+
17
+ data = load_data()
18
+
19
+ # Separate features and target variable
20
+ X = data.drop(["Id", "Species"], axis=1)
21
+ y = data["Species"]
22
+ class_names = np.unique(y)
23
+
24
+ # Perform train-test split
25
+ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
26
+
27
+ # Train the classifier
28
+ clf.fit(X_train, y_train)
29
+
30
+ # Define the Streamlit app
31
+ def main():
32
+ # Set the title and the sidebar
33
+ st.title("Iris Species Classifier")
34
+ st.sidebar.title("Options")
35
+
36
+ # Add inputs for Sepal and Petal measurements
37
+ sepal_length = st.sidebar.slider("Sepal Length (cm)", float(X["SepalLengthCm"].min()), float(X["SepalLengthCm"].max()))
38
+ sepal_width = st.sidebar.slider("Sepal Width (cm)", float(X["SepalWidthCm"].min()), float(X["SepalWidthCm"].max()))
39
+ petal_length = st.sidebar.slider("Petal Length (cm)", float(X["PetalLengthCm"].min()), float(X["PetalLengthCm"].max()))
40
+ petal_width = st.sidebar.slider("Petal Width (cm)", float(X["PetalWidthCm"].min()), float(X["PetalWidthCm"].max()))
41
+
42
+ # Create a numpy array for the input features
43
+ input_data = np.array([[sepal_length, sepal_width, petal_length, petal_width]])
44
+
45
+ # Make predictions using the classifier
46
+ prediction = clf.predict(input_data)
47
+
48
+ # Display the predicted class
49
+ st.write(f"Predicted Class: {prediction[0]}")
50
+
51
+ # Run the Streamlit app
52
+ if __name__ == "__main__":
53
+ main()
main.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ numpy
2
+ pandas
3
+ scikit_learn
4
+ streamlit