# Name:fang xiaoyu # Time: 2023/3/11 22:05 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score from sklearn.metrics import classification_report data = pd.read_csv('sufshark_openvpn_tcp+youdao_header.csv') data["class1"] = data["class1"].replace({"VPN": 1, "Non-VPN": 0}) #print(data) X_train, X_test, y_train, y_test = train_test_split( data.iloc[:, :-1], data.iloc[:, -1], test_size=0.2, random_state=42) knn = KNeighborsClassifier(n_neighbors=3) knn.fit(X_train, y_train) y_pred = knn.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print(f"Accuracy: {accuracy}") print(classification_report(y_test, y_pred)) #Accuracy: 0.8200959488272921 # precision recall f1-score support # # 0 0.79 0.83 0.81 1767 # 1 0.84 0.81 0.83 1985 # # accuracy 0.82 3752 # macro avg 0.82 0.82 0.82 3752 # weighted avg 0.82 0.82 0.82 3752