Epilepsy is a disease characterized by having multiple unprovoked seizures; it can cause serious health complications for the individuals affected. The ability to predict seizures from EEG recordings can improve the standard of care for epilepsy patients by allowing care to be provided in a timely manner. In addition, detecting seizure occurrence in electroencephalogram (EEG) recordings can greatly speed up the time- and labor-intensive process of EEG annotation, which will also improve the level of care for patients. This study sought to both detect seizures and predict them by detecting the preictal stage before onset using machine learning (ML) models. To avoid the need for a manually-annotated preictal phase, a time period known as the “prediction target” was manually chosen and the signal was considered “preictal” if it fell within this period before seizure onset; prediction targets of 30 and 60 seconds were tested. A total of 186 features were extracted from the signal in the time-domain, the frequency-domain, and the time-frequency domain in order to characterize the most information about the signals’ shape and frequency content. The extracted features were used with four different ML models: Support Vector Machine (SVM), random forest, logistic regression, and Multilayer Perceptron (MLP). Of the 4 models, random forest performed the best, with an average accuracy of 65% on classification between ictal, preictal and background, and 85% on detection alone. The model showed strong performance on detecting seizures and an ability to detect the preictal phase. With further improvements, it could become highly effective for both seizure detection and prediction.