Praktikum · Databricks Free Edition · 29.10.2026

Sinu ilmamudel.
Databricksis samm-sammult.

Selle töö lõpuks on sul mudel, mis ennustab Stockholmi tänast keskmist temperatuuri. Mudel töötab Databricksi veebiteenusena: saadad talle varasemate päevade temperatuurid ja saad vastu ühe arvu.

Eesti keelesSammhaavalIga samm lõpeb kontrolliga

Paki ZIP lahti. ZIP on fail, mille sisse on mitu faili kokku pakitud. Õpetust saad lugeda ka oma arvutis, avades index.html. Töö tegemiseks on vaja internetti ja Databricksi kontot.

1. Õpetad mudelitAnnad mudelile vanad ilmaandmed ja võrdled kahte katset.
2. Salvestad valikuPaned mudeli registrisse ja valid kasutatava versiooni.
3. Küsid prognoosiKäivitad mudeli teenusena ja küsid sellelt tänast temperatuuri.
Mida vajad?
  • Arvutit, brauserit ja internetiühendust.
  • Databricks Free Editioni kontot või õpetaja antud Databricksi tööruumi.
  • Selle õpetuse failipakki. Andmefail weather_prediction_dataset.csv ja linnade koordinaadid on pakis olemas.
  • Algteadmisi Pythonist: oskad käivitada lahtri ja muuta jutumärkides teksti. Python on siin kasutatav programmeerimiskeel.

Arvutused ja mudelite salvestamine toimuvad Databricksis. Oma arvutis kasutad brauserit.

Kõigepealt: mis on mis?

Databricks on veebikeskkond, kus saad faile hoida, koodi käivitada ja mudeleid kasutada. Pilv tähendab siin, et arvutus ja failide hoidmine toimuvad teenusepakkuja arvutites, mitte ainult sinu sülearvutis.

MLflow on katsete ja mudelite haldamise tööriist. Selles õpetuses kasutame MLflow’d Databricksi sees. Varasemat MLflow kasutamise kogemust pole vaja.

Mida teeme?Databricksi tööriist
Hoiame andmefaileFailid Databricksi volume’is ehk hallatavas failikaustas
Käivitame koodi ja loeme selgitusiNotebook ehk koodi ja selgitustega töövihik brauseris
Salvestame ja võrdleme katseidDatabricksi Experiments ehk katsete vaade
Hoiame mudelite versiooneUnity Catalog ehk ühine register andmetele ja mudelitele
Käivitame mudeli veebiteenusenaModel Serving ehk mudeli käitamine veebiteenusena Databricksis
Küsime tänase ilmaprognoosiTeine notebook, mis hangib ilmaandmed ja küsib teenuselt prognoosi

Õpieesmärgid on treenida mudelit, salvestada ja võrrelda katseid, valida mudeliversioon ning kasutada seda veebiteenusena. Kasutame eraldi andmeid mudelite võrdlemiseks ja valitud mudeli lõppkontrolliks, et lõppkontrolli vastused ei mõjutaks mudeli valikut.

SAMM 1Ava oma Databricksi tööruum

Workspace tähendab tööruumi: sinu failide, notebookide ja tööde ühist keskkonda.

  1. Ava Databricks Free Edition ja vali tasuta konto loomine. Kui õpetaja andis kooli tööruumi lingi, kasuta seda.
  2. Logi sisse ja lõpeta konto kinnitamine. Vali Free Edition, mitte piiratud ajaga tasuline prooviperiood ehk trial.
  3. Oota, kuni tööruum avaneb. Vasakul on menüü, milles võivad olla Workspace, Catalog, Experiments ja Serving. Kitsal ekraanil ava kõigepealt külgmenüü.

Tasuta keskkonnal on kasutuspiirid. Free Edition kasutab serverless-arvutusressurssi: Databricks käivitab ja haldab arvutit sinu eest. Tasuta keskkonnas võivad olla piiratud töömaht, teenuste arv ja välised internetipäringud. Kui limiit saab täis, jätka pärast selle taastumist. Tasulist kontot pole selle juhendi alustamiseks vaja. Free Editioni piirangud.

Kontroll

Näed Databricksi tööruumi ja saad avada Workspace’i. Kui oled kooli keskkonnas ja sul pole loomise õigust, küsi õpetajalt endale töökaust ja skeem.

SAMM 2Tee failidele koht ja laadi andmed üles

Databricksi failitee koosneb kolmest tasemest. Catalog ehk kataloog on suurim jaotis. Schema ehk skeem on selle sees olev projekti jaotis. Volume on failikaust skeemi sees. Unity Catalog korraldab neid ja nende kasutusõigusi.

/Volumes/workspace/ilm_anna/andmed

