- Zbiór: Wine Quality (
data/WineQT.csv) — klasyfikacja wieloklasowa etykietyquality(np. oceny 3–8). - Modele:
DecisionTree,kNN,RandomForest— po 3 warianty hiperparametrów (łącznie 9 klasyfikatorów). - Zespół:
VotingClassifierz majority voting (voting="hard") nad tymi samymi 9 pipeline’ami (MinMaxScaler + klasyfikator). - Bez przecieku:
MinMaxScalerwPipeline/ColumnTransformer, dopasowanie wyłącznie na treningu każdej foldy. - Walidacja: stratyfikowana 5-fold CV (
StratifiedKFold, stałyrandom_state). - Metryki:
accuracy,balanced_accuracy. - Stack: scikit-learn, Pandas (
groupby,to_latex), Plotly (wykresy), Streamlit (opis przebiegu badania, definicje pojęć, zgodność z wymaganiami, podgląd.tex).
- Python 3.10+ (zalecane)
- Instalacja:
pip install -r requirements.txt
Uruchamia walidację, zapisuje m.in. CSV, .tex, wersje_bibliotek.txt oraz wykresy HTML w results/wykresy/.
python run_experiment.pySkrypty start.sh (Linux/macOS) oraz start.bat (Windows) wykonują po kolei:
- venv +
pip install -r requirements.txt python run_experiment.pystreamlit run streamlit_app.py→ zwyklehttp://localhost:8501
chmod +x start.sh
./start.shstart.bat| Zakładka | Treść |
|---|---|
| Opis projektu | Cel badania, przebieg eksperymentu (co → po co → efekt), słownik pojęć, zgodność z wymaganiami, podgląd plików LaTeX |
| Wymogi i metodologia | Tabela: wymaganie → realizacja w kodzie / plikach |
| Zbiór danych (EDA) | Rozkład klasy quality, macierz korelacji, podgląd danych |
| Wyniki klasyfikacji | Wykresy metryk z CV, tabele, podgląd i pobieranie wyników |
- Seed:
RANDOM_STATEwsrc/config.py; ten sam obiektcvwcross_validate(Common pitfalls — scikit-learn). - Plik
results/wersje_bibliotek.txtzapisuje wersje bibliotek użytych przy generowaniu wyników.
| Ścieżka | Opis |
|---|---|
data/WineQT.csv |
Dane źródłowe |
src/config.py |
Ścieżki, seed |
src/experiment.py |
Pipeline, CV, zespół, eksport CSV/LaTeX, wywołanie wykresów |
src/wykresy.py |
Wykresy Plotly + zapis HTML |
run_experiment.py |
Wejście z linii poleceń |
streamlit_app.py |
Aplikacja WWW |
start.sh / start.bat |
Eksperyment + Streamlit |
results/ |
Wyniki wygenerowane (CSV, TeX, wykresy/*.html, wersje_bibliotek.txt) |
Ignorowane są m.in. .venv/, cache Pythona, pliki IDE. Wygenerowane pliki w results/ można opcjonalnie dodać do ignorowania — w .gitignore jest gotowy, zakomentowany blok instrukcji.
Zobacz plik LICENSE.