将df = df.iloc[:,:7].copy() for col_name in df.columns: # 取列名for col_name in X_copy.columns: col_data = df[[col_name]] # 根据列名拿列数据,两个方括号是因为要二维数组 stand_data = StandardScaler().fit_transform(col_data.values) # 标准化 df[col_name] = stand_data # 将数据替换成标准化后的数据 return X_copy加入到 def run_classifier(): # 将数据集分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test, random_state=random) # 训练分类器 knn.fit(X_train, y_train) # 在训练集上计算分类器的准确率 score = knn.score(X_train, y_train) # 更新结果标签的文本 result_label5.config(text="训练集分类器的准确率为:{:.2f}".format(score))
时间: 2024-03-11 15:45:40 浏览: 53
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
这段代码的作用是对数据集进行标准化处理,并训练一个KNN分类器,并计算在训练集上的准确率。首先,代码使用iloc方法取出数据集的前7列,然后使用for循环遍历数据集的所有列。对于每一列,使用StandardScaler方法将数据进行标准化处理,并将标准化后的数据替换原来的数据。接着,使用train_test_split方法将数据集分为训练集和测试集,并使用KNN分类器进行训练。最后,计算在训练集上分类器的准确率,并将结果显示在result_label5标签上。
阅读全文