From 9fa3fd44212a9adead46519b72beab471c1d1712 Mon Sep 17 00:00:00 2001 From: 202210423104 <1961532386@qq.com> Date: Sun, 3 Nov 2024 16:23:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20function.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- function.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/function.py b/function.py index 185680b..13f23fe 100644 --- a/function.py +++ b/function.py @@ -1,7 +1,7 @@ import numpy as np +from sklearn.model_selection import train_test_split, cross_val_score from sklearn.ensemble import RandomForestClassifier from sklearn.preprocessing import PolynomialFeatures, StandardScaler -from sklearn.model_selection import train_test_split, cross_val_score id = "202210423104" name = "张钦诚" @@ -31,17 +31,16 @@ def preprocess_data(X): return X_poly def train_logreg(X, y): - X_processed = preprocess_data(X) # 预处理训练数据 model = RandomForestClassifier(n_estimators=113, max_depth=10, random_state=42) + X_processed = preprocess_data(X) # 预处理训练数据 model.fit(X_processed, y) return model # 返回训练好的模型 def predict_logreg(model, X): X_processed = preprocess_data(X.reshape(1, -1)) # 预处理单个测试样本 - return model.predict(X_processed)[0] # 预测并返回结果 + return model.predict(X_processed)[0] # 返回预测结果 if __name__ == "__main__": - # 加载数据 X, y = load_data("./data/horse-colic.data") # 划分数据集 @@ -53,12 +52,13 @@ if __name__ == "__main__": # 预测 y_pred = [] for sample in X_test: - y_pred.append(predict_logreg(model, sample)) + y_pred.append(predict_logreg(model, sample)) # 逐个样本预测 # 计算准确率 accuracy = np.mean(y_pred == y_test) print(f"测试出的正确率: {accuracy * 100:.2f}%") # 交叉验证 - cv_scores = cross_val_score(model, preprocess_data(X_train), y_train, cv=5) + X_train_processed = preprocess_data(X_train) # 预处理训练数据 + cv_scores = cross_val_score(model, X_train_processed, y_train, cv=5) print(f"交叉验证准确率: {np.mean(cv_scores) * 100:.2f}%")