基于wifi室内定位技术数据连接mysql数据库,pyqt5实现窗口 代码运行后窗口出现但是输入数据预测位置时候报出进程已结束,退出代码为 -1073740791 (0xC0000409)

代码如下
import pymysql
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from PyQt5 import QtWidgets, uic
import sys

连接MySQL数据库

def connect_to_db():
connection = pymysql.connect(host=’localhost’,
user=’GZH’,
password=’gaozihao0219’,
db=’wifi_database’)
return connection

从数据库中获取数据

def get_wifi_data_from_db(connection):
query = “SELECT * FROM wifi_data”
wifi_data = pd.read_sql(query, connection)
return wifi_data

KNN算法进行室内定位

def knn_indoor_localization(wifi_data):
X = wifi_data.drop(‘location’, axis=1)
y = wifi_data[‘location’]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

return knn, X_test, y_test

创建PyQt5 GUI界面

class IndoorLocalizationGUI(QtWidgets.QMainWindow):
def init(self, knn_model, X_test, y_test):
super(IndoorLocalizationGUI, self).init()
uic.loadUi(‘C:\Users\12195\PycharmProjects\pythonProject3\.venv\Scripts\indoor_location.ui’, self)

    self.knn_model = knn_model
    self.X_test = X_test
    self.y_test = y_test

    self.predict_button.clicked.connect(self.predict_location)

def predict_location(self):
    input_data = np.array([self.signal1.value(), self.signal2.value(), self.signal3.value(), self.signal4.value()])
    input_data = input_data.reshape(1, -1)
    input_data = StandardScaler().fit_transform(input_data)

    prediction = self.knn_model.predict(input_data)
    self.result_label.setText(f"Predicted location: {prediction[0]}")

运行程序

if name == ‘main‘:
connection = connect_to_db()
wifi_data = get_wifi_data_from_db(connection)
knn_model, X_test, y_test = knn_indoor_localization(wifi_data)

app = QtWidgets.QApplication(sys.argv)
window = IndoorLocalizationGUI(knn_model, X_test, y_test)
window.show()
sys.exit(app.exec_())
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!