

这个怎么改都不对 有没有人能帮忙一下 为啥这个一直在报错 改了一上午了还试哈不对 要哭了 有没有人弄一下
关注引自免费微信小程序:皆我百晓生
在您提供的代码片段中,我发现了几个错误。让我们一步步修复它们。
首先,图1中的代码行似乎缺少了换行符,这可能会导致语法错误。确保在每个换行符后添加一个新的换行符。同时,print()函数中的字符串格式化存在一些小问题。这里是修复后的代码段:
print(f"Train Accuracy: {train_accuracy:.4f}, Test Accuracy: {test_accuracy:.4f}")
print(f"Precision: {precision:.4f}, Recall: {recall:.4f}, F1 Score: {f1:.4f}, AUC: {auc:.4f}")
接下来,我们看看图2中的代码。这里的主要问题是,在调用train_test_split()函数时,你尝试使用未标准化的X数据,而不是已经标准化的X_scaled。你需要先对数据进行标准化,然后进行拆分。以下是修复后的代码:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
# 加载数据
data = pd.read_csv("/data/bigfiles/20240328_CC_FIGO.csv", encoding="gbk")
# 提取特征和目标变量
X = data.iloc[:, :-1]
y = data.iloc[:, -1]
# 数据标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3, random_state=42)
# 创建并初始化模型字典
models = {
"Logistic Regression": LogisticRegression(),
"KNN": KNeighborsClassifier(),
"Random Forest": RandomForestClassifier(),
"Gradient Boosting": GradientBoostingClassifier(),
"SVM": SVC()
}
# 训练模型
for model_name, model in models.items():
model.fit(X_train, y_train)
现在,代码应该可以正常运行而不会出现错误。请按照这些更改执行代码,并观察结果。如果你仍然遇到任何问题,请告诉我具体的错误信息,我会很乐意继续帮助你。