Näites on kataloog workspace, skeem ilm_anna ja volume andmed. Algus /Volumes/ näitab, et see on Databricksi hallatav failiasukoht. Sinu tegelik tee võib olla teine.

  1. Ava vasakul Catalog. Vali olemasolev kataloog, kuhu saad kirjutada. Free Editionis võib selle nimi olla workspace; kasuta ekraanil nähtavat nime.
  2. Vali kataloogi juures Create → Schema. Pane skeemi nimeks näiteks ilm_anna, asendades Anna oma nimega. Kasuta väiketähti ilma täpitähtedeta, numbreid ja alakriipsu.
  3. Ava oma skeem. Vali Create → Volume. Pane nimeks andmed ja vali Managed. See tähendab, et Databricks haldab failide salvestuskohta.
  4. Vali Upload või Upload to this volume. Laadi üles pakis olevad weather_prediction_dataset.csv ja linnade_koordinaadid.csv. Alternatiivne tee on New → Add or upload data → Upload files to a volume.
  5. Kopeeri volume’i tee käsuga Copy path. Kui kopeerisid ühe faili tee, eemalda selle lõpust failinimi. Alles peab jääma /Volumes/kataloog/skeem/volume.

Koordinaadid näitavad linna asukohta Maal: lat on laiuskraad, lon pikkuskraad. Neid vajab ilmateenus. CSV on tabel tekstifailina: üks rida tähendab üht kirjet ja komad eraldavad veerge.

Miks ei piisa minu Windowsi failiteest?

C:\Users\... viitab sinu arvuti kettale. Databricksi arvuti seda ketast ei näe. Seepärast laadime failid pilve ja kasutame sealset /Volumes/... teed.

Andmefaili ei pea selle töö jaoks Databricksi andmebaasitabeliks teisendama. Notebook loeb CSV otse volume’ist. Kui näed valikut Create table, pole seda siin vaja.

Kontroll

Oma volume’is on kaks CSV-faili. Tead selle volume’i teed.

SAMM 3Too töövihikud Databricksi

Notebook on töövihik, milles selgitused ja kood paiknevad üksteise all. Lahter on üks kast selles töövihikus. Koodilahtri käivitamisel täidetakse selle käsud.

  1. Ava Workspace ja oma kasutaja kaust. Tee sinna kaust databricks-ilm.
  2. Tee selle kausta juures paremklõps või ava kolme punktiga menüü. Vali Import. Import tähendab olemasoleva faili sissetoomist.
  3. Impordi 01_treeni_databricksis.ipynb. Impordi samamoodi 02_tanane_prognoos.ipynb. .ipynb on töövihiku failivorming. Ära impordi kogu õppematerjali ZIP-i notebookina.
  4. Ava esimene töövihik. Ülemisest arvutusressursi valikust vali Serverless. Compute tähendab arvutusressurssi ehk arvutit, mis koodi täidab.
  5. Ava parempoolne Environment ehk käivituskeskkonna paneel. Vali tavaline Standard-baaskeskkond või õpetaja määratud keskkond.
  6. Lisa Dependencies alla järgnevad paketid ükshaaval, iga rea järel Add dependency. Seejärel vajuta Apply ja oota paigalduse lõppu.
mlflow>=3.3,<4
scikit-learn>=1.5,<2
pandas>=2.2,<3
numpy>=1.26,<3
requests>=2.31,<3
cloudpickle>=3,<4

Pakett on valmis tööriistade kogum. Sõltuvus tähendab paketti, mida meie kood vajab. >=3.3,<4 tähendab „vähemalt versioon 3.3, aga väiksem kui 4“. Environment hoiab need tööriistad selle töövihiku jaoks koos. Sama nimekirja leiad failist requirements.txt.

PakettMilleks seda kasutame?
mlflowKatsete ja mudelite salvestamiseks.
scikit-learn, koodis sklearnNärvivõrgu treenimiseks ja hindamiseks.
pandasAndmetabelite lugemiseks ja muutmiseks.
numpyArvude ja arvujadadega arvutamiseks.
requestsIlmateenusele küsimuste saatmiseks.
cloudpickleMeie enda mudeli salvestamiseks ja tagasilugemiseks.

Kuidas lahtrit käivitada?

Klõpsa lahtris ja vajuta Shift + Enter või lahtri kolmnurka. Oota tulemust. Seejärel liigu järgmise lahtri juurde. Esimesel korral ära kasuta Run All ehk „käivita kõik“, sest pead enne oma failitee sisestama.

Kontroll

Esimene töövihik on avatud, Serverless on valitud ja paketid on paigaldatud. Esimese koodilahtri käivitamisel kuvatakse MLflow ja scikit-learni versiooninumbrid.

