Я пытаюсь сделать прогноз мошенничества с кредитными картами с помощью keras.
Для этого у меня есть файл creditcard.csv, содержащий более 280 000 различных дел, которые помечены как мошеннические или действительные.
Моя проблема в том, что мой код на самом деле компилируется, но в первой эпохе моя точность уже составляет 0,9999, а во второй - по 0,9982.
Мне кажется, это не очень реалистично, но я не знаю своей ошибки.
Вот сокращенная версия моего кода:
import pandas as pd
import numpy as np
from keras import models
from keras import layers
combinedData = pd.read_csv('creditcard.csv')
trainData = combinedData[:227845]
testData = combinedData[227845:]
trainDataFactors = trainData.copy()
del trainDataFactors['Class']
trainDataLabels = pd.DataFrame(trainData, columns=['Class'])
testDataFactors = testData.copy()
del testDataFactors['Class']
testDataLabels = pd.DataFrame(testData, columns=['Class'])
model = models.Sequential()
model.add(layers.Dense(30, activation="relu", input_shape = (30, )))
model.add(layers.Dense(60, activation ="relu"))
model.add(layers.Dense(30, activation="sigmoid"))
model.compile(
optimizer = "rmsprop",
loss = "sparse_categorical_crossentropy",
metrics = ["accuracy"]
)
history = model.fit(
trainDataFactors, trainDataLabels,
epochs = 20,
batch_size = 512,
validation_data=(testDataFactors, testDataLabels)
)
Я ценю любую помощь!