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 kontrolligaPaki 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.
- Arvutit, brauserit ja internetiühendust.
- Databricks Free Editioni kontot või õpetaja antud Databricksi tööruumi.
- Selle õpetuse failipakki. Andmefail
weather_prediction_dataset.csvja 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 andmefaile | Failid Databricksi volume’is ehk hallatavas failikaustas |
| Käivitame koodi ja loeme selgitusi | Notebook ehk koodi ja selgitustega töövihik brauseris |
| Salvestame ja võrdleme katseid | Databricksi Experiments ehk katsete vaade |
| Hoiame mudelite versioone | Unity Catalog ehk ühine register andmetele ja mudelitele |
| Käivitame mudeli veebiteenusena | Model Serving ehk mudeli käitamine veebiteenusena Databricksis |
| Küsime tänase ilmaprognoosi | Teine 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.
- Ava Databricks Free Edition ja vali tasuta konto loomine. Kui õpetaja andis kooli tööruumi lingi, kasuta seda.
- Logi sisse ja lõpeta konto kinnitamine. Vali Free Edition, mitte piiratud ajaga tasuline prooviperiood ehk trial.
- 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.
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.
- Ava vasakul Catalog. Vali olemasolev kataloog, kuhu saad kirjutada. Free Editionis võib selle nimi olla
workspace; kasuta ekraanil nähtavat nime. - 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. - Ava oma skeem. Vali Create → Volume. Pane nimeks
andmedja vali Managed. See tähendab, et Databricks haldab failide salvestuskohta. - Vali Upload või Upload to this volume. Laadi üles pakis olevad
weather_prediction_dataset.csvjalinnade_koordinaadid.csv. Alternatiivne tee on New → Add or upload data → Upload files to a volume. - 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.
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.
- Ava Workspace ja oma kasutaja kaust. Tee sinna kaust
databricks-ilm. - Tee selle kausta juures paremklõps või ava kolme punktiga menüü. Vali Import. Import tähendab olemasoleva faili sissetoomist.
- Impordi
01_treeni_databricksis.ipynb. Impordi samamoodi02_tanane_prognoos.ipynb..ipynbon töövihiku failivorming. Ära impordi kogu õppematerjali ZIP-i notebookina. - Ava esimene töövihik. Ülemisest arvutusressursi valikust vali Serverless. Compute tähendab arvutusressurssi ehk arvutit, mis koodi täidab.
- Ava parempoolne Environment ehk käivituskeskkonna paneel. Vali tavaline Standard-baaskeskkond või õpetaja määratud keskkond.
- 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.
| Pakett | Milleks seda kasutame? |
|---|---|
| mlflow | Katsete ja mudelite salvestamiseks. |
| scikit-learn, koodis sklearn | Närvivõrgu treenimiseks ja hindamiseks. |
| pandas | Andmetabelite lugemiseks ja muutmiseks. |
| numpy | Arvude ja arvujadadega arvutamiseks. |
| requests | Ilmateenusele küsimuste saatmiseks. |
| cloudpickle | Meie 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.
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
- Leia esimeses notebookis jaotis „Sinu failide asukoht“. Muuda
VOLUMEväärtus oma teeks. Jutumärgid jäta alles. - Käivita andmete lugemise lahter. Vaata tabeli esimesi ridu.
DATEon kuupäev;STOCKHOLM_temp_meanon Stockholmi päeva keskmine temperatuur. - Loe andmete ettevalmistamise selgitus ja käivita selle lahtrid. Väljund näitab, mitu sisendtunnust valiti ja millised kuupäevad kuuluvad kolme andmeossa.
- 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.
day-3day-2day-1day-0Korrelatsioon 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?
| Osa | Milleks? | Kas mudel võib sellest õppida? |
|---|---|---|
| Varasemad umbes 70%: train | Õppimine ja tunnuste valik. | Jah. |
| Järgmised umbes 15%: validation | Kahe mudeli võrdlemine ja valimine. | Ei treenita; kasutame ainult valimiseks. |
| Viimased umbes 15%: test | Valitud 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.
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.
- Ava Databricksis Experiments. Kui seda pole külgmenüüs, ava notebooki väljundis näidatud eksperimendi asukoht oma Workspace-kaustas. Nimi on
stockholmi-ilm. - Ava üks katse. Vaata Parameters ehk seadeid ja Metrics ehk tulemusi.
- Leia Artifacts ehk salvestatud failid. Näiteks
tunnused.jsonsisaldab sisendveergude nimesid ja linnade asukohti. - Mine katsete loendisse tagasi, märgi mõlemad katsed ja vali Compare ehk võrdle. Leia
validation_rmse.
| Mõõdik | Lihtne tähendus | Kumb on parem? |
|---|---|---|
| RMSE | Vea suurus kraadides, kus suured eksimused mõjutavad hinnet tugevamalt. | Väiksem. |
| MAE | Prognoosi 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_rmse | Lihtsa 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. |
Ü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.
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“.
- Käivita esimese notebooki jaotis „Vali mudel võrdlusosa järgi“. Kood valib väiksema validation-RMSE-ga versiooni ja paneb sellele
championsildi. - Kood kontrollib valitud mudelit testandmetega. Kirjuta üles
test_rmse,test_mae,test_r2ja võrdlusmudeli RMSE. - Ava Catalog → sinu kataloog → sinu skeem → Models ning mudel
stockholmi_ilm. Mõnes vaates pääseb mudelini ka menüüst Models. - Vaata versioonide loendit. Leia
championsilt 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.
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.
- Ava vasakul Serving. Vali Create serving endpoint.
- Pane teenuse nimeks notebooki väljundis näidatud nimi, näiteks
stockholmi-ilm-ilm-anna. Nimi peab olema sinu tööruumis vaba. - Vali Served entities → Entity → My models – Unity Catalog. Entity tähendab siin mudelit, mida teenus kasutab.
- Vali oma mudeli täielik nimi ja täpne versiooninumber, millele panid
championsildi. - 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.
- 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.
- 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.
- Ava oma teenus ja vali Query endpoint ehk küsi teenuselt.
- Kopeeri esimese notebooki viimasest väljundist terve JSON-tekst. Sama tekst on volume’i failis
naidisparing.json. - Kleebi tekst päringukasti ja vajuta Send Request.
- Vastuses peab olema
predictionsehk 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.
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.
- Ava
02_tanane_prognoos.ipynb. Vali Serverless ja lisa samad Environment-paketid nagu esimeses notebookis. - Käivita tööriistade lahter ja muuda
VOLUMEjälle oma teeks. - Käivita mudeli laadimine. Väljund ütleb, millist versiooni kasutatakse. Veendu, et Serving-teenuses on sama versioon.
- 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. - 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.
- Käivita „Esimene kontroll: mudel notebookis“. See annab oma mudeli prognoosi ja valmis JSON-päringu.
- 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.
- 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.
- Ava oma arvutis ilmaandmete laadimise leht.
- Vajuta „Küsi ilma ja salvesta fail“. Saad
open_meteo_ilm.json. - Laadi fail Databricksis samasse volume’i kui CSV-d.
- Pane teises notebookis
KASUTA_FAILI = True. True tähendab „jah“: kasuta faili. - 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.
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.
- Ava Jobs & Pipelines ja vali uue töö loomine.
- Lisa üks notebook-tüüpi task ning vali
02_tanane_prognoos. See peab kasutama õiget volume’i ja olemasolevat teenust. - Vali Serverless ning lisa töö keskkonda samad sõltuvused nagu notebookis. Notebooki käsitsi lisatud paketid ei pruugi töö seadistusse automaatselt kanduda.
- Vajuta esmalt Run now ja veendu, et teenusepäring ning faili salvestamine õnnestuvad.
- 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.
- Katsete võrdlus: kahe katse kihtide suurused ja validation-RMSE. Kirjuta ühe lausega, miks valisid selle versiooni.
- Register: mudeli täielik nimi, valitud versioon ja
championsilt. - Lõppkontroll: test-RMSE, MAE, R² ja lihtsa võrdlusmudeli RMSE. Kas närvivõrk oli võrdlusmudelist parem?
- 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.
- Tänane prognoos: kuupäev, oma mudeli ja Open-Meteo prognoos ning salvestatud tulemusefail.
- Selgitus oma sõnadega: mida tähendab
day-0, miks mudelisilt ei uuenda teenust automaatselt ja miks kahe prognoosi vahe pole tegelik ennustusviga?
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 puudub | Kood ei leidnud faili. | Kontrolli VOLUME teed, failinime ja et fail on volume’is, mitte ainult Workspace’is. |
| ModuleNotFoundError | Vajalik tööriistapakett puudub. | Lisa pakett Environment → Dependencies alla, vajuta Apply ja käivita töövihik algusest. |
| Permission denied / PERMISSION_DENIED | Sul pole selles asukohas tegutsemise õigust. | Kasuta oma skeemi või küsi õpetajalt õigust. |
| Quota / limit exceeded | Tasuta kasutuse piir on täis. | Ära loo uusi ressursse. Oota limiidi taastumist ja teavita õpetajat. |
| Open-Meteo päringu võrguviga | Ilmateenus 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 jaoks | Fail on vana või Stockholmis on juba uus kuupäev. | Laadi värske fail. Ära muuda failis lihtsalt kuupäeva. |
| Model is missing inputs | Mudeli nõutud sisendveerg puudub. | Kasuta sama versiooni tunnused.json ja selle notebooki valmistatud päringut. |
| Endpoint not found | Selle nimega teenust pole. | Võrdle Serving-vaate nime ja projekt.json välja endpoint. |
| Teenuse ja notebooki arvud erinevad | Versioon või sisend ei pruugi sama olla. | Vali teenuses sama versioon; oota Ready olekut ja saada täpselt sama JSON. |
| Teenuse ehitamine ebaõnnestus | Keskkonna või mudeli laadimine ebaõnnestus. | Ava teenuse Logs ehk tegevuslogi. Salvesta esimene veateade; kontrolli pakette ja mudeliversiooni. |
| ConvergenceWarning | Nä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. |
| NameError | Muutuja 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.
defalustab 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.importvõtab tööriista kasutusele;asannab sellele lühema nime.printkirjutab tulemuse väljundisse;displaynäitab mugavalt tabelit.iftähendab „kui“;else„muidu“.forkordab samme iga loendi elemendi jaoks.TruejaFalseon „jah“ ja „ei“;Nonetähendab puuduvat väärtust.floaton kümnendmurruline arv;inttäisarv;strtekst.fitõpetab mudelit;predictkasutab õpitud mudelit.with mlflow.start_run()alustab katset ja lõpetab selle ploki lõpus.raise ValueErrorpeatab töö selgitava veateatega.head(5)näitab esimest viit rida;lenleiab elementide arvu.SHA-256on 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.
- Free Editioni konto ja piirangud.
- Volume’i loomine ja failide üleslaadimine.
- Notebooki importimine ja Serverless-keskkonna paketid.
- Unity Catalogi mudeliregister ja aliased.
- Mudeliteenuse loomine ja päringu saatmine.
- Open-Meteo ilmaandmete päringu kirjeldus.
Treeningandmed ja linnade koordinaadid on õppematerjali failipakis. Õppematerjal ei väida, et meie harjutusmudel on professionaalsest ilmaprognoosist täpsem.