SAMM 4Anna mudelile õppimiseks ilmaandmed

  1. Leia esimeses notebookis jaotis „Sinu failide asukoht“. Muuda VOLUME väärtus oma teeks. Jutumärgid jäta alles.
  2. Käivita andmete lugemise lahter. Vaata tabeli esimesi ridu. DATE on kuupäev; STOCKHOLM_temp_mean on Stockholmi päeva keskmine temperatuur.
  3. Loe andmete ettevalmistamise selgitus ja käivita selle lahtrid. Väljund näitab, mitu sisendtunnust valiti ja millised kuupäevad kuuluvad kolme andmeossa.
  4. Käivita katsete kausta määramine ja seejärel kahe mudeli treenimine. Oota, kuni ilmub kahe reaga tulemuste tabel.

Mida mudel tegelikult näeb?

Tunnus on üks sisendväärtus, näiteks Oslo temperatuur kaks päeva tagasi. Sihtmuutuja on väärtus, mida ennustame: järgmise päeva Stockholmi keskmine temperatuur. Mudelile ei anta selle päeva õiget vastust sisendtunnusena.

Treeningus on day-0 lähtepäev. Kui tahame ennustada tänast, on lähtepäev eile. Lag tähendab ajalist nihet: tunnus pärineb varasemast päevast.

4 päeva tagasiday-3
3 päeva tagasiday-2
Üleeileday-1
Eileday-0
TänaEnnustatav päev

Korrelatsioon näitab, kui sarnaselt kaks arvujada muutuvad. Kood valib temperatuuritunnused, mis on treeningosas homse temperatuuriga piisavalt seotud. Seos ei tõesta, et üks temperatuur põhjustab teist. Tunnuste arvu näed väljundist; ära kirjuta eeldusena „alati 40“.

Miks kolm andmeosa?

OsaMilleks?Kas mudel võib sellest õppida?
Varasemad umbes 70%: trainÕppimine ja tunnuste valik.Jah.
Järgmised umbes 15%: validationKahe mudeli võrdlemine ja valimine.Ei treenita; kasutame ainult valimiseks.
Viimased umbes 15%: testValitud mudeli lõplik kontroll.Ei. Seda osa ei kasutata valimiseks.

Järjestust ei segata: õpime minevikust ja kontrollime hilisemaid päevi. Andmeleke tähendaks, et tulevane vastus pääseb õppimise või valimise juurde. See annaks eksitavalt hea tulemuse.

Mis vahe on kahel mudelil?

Mõlemad on MLPRegressor-tüüpi närvivõrgud. Regressor ennustab arvu. Ühe mudeli peidetud kihtides on 50 ja 30 arvutusüksust ehk neuronit; teisel 100 ja 50. Peidetud kiht on sisendi ja väljundi vahele jääv arvutusetapp.

StandardScaler paneb sisendtunnused võrreldavale skaalale. Pipeline seob skaleerija ja mudeli üheks tervikuks. Nii kasutatakse ennustamisel sama skaleerimist nagu õppimisel.

Peamised seaded lihtsas keeles
  • hidden_layer_sizes: mitu neuronit on igas peidetud kihis.
  • max_iter=1000: õppimine teeb kuni 1000 kordust.
  • random_state=42: juhuslik algus fikseeritakse, et sama katset oleks lihtsam korrata. Arv 42 pole maagiline parima tulemuse garantii.
  • LAGS=4: mudel kasutab nelja päeva ajalugu.
  • KORR_LAVI=0.85: tunnuste teise valiku korrelatsioonipiir. Uues katsetuses muuda korraga ainult üht seadet.
Kontroll

Tulemuste tabelis on kaks mudelit, kummalgi oma versioon ja mõõdikud. Kui näed ConvergenceWarning, jõudis õppimine korduste piirini. Märgi hoiatus üles; see pole iseenesest tõend, et mudelifail puudub.

SAMM 5Vaata, mida MLflow meelde jättis

Experiment on katsete kaust. Run on üks katse: mudeli treenimine koos seadete ja tulemustega. Parameeter on sinu valitud seade; mõõdik on arv, millega hindad tulemust. Logimine tähendab nende salvestamist.

  1. Ava Databricksis Experiments. Kui seda pole külgmenüüs, ava notebooki väljundis näidatud eksperimendi asukoht oma Workspace-kaustas. Nimi on stockholmi-ilm.
  2. Ava üks katse. Vaata Parameters ehk seadeid ja Metrics ehk tulemusi.
  3. Leia Artifacts ehk salvestatud failid. Näiteks tunnused.json sisaldab sisendveergude nimesid ja linnade asukohti.
  4. Mine katsete loendisse tagasi, märgi mõlemad katsed ja vali Compare ehk võrdle. Leia validation_rmse.
