Skip to content
@fetiai

F.E.T.I. AI Team

F.E.T.I. AI Team building a Magic Cube solver & a phishing URL classifier - 🎓 Foundations of Artificial Intelligence (IF3070-24) Project Group at STEI ITB

F.E.T.I.

Faiz · Eleanor · Thalita · Irfan

Group 16 — two projects in search, optimization, and classification.

IF3070STEI ITB2024/2025-1Group 16


Projects

Magic Cube Solver

The Magic Cube Solver replaying a search

Six search algorithms racing a 5×5×5 diagonal magic cube — replayed move by move.

A 5×5×5 diagonal magic cube has 125 cells that must be a permutation of 1..125, with all 109 rows, columns, pillars and diagonals summing to 315. Six local-search and metaheuristic algorithms attack it server-side in Go, and the browser replays the resulting swap log on a scrubber against a live objective-value plot.

The Genetic Algorithm is the exception. Being a population method it has no single sequence of swaps, so it returns no trajectory — the interface charts it rather than animating it.

Algorithms

Steepest Ascent Hill Climbing · Hill Climbing with Sideways Move · Random Restart Hill Climbing · Stochastic Hill Climbing · Simulated Annealing · Genetic Algorithm

Built with

Go Fiber SvelteKit Three.js Chart.js Tailwind Vite Docker

LinksLive demo · Front end · Solver API · Report (PDF, Indonesian)


Phishing URL Classifier

The classifier scoring a URL against four models

Two algorithms, each written twice — and the baseline that keeps them honest.

The UCI PhiUSIIL corpus runs 140,404 URLs deep and only 7.5% of it is hostile — which is exactly why accuracy flatters here and recall does the real work. KNN and Gaussian Naive Bayes are each built twice across its 49 features, once from scratch and once from scikit-learn, so every number has a reference to answer to. Around them the pipeline runs EDA, missing-value handling, outlier treatment, feature engineering, scaling and SMOTE.

Dataset: UCI PhiUSIIL Phishing URL Dataset (repository ID 967). Class 0 is phishing and is the positive class throughout.

Algorithms

K-Nearest Neighbors (from scratch) · K-Nearest Neighbors (scikit-learn) · Gaussian Naive Bayes (from scratch) · Gaussian Naive Bayes (scikit-learn) · EDA · Feature Engineering · SMOTE

Results — measured on a 28,081-row validation split.

ModelPhishing recallAccuracyF1
KNN (from scratch)0.7590.98050.856
KNN (scikit-learn)0.7630.98070.859
Gaussian NB (from scratch)0.7880.97790.845
Gaussian NB (scikit-learn)0.8880.98190.883
Baseline — constant "legitimate"0.0000.9248

Read every accuracy against that 0.9248 baseline. The corpus is 92.48% legitimate, so answering "legitimate" to everything scores 0.9248 while catching no phishing at all — which is why phishing recall, not accuracy, is the number that actually moves. The held-out file shipped with the dataset has no labels, so there is no test score and none is claimed.

This is a coursework reimplementation, not a security product. It is trained on a static 2023–24 dataset, has no threat intelligence, no blocklist, and no knowledge of any campaign newer than its training data. Do not use it to decide whether a link is safe.

Built with

Python scikit-learn NumPy pandas SciPy Streamlit Jupyter Docker

LinksLive demo · Repository · Report (PDF, Indonesian)


Team

Thalita Zahra Sutejo

Thalita Zahra Sutejo
18222023

thalitazhrr
thalitazahras
Irfan Musthofa

Irfan Musthofa
18222056

IrfanMusthofa
irfanmusthofa
Eleanor Cordelia

Eleanor Cordelia
18222059

EleanorCordelia
eleanorcordelia
Muhammad Faiz Atharrahman

Muhammad Faiz Atharrahman
18222063

faizath
faizath

IF3070 Foundations of Artificial Intelligence · STEI ITB · 2024/2025-1

More at fetiai.github.io

Popular repositories Loading

  1. magic-cube magic-cubePublic

    SvelteKit + Three.js interface that renders the 5x5x5 diagonal magic cube in 3D and replays a search move by move.

    JavaScript 1

  2. magic-cube-core magic-cube-corePublic

    Go + Fiber HTTP API that solves the 5x5x5 diagonal magic cube with local search and metaheuristic algorithms.

    Go

  3. fetiai.github.io fetiai.github.ioPublic

    Showcase site for Group 16's IF3070 Foundations of Artificial Intelligence projects at STEI ITB.

    Astro

  4. .github .githubPublic

    Organization profile for fetiai — Group 16, IF3070 Foundations of Artificial Intelligence, STEI ITB.

  5. phishing-url-classifier phishing-url-classifierPublic

    KNN and Gaussian Naive Bayes built twice, from scratch and with scikit-learn, over the 140,404-URL PhiUSIIL corpus. Coursework reimplementation, not a security product.

    Python

  6. fetiai-v1-phiusiil-binclf-gnb-scratch-198p fetiai-v1-phiusiil-binclf-gnb-scratch-198pPublic

    Gaussian Naive Bayes implemented from scratch, for PhiUSIIL phishing URL classification. 198 parameters in plain JSON, no pickle, served over HTTP.

    Python

Repositories

Showing 10 of 10 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…