Hem345 commited on
Commit
0404b49
·
verified ·
1 Parent(s): 8819a0a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -0
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import numpy as np
3
+ from sklearn.neighbors import KNeighborsClassifier
4
+
5
+ def get_user_data():
6
+ data_points = []
7
+ labels = []
8
+
9
+ for i in range(5):
10
+ x = st.number_input(f"Enter x-coordinate for data point {i + 1}:")
11
+ y = st.number_input(f"Enter y-coordinate for data point {i + 1}:")
12
+ label = st.text_input(f"Enter label for data point {i + 1}:")
13
+
14
+ data_points.append([x, y])
15
+ labels.append(label)
16
+
17
+ return np.array(data_points), np.array(labels)
18
+
19
+ def knn_classification(X, y, k_value):
20
+ knn_classifier = KNeighborsClassifier(n_neighbors=k_value)
21
+ knn_classifier.fit(X, y)
22
+ predictions = knn_classifier.predict(X)
23
+ return predictions
24
+
25
+ def main():
26
+ st.title("K-Nearest Neighbor Classification App")
27
+
28
+ # Get user-defined data
29
+ X, y = get_user_data()
30
+
31
+ # Choose the value of k
32
+ k_value = st.slider("Choose the value of k for k-nearest neighbors:", min_value=1, max_value=10, value=3)
33
+
34
+ # Perform k-nearest neighbor classification
35
+ predictions = knn_classification(X, y, k_value)
36
+
37
+ # Display results
38
+ st.subheader("Results:")
39
+ st.write("User-defined Data Points:")
40
+ st.write(X)
41
+ st.write("User-defined Labels:")
42
+ st.write(y)
43
+ st.write(f"\nK-Nearest Neighbor Classification (k={k_value}):")
44
+ st.write("Predicted Labels:")
45
+ st.write(predictions)
46
+
47
+ if __name__ == "__main__":
48
+ main()