MõõdikLihtne tähendusKumb on parem?
RMSEVea suurus kraadides, kus suured eksimused mõjutavad hinnet tugevamalt.Väiksem.
MAEPrognoosi ja õige vastuse absoluutsete erinevuste keskmine, kraadides.Väiksem.
R²Võrdlus meetodiga, mis ennustaks kontrollosa keskmist temperatuuri igal päeval.Suurem; 1 on parim. Tulemus võib olla negatiivne.
baseline_rmseLihtsa võrdlusmudeli viga: „homme on sama temperatuur kui täna“.Närvivõrgu RMSE peaks sellest väiksem olema, et ta selles võrdluses kasulik oleks.
Peatu ja mõtle

Ühe mudeli validation-RMSE on 2,1 °C ja teisel 2,8 °C. Kumba eelistaksid ning miks? Need on selgitavad näidisarvud, mitte ette antud oodatavad tulemused.

Kontroll

Oskad näidata, millised seaded erinesid ja kummal mudelil on väiksem validation-RMSE.

SAMM 6Vali kasutatav mudeliversioon

Mudeliregister hoiab mudelit nime ja versiooninumbriga. Versioon on üks salvestatud mudel. Alias on silt, mis viitab ühele versioonile. Meie silt on champion: „seda mudelit kasutame“.

  1. Käivita esimese notebooki jaotis „Vali mudel võrdlusosa järgi“. Kood valib väiksema validation-RMSE-ga versiooni ja paneb sellele champion sildi.
  2. Kood kontrollib valitud mudelit testandmetega. Kirjuta üles test_rmse, test_mae, test_r2 ja võrdlusmudeli RMSE.
  3. Ava Catalog → sinu kataloog → sinu skeem → Models ning mudel stockholmi_ilm. Mõnes vaates pääseb mudelini ka menüüst Models.
  4. Vaata versioonide loendit. Leia champion silt ja kirjuta üles selle versiooninumber.

Mudeli täielik nimi on näiteks workspace.ilm_anna.stockholmi_ilm. Kolm punkti abil eraldatud osa on kataloog, skeem ja mudel. Kasuta enda täpset nime.

Viimane ei tähenda parim. Uus versioon võib olla halvem. Sildi tõstame selle katse võrdlustulemuse, mitte versiooninumbri järgi. Kui hakkad testtulemuse põhjal mudelit korduvalt muutma, ei ole testosa enam puutumata lõppkontroll.

Notebook salvestab ka naidisparing.json ja projekt.json. Esimene on üks päris sisendrida teenuse kontrollimiseks, teine jätab meelde mudeli ja teenuse nime.

Kontroll

Tead mudeli täielikku nime ja valitud versiooninumbrit. Mudel laaditi registrist tagasi ja andis arvulise vastuse.

SAMM 7Käivita mudel veebiteenusena

Deploy ehk kasutuselevõtt tähendab siin mudeli käivitamist veebiteenusena. Model Serving hoiab mudelit töös ja vastab küsimustele. Endpoint on selle teenuse nime ja aadressiga ühenduspunkt.

  1. Ava vasakul Serving. Vali Create serving endpoint.
  2. Pane teenuse nimeks notebooki väljundis näidatud nimi, näiteks stockholmi-ilm-ilm-anna. Nimi peab olema sinu tööruumis vaba.
  3. Vali Served entities → Entity → My models – Unity Catalog. Entity tähendab siin mudelit, mida teenus kasutab.
  4. Vali oma mudeli täielik nimi ja täpne versiooninumber, millele panid champion sildi.
  5. Kui ressursi valik on nähtav, vali CPU ja väikseim sobiv suurus, näiteks Small. CPU on tavaline protsessor. GPU on teistsugune, paljude paralleelarvutuste jaoks mõeldud protsessor; meie väikese ilmamudeli jaoks pole seda vaja.
  6. Jäta kogu liiklus sellele ühele mudelile: 100% tähendab, et kõik päringud lähevad sellele versioonile. Kui näed valikut Scale to zero, lülita see õppimiseks sisse. See tähendab, et jõude olev teenus võib ajutiselt peatuda.
  7. Vajuta Create. Oota, kuni olek on Ready ehk valmis. Esimene loomine võib võtta mitu minutit. Ära loo ootamise ajal järjest uusi teenuseid.

Need menüünimed põhinevad Databricksi teenuse loomise juhendil. Väljade asukoht ja kättesaadavad valikud võivad tööruumis erineda.

Saada esimene päring

