以测试集AUC为评价标准,利用深度学习预测二分类任务的代码
时间: 2024-02-06 08:02:09 浏览: 128
以下是一个用Keras框架实现二分类任务的示例代码,其中使用AUC作为评价标准:
```python
import numpy as np
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score
# 读取数据
data = pd.read_csv('data.csv')
X = data.drop('target', axis=1).values
y = data['target'].values
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 构建模型
model = Sequential()
model.add(Dense(64, input_dim=X_train.shape[1], activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam')
# 训练模型
model.fit(X_train, y_train, epochs=50, batch_size=32, verbose=0)
# 预测测试集
y_pred = model.predict(X_test)
# 计算AUC
auc = roc_auc_score(y_test, y_pred)
print('AUC:', auc)
```
其中,data.csv是数据文件,包含所有特征和目标变量。我们使用train_test_split函数将数据集划分为训练集和测试集。然后,我们构建一个基于Dense层的神经网络模型,并使用二元交叉熵作为损失函数,使用Adam优化器进行训练。最后,我们使用roc_auc_score函数计算AUC作为模型的评价指标。
阅读全文