diff --git a/function.py b/function.py index 0e417d3..461de10 100644 --- a/function.py +++ b/function.py @@ -1,6 +1,5 @@ import numpy as np from sklearn.ensemble import RandomForestClassifier -from sklearn.model_selection import train_test_split, cross_val_score from sklearn.preprocessing import PolynomialFeatures, StandardScaler id = "202210423104" @@ -27,22 +26,14 @@ def preprocess_data(X): return X_poly def train_logreg(X, y): - X_processed = preprocess_data(X) - model = RandomForestClassifier(n_estimators=200, max_depth=15, random_state=42) # 改变参数 + X_processed = preprocess_data(X) # 预处理训练数据 + model = RandomForestClassifier(n_estimators=113, max_depth=10, random_state=42) model.fit(X_processed, y) - return model + return model # 返回训练好的模型 def predict_logreg(model, X): - if len(X.shape) == 1: - X = X.reshape(1, -1) - X_processed = preprocess_data(X) - return model.predict(X_processed)[0] + X_processed = preprocess_data(X) # 预处理测试数据 + return model.predict(X_processed)[0] # 返回预测结果 if __name__ == "__main__": X, y = load_data("./data/horse-colic.data") - model = train_logreg(X, y) - - # 交叉验证 - X_processed = preprocess_data(X) - cv_scores = cross_val_score(model, X_processed, y, cv=5) - print(f"交叉验证准确率: {np.mean(cv_scores) * 100:.2f}%")