Päring on teenusele saadetud küsimus koos sisendandmetega. JSON on tekstivorming, milles andmetel on nimed ja väärtused. Meie päringu columns on veerunimed ning data on nende väärtused samas järjekorras.

  1. Ava oma teenus ja vali Query endpoint ehk küsi teenuselt.
  2. Kopeeri esimese notebooki viimasest väljundist terve JSON-tekst. Sama tekst on volume’i failis naidisparing.json.
  3. Kleebi tekst päringukasti ja vajuta Send Request.
  4. Vastuses peab olema predictions ehk prognooside loend. Ühe sisendrea korral on selles üks arv. Võrdle seda notebooki näidispäringu vastusega.
{"predictions": [5.8]}

See on ainult vastuse kuju näide. Sinu arv ei pea olema 5,8.

Mudelisilt ja töötav teenus on eri asjad. Teenus kasutab valitud versiooninumbrit. Kui tõstad hiljem champion sildi, ava teenuse seadistus, vali seal uus versioon ja kinnita muudatus. Oota uuesti olekut Ready.

Kui minu keskkond ei luba teenust luua

Kontrolli, kas oled valinud oma registreeritud mudeli, mitte üldise keelemudeli. Kui kuvatakse limiidi- või õiguste viga, kirjuta see üles. Kooli keskkonnas küsi õpetajalt teenuse loomise õigust; tasuta keskkonnas oota limiidi taastumist või kasuta õpetaja antud tööruumi. Registrist mudeli laadimist saad siiski kontrollida.

Notebooki sees saadud prognoos ei tähenda, et teenus on kasutusele võetud. Märgi ülesandes teenuseosa lõpetamata, kuni saad päris endpoint’ilt vastuse.

Kontroll

Teenus on Ready ja vastas näidispäringule. Notebooki ning teenuse arvud klapivad.

SAMM 8Küsi tänane ilmaprognoos

Open-Meteo on ilmateenus. Selle API võimaldab programmil küsida ilmaandmeid. API tähendab kokkulepitud suhtlusviisi, mitte inimesele mõeldud ilmalehte.

  1. Ava 02_tanane_prognoos.ipynb. Vali Serverless ja lisa samad Environment-paketid nagu esimeses notebookis.
  2. Käivita tööriistade lahter ja muuda VOLUME jälle oma teeks.
  3. Käivita mudeli laadimine. Väljund ütleb, millist versiooni kasutatakse. Veendu, et Serving-teenuses on sama versioon.
  4. Käivita ilmafunktsioonide lahtrid ja jaotis „Võta värsked andmed“. Esmalt jäta KASUTA_FAILI = False. False tähendab „ei“: andmeid küsitakse otse internetist.
  5. Kui päring õnnestus, näed ühe reaga sisendtabelit ja prognoositava päeva kuupäeva. Kui päring ebaõnnestus, järgi allolevat faili kaudu laadimise juhist.
  6. Käivita „Esimene kontroll: mudel notebookis“. See annab oma mudeli prognoosi ja valmis JSON-päringu.
  7. Käivita „Küsi sama prognoos veebiteenuselt“. Kui notebooki teenusepäringul tekib sisselogimise või õiguste viga, kleebi JSON brauseris oma teenuse Query endpoint kasti. Mõlemal juhul küsi vastus samalt versioonilt.
  8. Käivita tulemuse salvestamine. Kui küsisid teenuselt brauseriga, sisesta enne selle tegelik vastus muutujasse TEENUSE_VASTUS_BRAUSERIST.

Kui Databricks ei pääse Open-Meteole ligi

Free Edition võib piirata välisühendusi. See ei tähenda tingimata, et kirjutasid koodi valesti.

  1. Ava oma arvutis ilmaandmete laadimise leht.
  2. Vajuta „Küsi ilma ja salvesta fail“. Saad open_meteo_ilm.json.
  3. Laadi fail Databricksis samasse volume’i kui CSV-d.
  4. Pane teises notebookis KASUTA_FAILI = True. True tähendab „jah“: kasuta faili.
  5. Käivita ilmaandmete lahter uuesti ja jätka. Iga uue päeva jaoks laadi uus fail.

Miks veerunimed ja kuupäevad nii tähtsad on?

OSLO_temp_mean_day-2 tähendab Oslo keskmist temperatuuri kaks päeva enne lähtepäeva. Tänase ennustamise korral on see kolm päeva tagasi. temp_mean on keskmine, temp_max kõrgeim ja temp_min madalaim temperatuur.

Tunnuste nimed loetakse sama mudeliversiooni salvestatud failist, mitte ei kirjutata käsitsi. Kui linn, päev või temperatuur puudub, kood peatub selgitusega. Puuduvat väärtust ei asendata vaikimisi null kraadiga.

Ajavöönd ütleb, millise koha kella järgi päev algab ja lõpeb. Kasutame Europe/Stockholm. Südaöö lähedal võib sinu arvuti kuupäev erineda Stockholmi kuupäevast.

Kaks prognoosi ei anna veel tegelikku viga. Open-Meteo tänane arv on samuti prognoos. Kui meie mudel ütleb 5,8 ja Open-Meteo 6,1, ei saa järeldada, et meie mudeli viga on 0,3 kraadi. Tegeliku vea leidmiseks on vaja hiljem teada päeva tegelikku temperatuuri ning kasutada võrreldavat andmeallikat.

Treeningandmed ja Open-Meteo andmed pärinevad eri mõõtmis- või arvutussüsteemidest ning eri ajast. Seda erinevust nimetatakse andmejaotuse nihkeks. Seetõttu võib mudel uutel andmetel halvemini töötada.

Kontroll

Näed õiget kuupäeva, oma prognoosi, Open-Meteo võrdlusprognoosi ja teenuse vastust. Teenuse vastus klapib notebooki omaga. Tulemus on salvestatud volume’i kausta prognoosid.

SAMM 9Mida teha homme?

Homme ava teine notebook ja käivita selle lahtrid uuesti. Esimest notebooki pole vaja iga päev käivitada: muidu treenid asjatult uusi mudeleid ja tekitad uusi versioone.

Kui kasutad ilmafaili, laadi homme uus fail. Vana kuupäevaga faili kood tänase prognoosina ei kasuta. Kui teenus on jõudeoleku tõttu peatunud, võib esimene päring võtta rohkem aega.

Lisaülesanne: pane prognoos ajakava järgi käima

Job ehk töö on salvestatud käivitusjuhis. Task on üks samm selles töös. Schedule ehk ajakava ütleb, millal töö käivitub.

  1. Ava Jobs & Pipelines ja vali uue töö loomine.
  2. Lisa üks notebook-tüüpi task ning vali 02_tanane_prognoos. See peab kasutama õiget volume’i ja olemasolevat teenust.
  3. Vali Serverless ning lisa töö keskkonda samad sõltuvused nagu notebookis. Notebooki käsitsi lisatud paketid ei pruugi töö seadistusse automaatselt kanduda.
  4. Vajuta esmalt Run now ja veendu, et teenusepäring ning faili salvestamine õnnestuvad.
  5. Alles seejärel lisa igapäevane ajakava ja kontrolli ajavööndit.

See lisaülesanne sobib siis, kui Databricksi otsepäring Open-Meteole töötab ja teenusepäring saab vajalikud õigused. Käsitsi allalaaditavat ilmafaili ei saa ajakava ise värskendada. Õppetöö lõpus keela ajakava.

Kui lõpetad harjutuse

Ava Serving ja kustuta ainult enda loodud endpoint, kui seda enam vaja pole. See lõpetab teenuse kasutuse; mudeliregistri versioonid ja volume’i failid jäävad alles. Kui õpetaja tahab teenust kontrollida, jäta see alles kokkulepitud ajaks. Tasulises tööruumis järgi õpetaja antud kulupiire.

SAMM 10Mida esitada?

Esita lühike vastus ja pildid, millelt tulemus on loetav. Salajasi juurdepääsutõendeid ei ole vaja luua ega esitada.

  1. Katsete võrdlus: kahe katse kihtide suurused ja validation-RMSE. Kirjuta ühe lausega, miks valisid selle versiooni.
  2. Register: mudeli täielik nimi, valitud versioon ja champion silt.
  3. Lõppkontroll: test-RMSE, MAE, R² ja lihtsa võrdlusmudeli RMSE. Kas närvivõrk oli võrdlusmudelist parem?
  4. Teenus: teenuse nimi, selle versioon ja päris päringu vastus. Kui keskkonna piirang takistas loomist, esita täpne veateade ning ütle, et teenuseosa jäi lõpetamata.
  5. Tänane prognoos: kuupäev, oma mudeli ja Open-Meteo prognoos ning salvestatud tulemusefail.
  6. Selgitus oma sõnadega: mida tähendab day-0, miks mudelisilt ei uuenda teenust automaatselt ja miks kahe prognoosi vahe pole tegelik ennustusviga?
Lõppkontroll

Oskad kirjeldada kogu teekonda: CSV → tunnused → treenimine → katse → registri versioon → teenus → prognoos.

Linnukesed salvestatakse ainult sellesse brauserisse. Neid ei saadeta õpetajale.

Kui midagi ei tööta

Vaata esimest veaga lahtrit. Ära käivita järjest kõiki järgmisi lahtreid: need võivad vajada eelmise lahtri tulemust.

Mida näed?Mida see tähendab?Mida teha?
FileNotFoundError / fail puudubKood ei leidnud faili.Kontrolli VOLUME teed, failinime ja et fail on volume’is, mitte ainult Workspace’is.
ModuleNotFoundErrorVajalik tööriistapakett puudub.Lisa pakett Environment → Dependencies alla, vajuta Apply ja käivita töövihik algusest.
Permission denied / PERMISSION_DENIEDSul pole selles asukohas tegutsemise õigust.Kasuta oma skeemi või küsi õpetajalt õigust.
Quota / limit exceededTasuta kasutuse piir on täis.Ära loo uusi ressursse. Oota limiidi taastumist ja teavita õpetajat.
Open-Meteo päringu võrguvigaIlmateenus on ajutiselt kättesaamatu või väline ühendus piiratud.Kasuta ilmaandmete laadimise lehte ja KASUTA_FAILI = True.
Ilmafail ei ole tänase päeva jaoksFail on vana või Stockholmis on juba uus kuupäev.Laadi värske fail. Ära muuda failis lihtsalt kuupäeva.
Model is missing inputsMudeli nõutud sisendveerg puudub.Kasuta sama versiooni tunnused.json ja selle notebooki valmistatud päringut.
Endpoint not foundSelle nimega teenust pole.Võrdle Serving-vaate nime ja projekt.json välja endpoint.
Teenuse ja notebooki arvud erinevadVersioon või sisend ei pruugi sama olla.Vali teenuses sama versioon; oota Ready olekut ja saada täpselt sama JSON.
Teenuse ehitamine ebaõnnestusKeskkonna või mudeli laadimine ebaõnnestus.Ava teenuse Logs ehk tegevuslogi. Salvesta esimene veateade; kontrolli pakette ja mudeliversiooni.
ConvergenceWarningNärvivõrk jõudis õppimise korduste piirini.Vaata mõõdikuid ja märgi hoiatus üles. Uues katses võid muuta korduste arvu, hoides võrdlusandmed samad.
NameErrorMuutuja ehk nimega väärtus pole loodud.Käivita vajalikud varasemad lahtrid järjekorras. Environment’i muutmine võib mälu tühjendada.

Sõnastik

Siin on ka koodis ja Databricksi nuppudel esinevad sõnad. Sa ei pea kõiki pähe õppima.

Alias
Silt, mis viitab ühele mudeliversioonile. Meie silt on champion.
API
Kokkulepitud suhtlusviis programmide vahel: millise küsimuse saab saata ja millise vastuse saab tagasi.
Artefakt / artifact
Katsega salvestatud fail, näiteks mudel või tunnuste nimekiri.
Autentimine
Kontroll, kes teenust kasutab. Siin kasutame Databricksi sisselogitud kasutajat.
Catalog
Andmete ja mudelite kõrgeim nimega jaotis selles harjutuses.
Champion
Meie valitud aliase nimi. See pole automaatne tunnistus mudeli kvaliteedi kohta.
Cloudpickle
Vorming ja tööriist Pythoni objekti failina salvestamiseks. Kasutame enda loodud mudelit.
Compute
Arvutusressurss ehk arvuti ja selle jõudlus, millega koodi käivitatakse.
CPU / GPU
CPU on üldotstarbeline protsessor. GPU sobib paljude ühesuguste arvutuste paralleelseks tegemiseks. Selle töö jaoks piisab CPU-st.
CSV
Tabel tekstifailis. Komad eraldavad veerge.
DataFrame
Ridade ja veergudega tabel Pythoni mälus.
Deploy
Mudeli kasutuselevõtt, siin mudeli käivitamine veebiteenusena.
Dependency
Sõltuvus: lisapakett, mida programm vajab.
Endpoint
Nime ja aadressiga teenus, millele saad sisendi saata.
Environment
Käivituskeskkond: Python koos vajalike lisapakettidega.
Experiment / run
Experiment on katsete kogum, run üks konkreetne katse.
Funktsioon
Nimega koodijupp, mida saab vajadusel käivitada. def alustab selle kirjeldust.
HTTP
Veebis päringute saatmise kokkulepe. GET küsib andmeid, POST saadab andmed töötlemiseks. Eduka päringu vastuse kood on sageli 200.
Import
Faili sissetoomine või koodis valmis tööriista kasutusele võtmine.
Inference / predict
Õpitud mudeli kasutamine uue sisendi jaoks. Predict tähendab „ennusta“.
Input example
Salvestatud näidisrida, mis näitab mudeli oodatavat sisendit.
Job / task / schedule
Job on salvestatud töö, task üks selle samm ja schedule käivitamise ajakava.
JSON
Tekstivorming, kus väärtused on seotud nimedega. Loendid on nurksulgudes, nime–väärtuse kogumid looksulgudes.
Kernel / sessioon
Notebooki koodi käivitav protsess ja selle ajutine mälu. Taaskäivitamisel kaovad mälus olevad muutujad, kuid salvestatud failid jäävad.
Korrelatsioon
Arvujadade koos muutumise mõõt. Ei tõesta põhjuslikku seost.
Lag / shift
Lag on ajaline nihe; shift on käsk, mis nihutab tabeli väärtusi ridade vahel.
Logimine / logs
Tegevuste või tulemuste üleskirjutamine; logs on nende kirjete vaade.
MAE / RMSE / R²
Mudeli hindamise mõõdikud. MAE ja RMSE on siin kraadides; R² on ühikuta võrdlus keskmise ennustamisega.
Managed volume
Failikaust, mille salvestuskohta haldab Databricks.
MLPRegressor
Mitmekihiline närvivõrk, mis ennustab arvu.
Mudeliregister
Koht, kus mudelitel on nimi, versioonid ja kasutusõigused.
Muutuja
Nimi, mille alla programm jätab väärtuse meelde, näiteks VOLUME.
Notebook
Töövihik, kus selgitused ja käivitatavad koodilahtrid on ühes failis.
Pakett
Valmis koodi kogum, mida saab oma programmis kasutada.
Parameeter / metric
Parameeter on valitud seade; metric ehk mõõdik on mõõdetud tulemus.
Pipeline
Järjestikused töötlussammud ühe tervikuna, siin skaleerija ja mudel.
Predictions
Teenuse vastuses olev prognooside loend.
Python
Programmeerimiskeel, milles meie notebooki käsud on kirjutatud.
Register / log_model
Register lisab mudeli registrisse; log_model salvestab mudeli koos kasutamiseks vajaliku kirjeldusega.
Regressioon
Arvulise vastuse ennustamine, näiteks temperatuur kraadides.
REST API
Veebiaadresside ja HTTP-päringutega kasutatav programmiliides. Teenuse päring kasutab seda notebooki eest.
Scale to zero
Jõudeolekul teenuse arvutusressursi peatamine. Uus päring võib alguses oodata käivitumist.
Schema
Kataloogi sees olev jaotis andmete ja mudelite korraldamiseks.
SDK
Valmis programmeerimiskäskude kogum teenusega suhtlemiseks.
Serverless
Teenusepakkuja haldab arvuteid; sina käivitad töö. See ei tähenda, et arvutit pole olemas.
Signature
Mudeli sisendi ja väljundi kirjeldus: nimed ja andmetüübid.
Skaleerimine
Arvude teisendamine võrreldavale skaalale; siin StandardScaler’i abil.
Spark / SQL
Spark on andmetöötlusvahend. SQL on keel, millega saab tabelitelt küsimusi küsida. Siin küsime SQL-iga ainult kasutajanime.
Target / feature
Target ehk sihtmuutuja on ennustatav vastus. Feature ehk tunnus on üks mudeli sisend.
Timeout
Aeg, mille järel programm lõpetab teenusevastuse ootamise.
Token
Salajane juurdepääsutõend. Selles juhendis ei ole vaja seda koodi ega esitatavasse töösse kirjutada.
Train / validation / test
Õppimise osa, mudeli valimise osa ja valitud mudeli lõppkontrolli osa.
URI / path
URI kirjeldab ressursi asukohta, näiteks registrimudelit. Path on faili või kausta tee.
Unity Catalog
Databricksi süsteem andmete ja mudelite nimede ning kasutusõiguste haldamiseks.
Version
Üks nummerdatud mudeli salvestus. Uus versioon ei pruugi olla eelmisest parem.
Volume
Databricksi hallatav koht failide hoidmiseks.
Workspace
Databricksi tööruum, kus näed notebooke, andmeid ja teenuseid.
Väike Pythoni spikker
  • # alustab inimesele mõeldud kommentaari.
  • import võtab tööriista kasutusele; as annab sellele lühema nime.
  • print kirjutab tulemuse väljundisse; display näitab mugavalt tabelit.
  • if tähendab „kui“; else „muidu“.
  • for kordab samme iga loendi elemendi jaoks.
  • True ja False on „jah“ ja „ei“; None tähendab puuduvat väärtust.
  • float on kümnendmurruline arv; int täisarv; str tekst.
  • fit õpetab mudelit; predict kasutab õpitud mudelit.
  • with mlflow.start_run() alustab katset ja lõpetab selle ploki lõpus.
  • raise ValueError peatab töö selgitava veateatega.
  • head(5) näitab esimest viit rida; len leiab elementide arvu.
  • SHA-256 on faili kontrollsumma: tunnus, mis aitab hiljem kontrollida, kas fail on sama.

Allikad ja failid

Databricksi toimingud kontrolliti ametliku dokumentatsiooni järgi 29.10.2026. Menüüde paigutus ja tasuta paketi piirid võivad muutuda.

Treeningandmed ja linnade koordinaadid on õppematerjali failipakis. Õppematerjal ei väida, et meie harjutusmudel on professionaalsest ilmaprognoosist täpsem.