chore(i18n): sync translations with latest source changes (chunk 1/1, 9 changes)

update-translations
localizeflow[bot] 2 days ago
parent ea617244af
commit 340322b1f8

@ -1,7 +1,7 @@
{
"1-Introduction/1-intro-to-ML/README.md": {
"original_hash": "69389392fa6346e0dfa30f664b7b6fec",
"translation_date": "2025-09-05T00:30:43+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T23:17:04+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "da"
},
@ -240,8 +240,8 @@
"language_code": "da"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-05T00:00:40+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T23:16:40+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "da"
},

@ -4,82 +4,82 @@
---
[![ML for begyndere - Introduktion til maskinlæring for begyndere](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for begyndere - Introduktion til maskinlæring for begyndere")
[![ML for beginners - Introduction to Machine Learning for Beginners](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for beginners - Introduction to Machine Learning for Beginners")
> 🎥 Klik på billedet ovenfor for en kort video, der gennemgår denne lektion.
Velkommen til dette kursus om klassisk maskinlæring for begyndere! Uanset om du er helt ny inden for emnet eller en erfaren ML-praktiker, der ønsker at genopfriske et område, er vi glade for at have dig med! Vi ønsker at skabe et venligt startpunkt for din ML-studie og vil gerne evaluere, reagere på og integrere din [feedback](https://github.com/microsoft/ML-For-Beginners/discussions).
Velkommen til dette kursus om klassisk maskinlæring for begyndere! Uanset om du er helt ny på dette emne, eller en erfaren ML-praktiker, der ønsker at friske et område op, er vi glade for at have dig med! Vi ønsker at skabe et venligt afsæt for din ML-studier og vil gerne evaluere, besvare og inkorporere din [feedback](https://github.com/microsoft/ML-For-Beginners/discussions).
[![Introduktion til ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduktion til ML")
[![Introduction to ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduction to ML")
> 🎥 Klik på billedet ovenfor for en video: MIT's John Guttag introducerer maskinlæring
---
## Kom godt i gang med maskinlæring
Før du starter med dette pensum, skal du have din computer klar til at køre notebooks lokalt.
Før du starter med dette pensum, skal din computer være opsat og klar til at køre notebooks lokalt.
- **Konfigurer din computer med disse videoer**. Brug følgende links til at lære [hvordan man installerer Python](https://youtu.be/CXZYvNRIAKM) på dit system og [opsætter en teksteditor](https://youtu.be/EU8eayHWoZg) til udvikling.
- **Lær Python**. Det anbefales også at have en grundlæggende forståelse af [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), et programmeringssprog, der er nyttigt for dataforskere, og som vi bruger i dette kursus.
- **Lær Node.js og JavaScript**. Vi bruger også JavaScript et par gange i dette kursus, når vi bygger webapplikationer, så du skal have [node](https://nodejs.org) og [npm](https://www.npmjs.com/) installeret samt [Visual Studio Code](https://code.visualstudio.com/) til både Python- og JavaScript-udvikling.
- **Opret en GitHub-konto**. Da du fandt os her på [GitHub](https://github.com), har du måske allerede en konto, men hvis ikke, så opret en og fork derefter dette pensum til brug for dig selv. (Du er også velkommen til at give os en stjerne 😊)
- **Udforsk Scikit-learn**. Bliv bekendt med [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), et sæt ML-biblioteker, som vi refererer til i disse lektioner.
- **Konfigurer din maskine med disse videoer**. Brug følgende links til at lære [hvordan man installerer Python](https://youtu.be/CXZYvNRIAKM) på dit system og [opsæt en teksteditor](https://youtu.be/EU8eayHWoZg) til udvikling.
- **Lær Python**. Det anbefales også at have en grundlæggende forståelse af [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), et programmeringssprog nyttigt for dataloger, som vi bruger i dette kursus.
- **Lær Node.js og JavaScript**. Vi bruger også JavaScript et par gange i dette kursus, når vi bygger webapps, så du skal have [node](https://nodejs.org) og [npm](https://www.npmjs.com/) installeret, samt have [Visual Studio Code](https://code.visualstudio.com/) tilgængeligt til både Python- og JavaScript-udvikling.
- **Opret en GitHub-konto**. Da du fandt os her på [GitHub](https://github.com), har du måske allerede en konto, men hvis ikke, opret en og lav derefter en fork af dette pensum til brug på egen hånd. (Du er også velkommen til at give os en stjerne 😊)
- **Udforsk Scikit-learn**. Sæt dig ind i [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), et sæt ML-biblioteker, som vi refererer til i disse lektioner.
---
## Hvad er maskinlæring?
Begrebet 'maskinlæring' er et af de mest populære og ofte anvendte begreber i dag. Der er en ikke ubetydelig sandsynlighed for, at du har hørt dette begreb mindst én gang, hvis du har en vis form for kendskab til teknologi, uanset hvilket område du arbejder inden for. Mekanikken bag maskinlæring er dog en gåde for de fleste mennesker. For en nybegynder inden for maskinlæring kan emnet nogle gange føles overvældende. Derfor er det vigtigt at forstå, hvad maskinlæring egentlig er, og at lære om det trin for trin gennem praktiske eksempler.
Udtrykket 'maskinlæring' er et af de mest populære og ofte anvendte begreber i dag. Der er en ikke-triviel mulighed for, at du har hørt dette begreb mindst én gang, hvis du har nogen form for kendskab til teknologi, uanset hvilket område du arbejder indenfor. Mekanikken bag maskinlæring er dog et mysterium for de fleste. For en maskinlæringsbegynder kan emnet nogle gange føles overvældende. Derfor er det vigtigt at forstå, hvad maskinlæring faktisk er, og at lære om det trin for trin gennem praktiske eksempler.
---
## Hypekurven
## Hype-kurven
![ml hype curve](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/da/hype.07183d711a17aafe.webp)
> Google Trends viser den seneste 'hypekurve' for begrebet 'maskinlæring'
> Google Trends viser den seneste 'hypekurve' for udtrykket 'maskinlæring'
---
## Et mystisk univers
Vi lever i et univers fyldt med fascinerende mysterier. Store videnskabsfolk som Stephen Hawking, Albert Einstein og mange flere har viet deres liv til at søge meningsfuld information, der afslører mysterierne i verden omkring os. Dette er den menneskelige tilstand af læring: Et menneskebarn lærer nye ting og opdager strukturen i deres verden år for år, mens de vokser op.
Vi lever i et univers fuldt af fascinerende mysterier. Store videnskabsfolk som Stephen Hawking, Albert Einstein og mange flere har viet deres liv til at søge meningsfuld information, der afdækker mysterierne i verden omkring os. Dette er den menneskelige lærings tilstand: et menneskebarn lærer nye ting og afdækker strukturen i sin verden år for år, mens det vokser op til voksen.
---
## Barnets hjerne
Et barns hjerne og sanser opfatter fakta om deres omgivelser og lærer gradvist de skjulte mønstre i livet, som hjælper barnet med at skabe logiske regler for at identificere lærte mønstre. Den menneskelige hjernes læringsproces gør mennesker til de mest sofistikerede levende væsener i denne verden. At lære kontinuerligt ved at opdage skjulte mønstre og derefter innovere på disse mønstre gør os i stand til at forbedre os selv gennem hele livet. Denne læringskapacitet og evne til at udvikle sig er relateret til et koncept kaldet [hjernens plasticitet](https://www.simplypsychology.org/brain-plasticity.html). Overfladisk kan vi drage nogle motiverende ligheder mellem den menneskelige hjernes læringsproces og begreberne inden for maskinlæring.
Et barns hjerne og sanser opfatter fakta fra omgivelserne og lærer gradvist livets skjulte mønstre, som hjælper barnet med at skabe logiske regler til at identificere lærte mønstre. Læringsprocessen i den menneskelige hjerne gør mennesker til den mest sofistikerede levende skabning i denne verden. At lære kontinuerligt ved at opdage skjulte mønstre og derefter innovere ud fra disse mønstre gør det muligt for os at gøre os selv bedre og bedre gennem livet. Denne læringsevne og udviklende kapacitet relaterer til et begreb kaldet [hjernes plasticitet](https://www.simplypsychology.org/brain-plasticity.html). Overfladisk kan vi drage nogle motiverende ligheder mellem den menneskelige hjernes læringsproces og konceptet maskinlæring.
---
## Den menneskelige hjerne
Den [menneskelige hjerne](https://www.livescience.com/29365-human-brain.html) opfatter ting fra den virkelige verden, behandler den opfattede information, træffer rationelle beslutninger og udfører visse handlinger baseret på omstændighederne. Dette kalder vi at opføre sig intelligent. Når vi programmerer en efterligning af den intelligente adfærdsproces til en maskine, kaldes det kunstig intelligens (AI).
Den [menneskelige hjerne](https://www.livescience.com/29365-human-brain.html) opfatter ting fra den virkelige verden, bearbejder den opfattede information, træffer rationelle beslutninger og udfører visse handlinger baseret på omstændighederne. Det er det, vi kalder at opføre sig intelligent. Når vi programmerer en efterligning af denne intelligente adfærdsproces til en maskine, kaldes det kunstig intelligens (AI).
---
## Nogle terminologier
## Nogle begreber
Selvom begreberne kan forveksles, er maskinlæring (ML) en vigtig underkategori af kunstig intelligens. **ML handler om at bruge specialiserede algoritmer til at finde meningsfuld information og opdage skjulte mønstre fra opfattet data for at understøtte den rationelle beslutningsproces**.
Selvom begreberne kan forveksles, er maskinlæring (ML) en vigtig delmængde af kunstig intelligens. **ML handler om at bruge specialiserede algoritmer til at afdække meningsfuld information og finde skjulte mønstre fra opfattede data for at understøtte den rationelle beslutningsproces**.
---
## AI, ML, Deep Learning
![AI, ML, deep learning, data science](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, deep learning, data science](../../../../translated_images/da/ai-ml-ds.537ea441b124ebf6.webp)
> Et diagram, der viser forholdet mellem AI, ML, deep learning og data science. Infografik af [Jen Looper](https://twitter.com/jenlooper) inspireret af [denne grafik](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
> Et diagram, der viser sammenhængen mellem AI, ML, deep learning og data science. Infografik af [Jen Looper](https://twitter.com/jenlooper) inspireret af [denne grafik](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
---
## Begreber, vi vil dække
## Begreber vi vil dække
I dette pensum vil vi kun dække de grundlæggende begreber inden for maskinlæring, som en nybegynder skal kende. Vi dækker det, vi kalder 'klassisk maskinlæring', primært ved hjælp af Scikit-learn, et fremragende bibliotek, som mange studerende bruger til at lære det grundlæggende. For at forstå bredere begreber inden for kunstig intelligens eller deep learning er en stærk grundlæggende viden om maskinlæring uundværlig, og det vil vi gerne tilbyde her.
I dette pensum vil vi kun dække de grundlæggende begreber inden for maskinlæring, som en begynder skal kende. Vi dækker det, vi kalder 'klassisk maskinlæring', primært ved brug af Scikit-learn, et fremragende bibliotek, som mange studerende bruger til at lære det grundlæggende. For at forstå bredere begreber inden for kunstig intelligens eller deep learning er en stærk grundlæggende viden om maskinlæring uundværlig, og derfor vil vi tilbyde den her.
---
## I dette kursus vil du lære:
- grundlæggende begreber inden for maskinlæring
- historien om ML
- ML og retfærdighed
- regressionsteknikker inden for ML
- klassifikationsteknikker inden for ML
- clusteringteknikker inden for ML
- naturlig sprogbehandlingsteknikker inden for ML
- tidsserieprognoseteknikker inden for ML
- ML og fairness
- regressions ML-teknikker
- klassifikations ML-teknikker
- clustering ML-teknikker
- naturlig sprogbehandling ML-teknikker
- tidsserieprognose ML-teknikker
- forstærkningslæring
- virkelige anvendelser af ML
@ -90,21 +90,26 @@ I dette pensum vil vi kun dække de grundlæggende begreber inden for maskinlær
- neurale netværk
- AI
For at skabe en bedre læringsoplevelse vil vi undgå kompleksiteten af neurale netværk, 'deep learning' - opbygning af modeller med mange lag ved hjælp af neurale netværk - og AI, som vi vil diskutere i et andet pensum. Vi vil også tilbyde et kommende pensum om data science for at fokusere på den del af dette større felt.
For at give en bedre læringsoplevelse vil vi undgå kompleksiteterne ved neurale netværk, 'deep learning' - mange-lags modelbygning ved hjælp af neurale netværk - og AI, som vi vil diskutere i et andet pensum. Vi vil også tilbyde et kommende data science-pensum til at fokusere på den del af dette større felt.
---
## Hvorfor studere maskinlæring?
Maskinlæring, fra et systemperspektiv, defineres som skabelsen af automatiserede systemer, der kan lære skjulte mønstre fra data for at hjælpe med at træffe intelligente beslutninger.
Maskinlæring defineres fra et systemperspektiv som skabelsen af automatiserede systemer, der kan lære skjulte mønstre fra data for at hjælpe med at træffe intelligente beslutninger.
Denne motivation er løst inspireret af, hvordan den menneskelige hjerne lærer visse ting baseret på de data, den opfatter fra omverdenen.
Denne motivation er løst inspireret af, hvordan den menneskelige hjerne lærer visse ting baseret på de data, den opfatter fra den ydre verden.
✅ Tænk et øjeblik over, hvorfor en virksomhed ville ønske at bruge maskinlæringsstrategier i stedet for at skabe en hardkodet regelbaseret motor.
✅ Tænk et øjeblik over, hvorfor en virksomhed skulle ønske at bruge maskinlæringsstrategier fremfor at lave en hårdkodet, regelsbaseret motor.
---
## Hvorfor datakvalitet betyder noget
Data af høj kvalitet forbedrer modellernes præstation. Dårlige eller støjende data kan føre til unøjagtige forudsigelser, selv ved brug af avancerede maskinlæringsalgoritmer.
---
## Anvendelser af maskinlæring
Anvendelser af maskinlæring er nu næsten overalt og er lige så udbredte som de data, der flyder rundt i vores samfund, genereret af vores smartphones, tilsluttede enheder og andre systemer. I betragtning af det enorme potentiale i avancerede maskinlæringsalgoritmer har forskere udforsket deres evne til at løse multidimensionale og tværfaglige virkelige problemer med store positive resultater.
Anvendelser af maskinlæring findes nu næsten overalt og er lige så allestedsnærværende som de data, der flyder rundt i vores samfund, genereret af vores smartphones, forbundne enheder og andre systemer. Givet det enorme potentiale i moderne maskinlæringsalgoritmer har forskere udforsket deres evne til at løse multidimensionelle og tværfaglige virkelige problemer med gode positive resultater.
---
## Eksempler på anvendt ML
@ -116,28 +121,28 @@ Anvendelser af maskinlæring er nu næsten overalt og er lige så udbredte som d
- Til at forstå sentimentet i en tekst.
- Til at opdage falske nyheder for at stoppe spredningen af propaganda.
Finans, økonomi, jordvidenskab, rumforskning, biomedicinsk ingeniørkunst, kognitiv videnskab og endda områder inden for humaniora har tilpasset maskinlæring til at løse de tunge databehandlingsproblemer i deres domæne.
Finance, økonomi, jordvidenskab, rumforskning, biomedicinsk ingeniørkunst, kognitiv videnskab og endda humaniora har tilpasset maskinlæring til at løse de krævende databehandlingsproblemer i deres områder.
---
## Konklusion
Maskinlæring automatiserer processen med mønsteropdagelse ved at finde meningsfulde indsigter fra virkelige eller genererede data. Det har vist sig at være yderst værdifuldt inden for forretning, sundhed og finansielle anvendelser, blandt andre.
Maskinlæring automatiserer processen med mønstergenkendelse ved at finde meningsfulde indsigter fra virkelige eller genererede data. Det har vist sig at være yderst værdifuldt i forretning, sundhed og finansielle anvendelser, blandt andre.
I den nærmeste fremtid vil det at forstå det grundlæggende i maskinlæring blive et must for folk fra alle områder på grund af dets udbredte anvendelse.
I den nærmeste fremtid vil det at forstå grundlæggende maskinlæring være et must for folk fra alle områder på grund af dens udbredte anvendelse.
---
# 🚀 Udfordring
Lav en skitse, enten på papir eller ved hjælp af en online app som [Excalidraw](https://excalidraw.com/), af din forståelse af forskellene mellem AI, ML, deep learning og data science. Tilføj nogle idéer om problemer, som hver af disse teknikker er gode til at løse.
Skitsér på papir eller ved hjælp af en online-app som [Excalidraw](https://excalidraw.com/) din forståelse af forskellene mellem AI, ML, deep learning og data science. Tilføj nogle ideer om problemer, som hver af disse teknikker er gode til at løse.
# [Quiz efter lektionen](https://ff-quizzes.netlify.app/en/ml/)
---
# Gennemgang & Selvstudie
# Gennemgang & Selvstudium
For at lære mere om, hvordan du kan arbejde med ML-algoritmer i skyen, følg denne [Learning Path](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott).
Tag en [Learning Path](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) om det grundlæggende i ML.
Tag en [Learning Path](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) om det grundlæggende inden for ML.
---
# Opgave
@ -146,5 +151,7 @@ Tag en [Learning Path](https://docs.microsoft.com/learn/modules/introduction-to-
---
**Ansvarsfraskrivelse**:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på at opnå nøjagtighed, skal det bemærkes, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfraskrivelse**:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,116 +1,117 @@
# Introduktion til clustering
# Introduktion til klyngedannelse
Clustering er en type [Unsupervised Learning](https://wikipedia.org/wiki/Unsupervised_learning), der antager, at et datasæt er ulabeleret, eller at dets input ikke er matchet med foruddefinerede output. Det bruger forskellige algoritmer til at sortere gennem ulabeleret data og levere grupperinger baseret på mønstre, det identificerer i dataene.
Klyngedannelse er en type [Unsupervised Learning](https://wikipedia.org/wiki/Unsupervised_learning), som antager, at et datasæt er uden etiketter, eller at dets input ikke er matchet med foruddefinerede output. Det bruger forskellige algoritmer til at sortere gennem uetiketterede data og levere grupperinger i henhold til mønstre, det skelner i dataene.
[![No One Like You af PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You af PSquare")
[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")
> 🎥 Klik på billedet ovenfor for en video. Mens du studerer maskinlæring med clustering, kan du nyde nogle nigerianske Dance Hall-numre - dette er en højt vurderet sang fra 2014 af PSquare.
> 🎥 Klik på billedet ovenfor for en video. Mens du studerer maskinlæring med klyngedannelse, kan du nyde nogle nigerianske Dance Hall-numre - dette er en højt vurderet sang fra 2014 af PSquare.
## [Quiz før forelæsning](https://ff-quizzes.netlify.app/en/ml/)
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
### Introduktion
[Clustering](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) er meget nyttigt til dataudforskning. Lad os se, om det kan hjælpe med at opdage tendenser og mønstre i den måde, nigerianske publikum forbruger musik på.
[Clustering](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) er meget nyttig til dataudforskning. Lad os se, om det kan hjælpe med at opdage tendenser og mønstre i den måde, nigerianske publikum forbruger musik på.
✅ Tag et øjeblik til at tænke over anvendelserne af clustering. I hverdagen sker clustering, når du har en bunke vasketøj og skal sortere familiens tøj 🧦👕👖🩲. I datavidenskab sker clustering, når man forsøger at analysere en brugers præferencer eller bestemme egenskaberne for et ulabeleret datasæt. Clustering hjælper på en måde med at skabe orden i kaos, som en sokkeskuffe.
✅ Tag et minut til at tænke på anvendelserne af klyngedannelse. I det virkelige liv sker klyngedannelse, når du har en bunke vasketøj og skal sortere dine familiemedlemmers tøj 🧦👕👖🩲. I datavidenskab sker klyngedannelse, når man forsøger at analysere en brugers præferencer eller bestemme karakteristika for et hvilket som helst uetiketteret datasæt. Klyngedannelse hjælper på en måde med at skabe mening i kaos, som en sokkeskuffe.
[![Introduktion til ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduktion til Clustering")
[![Introduction to ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduction to Clustering")
> 🎥 Klik på billedet ovenfor for en video: MIT's John Guttag introducerer clustering
> 🎥 Klik på billedet ovenfor for en video: MIT's John Guttag introducerer klyngedannelse
I en professionel kontekst kan clustering bruges til at bestemme ting som markedssegmentering, f.eks. hvilke aldersgrupper der køber hvilke varer. En anden anvendelse kunne være anomalidetektion, måske for at opdage svindel i et datasæt med kreditkorttransaktioner. Eller du kunne bruge clustering til at identificere tumorer i en samling af medicinske scanninger.
I en professionel sammenhæng kan klyngedannelse bruges til at bestemme ting som markedsssegmentation, for eksempel at bestemme, hvilke aldersgrupper der køber hvilke varer. En anden anvendelse kan være anomalidetektion, måske for at opdage svindel i et datasæt af kreditkorttransaktioner. Eller du kan bruge klyngedannelse til at bestemme tumorer i en række medicinske scanninger.
✅ Tænk et øjeblik over, hvordan du måske har stødt på clustering 'i det virkelige liv', i en bank-, e-handels- eller forretningskontekst.
✅ Tænk et minut over, hvordan du måske har mødt klyngedannelse 'i det fri', i en bank-, e-handels- eller forretningssammenhæng.
> 🎓 Interessant nok stammer clusteranalyse fra antropologi og psykologi i 1930'erne. Kan du forestille dig, hvordan det kunne være blevet brugt?
> 🎓 Interessant nok stammer klyngeanalyse fra antropologi og psykologi i 1930'erne. Kan du forestille dig, hvordan det kunne være blevet brugt?
Alternativt kunne du bruge det til at gruppere søgeresultater - f.eks. efter shoppinglinks, billeder eller anmeldelser. Clustering er nyttigt, når du har et stort datasæt, som du vil reducere og udføre mere detaljeret analyse på, så teknikken kan bruges til at lære om data, før andre modeller konstrueres.
Alternativt kunne du bruge det til at gruppere søgeresultater - for eksempel efter shoppinglinks, billeder eller anmeldelser. Klyngedannelse er nyttig, når du har et stort datasæt, du ønsker at reducere og foretage en mere detaljeret analyse på, så teknikken kan bruges til at lære om data, før andre modeller konstrueres.
✅ Når dine data er organiseret i klynger, tildeler du dem et cluster-id, og denne teknik kan være nyttig til at bevare et datasæts privatliv; du kan i stedet referere til et datapunkt ved dets cluster-id frem for mere afslørende identificerbare data. Kan du komme på andre grunde til, hvorfor du ville referere til et cluster-id frem for andre elementer i klyngen for at identificere det?
✅ Når dine data er organiseret i klynger, tildeler du dem et klynge-ID, og denne teknik kan være nyttig, når man bevarer et datasæts privatliv; du kan i stedet henvise til et datapunkt ved dets klynge-ID i stedet for ved mere afslørende identificerende data. Kan du komme i tanke om andre grunde til, at du vil henvise til et klynge-ID frem for andre elementer i klyngen for at identificere det?
Uddyb din forståelse af clustering-teknikker i dette [Learn-modul](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott)
Dyk dybere ned i din forståelse af klyngedannelsesteknikker i denne [Learn-modul](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott)
## Kom godt i gang med clustering
## Kom godt i gang med klyngedannelse
[Scikit-learn tilbyder et stort udvalg](https://scikit-learn.org/stable/modules/clustering.html) af metoder til at udføre clustering. Den type, du vælger, afhænger af din anvendelsessituation. Ifølge dokumentationen har hver metode forskellige fordele. Her er en forenklet tabel over de metoder, der understøttes af Scikit-learn, og deres passende anvendelsessituationer:
[Scikit-learn tilbyder et stort udvalg](https://scikit-learn.org/stable/modules/clustering.html) af metoder til at udføre klyngedannelse. Den type, du vælger, afhænger af din brugssag. Ifølge dokumentationen har hver metode forskellige fordele. Her er en forenklet tabel over metoderne, som Scikit-learn understøtter, og deres passende anvendelsestilfælde:
| Metodenavn | Anvendelsessituation |
| Metodenavn | Anvendelsestilfælde |
| :--------------------------- | :-------------------------------------------------------------------- |
| K-Means | generelt formål, induktiv |
| Affinity propagation | mange, ujævne klynger, induktiv |
| Mean-shift | mange, ujævne klynger, induktiv |
| Spectral clustering | få, jævne klynger, transduktiv |
| Ward hierarchical clustering | mange, begrænsede klynger, transduktiv |
| Agglomerative clustering | mange, begrænsede, ikke-Euklidiske afstande, transduktiv |
| Spektral klyngedannelse | få, lige klynger, transduktiv |
| Ward hierarkisk klyngedannelse | mange, begrænsede klynger, transduktiv |
| Agglomerativ klyngedannelse | mange, begrænsede, ikke-euklidiske afstande, transduktiv |
| DBSCAN | ikke-flad geometri, ujævne klynger, transduktiv |
| OPTICS | ikke-flad geometri, ujævne klynger med variabel tæthed, transduktiv |
| Gaussian mixtures | flad geometri, induktiv |
| BIRCH | stort datasæt med outliers, induktiv |
| Gaussian mixtures | flad geometri, induktiv |
| BIRCH | stort datasæt med udliggere, induktiv |
> 🎓 Hvordan vi skaber klynger har meget at gøre med, hvordan vi samler datapunkterne i grupper. Lad os pakke noget terminologi ud:
> 🎓 Hvordan vi skaber klynger har meget at gøre med, hvordan vi samler datapunkterne i grupper. Lad os pakke noget jargon ud:
>
> 🎓 ['Transduktiv' vs. 'induktiv'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> Transduktiv inferens er afledt af observerede træningstilfælde, der kortlægges til specifikke testtilfælde. Induktiv inferens er afledt af træningstilfælde, der kortlægges til generelle regler, som først derefter anvendes på testtilfælde.
> Transduktiv inferens er afledt af observerede træningstilfælde, der kortlægger til specifikke testtilfælde. Induktiv inferens er afledt af træningstilfælde, der kortlægger til generelle regler, som først derefter anvendes på testtilfælde.
>
> Et eksempel: Forestil dig, at du har et datasæt, der kun delvist er labeleret. Nogle ting er 'plader', nogle 'cd'er', og nogle er tomme. Din opgave er at give labels til de tomme. Hvis du vælger en induktiv tilgang, ville du træne en model, der leder efter 'plader' og 'cd'er', og anvende disse labels på dine ulabelerede data. Denne tilgang vil have svært ved at klassificere ting, der faktisk er 'kassetter'. En transduktiv tilgang, derimod, håndterer disse ukendte data mere effektivt, da den arbejder på at gruppere lignende ting sammen og derefter anvender en label til en gruppe. I dette tilfælde kunne klynger afspejle 'runde musikting' og 'firkantede musikting'.
> Et eksempel: Forestil dig, at du har et datasæt, der kun er delvist mærket. Nogle ting er 'plader', nogle 'cd'er', og nogle er blanke. Din opgave er at give etiketter til de blanke. Hvis du vælger en induktiv tilgang, vil du træne en model, der leder efter 'plader' og 'cd'er', og anvende de etiketter på dine uetiketterede data. Denne tilgang vil have problemer med at klassificere ting, der faktisk er 'kassetter'. En transduktiv tilgang håndterer derimod disse ukendte data mere effektivt, da den arbejder på at gruppere lignende objekter sammen og derefter anvender en etiket til en gruppe. I dette tilfælde kan klynger afspejle 'runde musikgenstande' og 'firkantede musikgenstande'.
>
> 🎓 ['Ikke-flad' vs. 'flad' geometri](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering)
>
> Afledt af matematisk terminologi refererer ikke-flad vs. flad geometri til målingen af afstande mellem punkter ved enten 'flade' ([Euklidiske](https://wikipedia.org/wiki/Euclidean_geometry)) eller 'ikke-flade' (ikke-Euklidiske) geometriske metoder.
> Afledt af matematisk terminologi henviser ikke-flad vs. flad geometri til måling af afstande mellem punkter ved enten 'flad' ([Euclidisk](https://wikipedia.org/wiki/Euclidean_geometry)) eller 'ikke-flad' (ikke-Euclidisk) geometriske metoder.
>
>'Flad' i denne sammenhæng refererer til Euklidisk geometri (dele af det undervises som 'plan' geometri), og ikke-flad refererer til ikke-Euklidisk geometri. Hvad har geometri med maskinlæring at gøre? Som to felter, der er rodfæstet i matematik, skal der være en fælles måde at måle afstande mellem punkter i klynger, og det kan gøres på en 'flad' eller 'ikke-flad' måde, afhængigt af dataens natur. [Euklidiske afstande](https://wikipedia.org/wiki/Euclidean_distance) måles som længden af en linjesegment mellem to punkter. [Ikke-Euklidiske afstande](https://wikipedia.org/wiki/Non-Euclidean_geometry) måles langs en kurve. Hvis dine data, visualiseret, synes ikke at eksistere på et plan, kan du have brug for en specialiseret algoritme til at håndtere det.
> 'Flad' i denne sammenhæng refererer til Euclidisk geometri (dele af hvilken læres som 'plan'-geometri), og ikke-flad refererer til ikke-Euclidisk geometri. Hvad har geometri at gøre med maskinlæring? Nå, som to felter der er rodfæstet i matematik, må der være en fælles måde at måle afstande mellem punkter i klynger, og det kan gøres på en 'flad' eller 'ikke-flad' måde, afhængigt af dataenes natur. [Euclidiske afstande](https://wikipedia.org/wiki/Euclidean_distance) måles som længden af en linjesegment mellem to punkter. [Ikke-Euclidiske afstande](https://wikipedia.org/wiki/Non-Euclidean_geometry) måles langs en kurve. Hvis dine data, visualiseret, ser ud til ikke at eksistere på et plan, kan det være nødvendigt at bruge en specialiseret algoritme til at håndtere det.
>
![Flad vs Ikke-flad Geometri Infografik](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
> ![Flat vs Nonflat Geometry Infographic](../../../../translated_images/da/flat-nonflat.d1c8c6e2a96110c1.webp)
> Infografik af [Dasani Madipalli](https://twitter.com/dasani_decoded)
>
> 🎓 ['Afstande'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
>
> Klynger defineres af deres afstandsmatrix, f.eks. afstandene mellem punkter. Denne afstand kan måles på flere måder. Euklidiske klynger defineres af gennemsnittet af punktværdierne og indeholder et 'centroid' eller midtpunkt. Afstande måles således ved afstanden til dette centroid. Ikke-Euklidiske afstande refererer til 'clustroids', punktet tættest på andre punkter. Clustroids kan igen defineres på forskellige måder.
> Klynger defineres ved deres afstandsmatrix, f.eks. afstandene mellem punkter. Denne afstand kan måles på flere måder. Euclidiske klynger defineres ved gennemsnittet af punkternes værdier, og indeholder et 'centroid' eller midtpunkt. Afstande måles således som afstanden til dette centroid. Ikke-euclidiske afstande refererer til 'clustroids', punktet tættest på andre punkter. Clustroids kan i øvrigt defineres på forskellige måder.
>
> 🎓 ['Begrænset'](https://wikipedia.org/wiki/Constrained_clustering)
>
> [Begrænset Clustering](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introducerer 'semi-supervised' læring i denne unsupervised metode. Forholdene mellem punkter markeres som 'kan ikke linkes' eller 'skal linkes', så nogle regler tvinges på datasættet.
> [Begrænset klyngedannelse](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introducerer 'semi-supervised' læring i denne unsupervised metode. Relationerne mellem punkter markeres som 'cannot link' eller 'must-link', så nogle regler påtvinges datasættet.
>
>Et eksempel: Hvis en algoritme sættes fri på en batch af ulabelerede eller semi-labelerede data, kan de klynger, den producerer, være af dårlig kvalitet. I eksemplet ovenfor kunne klyngerne gruppere 'runde musikting' og 'firkantede musikting' og 'trekantede ting' og 'kager'. Hvis der gives nogle begrænsninger eller regler at følge ("genstanden skal være lavet af plastik", "genstanden skal kunne producere musik"), kan dette hjælpe med at 'begrænse' algoritmen til at træffe bedre valg.
> Et eksempel: Hvis en algoritme sættes fri på et parti uetiketteret eller semi-etiketteret data, kan de klynger, den producerer, være af dårlig kvalitet. I eksemplet ovenfor kunne klyngerne gruppere 'runde musikgenstande' og 'firkantede musikgenstande' og 'trekantede ting' og 'kager'. Hvis den får nogle begrænsninger eller regler at følge ("genstanden skal være lavet af plastik", "genstanden skal kunne producere musik"), kan dette hjælpe med at 'begrænse' algoritmen til at træffe bedre valg.
>
> 🎓 'Tæthed'
>
> Data, der er 'støjende', betragtes som 'tæt'. Afstandene mellem punkter i hver af dets klynger kan vise sig, ved undersøgelse, at være mere eller mindre tætte eller 'overfyldte', og derfor skal disse data analyseres med den passende clustering-metode. [Denne artikel](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) demonstrerer forskellen mellem at bruge K-Means clustering vs. HDBSCAN-algoritmer til at udforske et støjende datasæt med ujævn klyngedensitet.
> Data, der er 'støjende', betragtes som 'tætte'. Afstandene mellem punkterne i hver af dets klynger kan ved undersøgelse vise sig at være mere eller mindre tætte eller 'tætpakkede', og derfor skal disse data analyseres med den passende klyngedannelsesmetode. [Denne artikel](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) demonstrerer forskellen mellem at bruge K-Means klyngedannelse vs. HDBSCAN algoritmer til at udforske et støjende datasæt med ujævn klyngedensitet.
## Clustering-algoritmer
## Klyngedannelsesalgoritmer
Der findes over 100 clustering-algoritmer, og deres anvendelse afhænger af dataens natur. Lad os diskutere nogle af de vigtigste:
Der findes over 100 klyngedannelsesalgoritmer, og deres anvendelse afhænger af dataenes natur. Lad os diskutere nogle af de vigtigste:
- **Hierarkisk clustering**. Hvis et objekt klassificeres efter dets nærhed til et nærliggende objekt frem for et længere væk, dannes klynger baseret på deres medlemmers afstand til og fra andre objekter. Scikit-learns agglomerative clustering er hierarkisk.
- **Hierarkisk klyngedannelse**. Hvis et objekt klassificeres ud fra sin nærhed til et nærliggende objekt, snarere end til et længere væk, dannes klynger baseret på deres medlemmers afstand til og fra andre objekter. Scikit-learns agglomerative klyngedannelse er hierarkisk.
![Hierarkisk clustering Infografik](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
![Hierarchical clustering Infographic](../../../../translated_images/da/hierarchical.bf59403aa43c8c47.webp)
> Infografik af [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **Centroid clustering**. Denne populære algoritme kræver valg af 'k', eller antallet af klynger, der skal dannes, hvorefter algoritmen bestemmer midtpunktet for en klynge og samler data omkring dette punkt. [K-means clustering](https://wikipedia.org/wiki/K-means_clustering) er en populær version af centroid clustering. Midtpunktet bestemmes af det nærmeste gennemsnit, deraf navnet. Den kvadrerede afstand fra klyngen minimeres.
- **Centroid klyngedannelse**. Denne populære algoritme kræver valget af 'k', eller antallet af klynger, der skal dannes, hvorefter algoritmen bestemmer klyngens midtpunkt og samler data omkring dette punkt. [K-means klyngedannelse](https://wikipedia.org/wiki/K-means_clustering) er en populær version af centroidklyngedannelse. Midtpunktet bestemmes af det nærmeste gennemsnit, deraf navnet. Den kvadrerede afstand fra klyngen minimeres.
![Centroid clustering Infografik](../../../../5-Clustering/1-Visualize/images/centroid.png)
![Centroid clustering Infographic](../../../../translated_images/da/centroid.097fde836cf6c918.webp)
> Infografik af [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **Distributionsbaseret clustering**. Baseret på statistisk modellering fokuserer distributionsbaseret clustering på at bestemme sandsynligheden for, at et datapunkt tilhører en klynge, og tildeler det derefter. Gaussian mixture-metoder tilhører denne type.
- **Fordelingsbaseret klyngedannelse**. Baseret på statistisk modellering fokuserer fordelingsbaseret klyngedannelse på at bestemme sandsynligheden for, at et datapunkt tilhører en klynge, og tildeler det derpå. Gaussiske blandingsmetoder hører til denne type.
- **Tæthetsbaseret clustering**. Datapunkter tildeles klynger baseret på deres tæthed eller deres gruppering omkring hinanden. Datapunkter langt fra gruppen betragtes som outliers eller støj. DBSCAN, Mean-shift og OPTICS tilhører denne type clustering.
- **Tæthetsbaseret klyngedannelse**. Datapunkter tildeles klynger baseret på deres tæthed eller deres gruppering omkring hinanden. Datapunkter langt fra gruppen betragtes som udliggere eller støj. DBSCAN, Mean-shift og OPTICS hører til denne type klyngedannelse.
- **Grid-baseret clustering**. For multidimensionelle datasæt oprettes et gitter, og dataene opdeles blandt gitterets celler, hvilket skaber klynger.
- **Gitterbaseret klyngedannelse**. For multidimensionale datasæt oprettes et gitter, og data deles imellem gitterets celler, hvilket danner klynger.
## Øvelse - cluster dine data
## Øvelse - klyng dine data
Clustering som teknik understøttes i høj grad af korrekt visualisering, så lad os komme i gang med at visualisere vores musikdata. Denne øvelse vil hjælpe os med at beslutte, hvilken af metoderne til clustering vi mest effektivt bør bruge til dataens natur.
Klyngedannelse som teknik hjælpes meget af korrekt visualisering, så lad os komme i gang med at visualisere vores musikdata. Denne øvelse hjælper os med at beslutte, hvilken metode til klyngedannelse vi mest effektivt skal bruge til arten af disse data.
1. Åbn filen [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) i denne mappe.
1. Importér pakken `Seaborn` for god datavisualisering.
1. Importer `Seaborn` pakken for god datavisualisering.
```python
!pip install seaborn
```
1. Tilføj sangdataene fra [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Indlæs en dataframe med nogle data om sangene. Gør dig klar til at udforske disse data ved at importere bibliotekerne og udskrive dataene:
1. Vedhæng sangdataene fra [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Indlæs en dataframe med nogle data om sangene. Gør dig klar til at udforske disse data ved at importere bibliotekerne og udskrive dataene:
```python
import matplotlib.pyplot as plt
@ -120,23 +121,24 @@ Clustering som teknik understøttes i høj grad af korrekt visualisering, så la
df.head()
```
Tjek de første par linjer af data:
| | navn | album | kunstner | kunstner_top_genre | udgivelsesdato | længde | popularitet | dansbarhed | akustiskhed | energi | instrumentalisme | livlighed | lydstyrke | talbarhed | tempo | taktart |
| --- | ------------------------ | ---------------------------- | ------------------- | ------------------ | -------------- | ------ | ----------- | ------------ | ------------ | ------ | ---------------- | -------- | -------- | ----------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternativ r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
Tjek de første par linjer med data:
| | name | album | artist | artist_top_genre | release_date | length | popularity | danceability | acousticness | energy | instrumentalness | liveness | loudness | speechiness | tempo | time_signature |
| --- | ------------------------ | ---------------------------- | ------------------- | ---------------- | ------------ | ------ | ---------- | ------------ | ------------ | ------ | ---------------- | -------- | -------- | ----------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
1. Få nogle oplysninger om dataframe ved at kalde `info()`:
1. Få nogle oplysninger om dataframe, ved at kalde `info()`:
```python
df.info()
```
Output ser sådan ud:
Outputtet ser således ud:
```output
<class 'pandas.core.frame.DataFrame'>
@ -164,7 +166,7 @@ Clustering som teknik understøttes i høj grad af korrekt visualisering, så la
memory usage: 66.4+ KB
```
1. Dobbelt-tjek for null-værdier ved at kalde `isnull()` og verificere, at summen er 0:
1. Dobbelttjek for null-værdier ved at kalde `isnull()` og kontrollere summen for at være 0:
```python
df.isnull().sum()
@ -192,7 +194,7 @@ Clustering som teknik understøttes i høj grad af korrekt visualisering, så la
dtype: int64
```
1. Beskriv data:
1. Beskriv dataene:
```python
df.describe()
@ -209,11 +211,11 @@ Clustering som teknik understøttes i høj grad af korrekt visualisering, så la
| 75% | 2017 | 242098.5 | 31 | 0.8295 | 0.403 | 0.87575 | 0.000234 | 0.164 | -3.331 | 0.177 | 125.03925 | 4 |
| max | 2020 | 511738 | 73 | 0.966 | 0.954 | 0.995 | 0.91 | 0.811 | 0.582 | 0.514 | 206.007 | 5 |
> 🤔 Hvis vi arbejder med clustering, en usuperviseret metode, der ikke kræver mærkede data, hvorfor viser vi så disse data med labels? I dataudforskningsfasen er de nyttige, men de er ikke nødvendige for, at clustering-algoritmerne fungerer. Du kunne lige så godt fjerne kolonneoverskrifterne og referere til dataene ved kolonnenummer.
> 🤔 Hvis vi arbejder med clustering, en usuperviseret metode, der ikke kræver mærkede data, hvorfor viser vi så disse data med labels? I dataundersøgelsesfasen er de nyttige, men de er ikke nødvendige for, at clustering-algoritmerne kan fungere. Du kunne ligeså godt fjerne kolonneoverskrifterne og referere til dataene ved kolonnenummer.
Se på de generelle værdier i dataene. Bemærk, at popularitet kan være '0', hvilket viser sange, der ikke har nogen rangering. Lad os fjerne dem snart.
Se på de generelle værdier for dataene. Bemærk, at popularitet kan være '0', hvilket viser sange, der ikke har nogen rangering. Lad os fjerne dem snart.
1. Brug et søjlediagram til at finde de mest populære genrer:
1. Brug et søjlediagram til at finde ud af de mest populære genrer:
```python
import seaborn as sns
@ -225,13 +227,13 @@ Se på de generelle værdier i dataene. Bemærk, at popularitet kan være '0', h
plt.title('Top genres',color = 'blue')
```
![mest populære](../../../../5-Clustering/1-Visualize/images/popular.png)
![mest populære](../../../../translated_images/da/popular.9c48d84b3386705f.webp)
✅ Hvis du vil se flere topværdier, ændr `[:5]` til en større værdi, eller fjern det for at se alle.
✅ Hvis du vil se flere topværdier, kan du ændre toppen `[:5]` til en større værdi eller fjerne den for at se alle.
Bemærk, når den øverste genre er beskrevet som 'Missing', betyder det, at Spotify ikke har klassificeret den, så lad os fjerne den.
Bemærk, når den topgenre, der beskrives som 'Missing', betyder det, at Spotify ikke har klassificeret den, så lad os fjerne den.
1. Fjern manglende data ved at filtrere dem ud
1. Fjern manglende data ved at filtrere det ud
```python
df = df[df['artist_top_genre'] != 'Missing']
@ -242,11 +244,11 @@ Bemærk, når den øverste genre er beskrevet som 'Missing', betyder det, at Spo
plt.title('Top genres',color = 'blue')
```
Tjek nu genrerne igen:
Tjek genrerne igen:
![mest populære](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![mest populære](../../../../translated_images/da/all-genres.1d56ef06cefbfcd6.webp)
1. De tre øverste genrer dominerer klart dette datasæt. Lad os koncentrere os om `afro dancehall`, `afropop` og `nigerian pop`, og yderligere filtrere datasættet for at fjerne alt med en popularitetsværdi på 0 (hvilket betyder, at det ikke blev klassificeret med en popularitet i datasættet og kan betragtes som støj for vores formål):
1. De tre øverste genrer dominerer dette datasæt langt. Lad os koncentrere os om `afro dancehall`, `afropop` og `nigerian pop`, og yderligere filtrere datasættet for at fjerne alt med en popularitet på 0 (hvilket betyder, at det ikke blev klassificeret med popularitet i datasættet og kan betragtes som støj for vores formål):
```python
df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')]
@ -258,7 +260,7 @@ Bemærk, når den øverste genre er beskrevet som 'Missing', betyder det, at Spo
plt.title('Top genres',color = 'blue')
```
1. Lav en hurtig test for at se, om dataene korrelerer på nogen særlig stærk måde:
1. Lav en hurtig test for at se, om dataene korrelerer på en særlig stærk måde:
```python
corrmat = df.corr(numeric_only=True)
@ -266,21 +268,21 @@ Bemærk, når den øverste genre er beskrevet som 'Missing', betyder det, at Spo
sns.heatmap(corrmat, vmax=.8, square=True)
```
![korrelationer](../../../../5-Clustering/1-Visualize/images/correlation.png)
![korrelationer](../../../../translated_images/da/correlation.a9356bb798f5eea5.webp)
Den eneste stærke korrelation er mellem `energy` og `loudness`, hvilket ikke er så overraskende, da høj musik normalt er ret energisk. Ellers er korrelationerne relativt svage. Det vil være interessant at se, hvad en clustering-algoritme kan få ud af disse data.
Den eneste stærke korrelation er mellem `energy` og `loudness`, hvilket ikke er så overraskende, da høj musik normalt er ret energisk. Ellers er korrelationerne relativt svage. Det bliver interessant at se, hvad en clustering-algoritme kan udrette med disse data.
> 🎓 Bemærk, at korrelation ikke indebærer årsagssammenhæng! Vi har bevis for korrelation, men ingen bevis for årsagssammenhæng. En [sjov hjemmeside](https://tylervigen.com/spurious-correlations) har nogle visualiseringer, der understreger dette punkt.
> 🎓 Bemærk, at korrelation ikke antyder årsagssammenhæng! Vi har bevis for korrelation, men ikke bevis for årsagssammenhæng. En [underholdende hjemmeside](https://tylervigen.com/spurious-correlations) viser nogle visualiseringer, der understreger dette punkt.
Er der nogen konvergens i dette datasæt omkring en sangs opfattede popularitet og dansbarhed? En FacetGrid viser, at der er koncentriske cirkler, der stemmer overens, uanset genre. Kunne det være, at nigerianske smag konvergerer på et bestemt niveau af dansbarhed for denne genre?
Er der nogen konvergens i datasættet omkring en sangs opfattede popularitet og dansbarhed? Et FacetGrid viser, at der er koncentriske cirkler, der går i spænd, uanset genre. Kan det være, at Nigerianske smag samles om et bestemt niveau af dansbarhed for denne genre?
✅ Prøv forskellige datapunkter (energy, loudness, speechiness) og flere eller andre musikgenrer. Hvad kan du opdage? Tag et kig på `df.describe()`-tabellen for at se den generelle spredning af datapunkterne.
✅ Prøv forskellige datapunkter (energi, lydstyrke, talthed) og flere eller forskellige musikgenrer. Hvad kan du opdage? Tag et kig på `df.describe()` tabellen for at se den generelle spredning af datapunkterne.
### Øvelse - datafordeling
### Øvelse - dataspredning
Er disse tre genrer markant forskellige i opfattelsen af deres dansbarhed, baseret på deres popularitet?
Er de tre genrer signifikant forskellige i opfattelsen af deres dansbarhed, baseret på deres popularitet?
1. Undersøg datafordelingen for vores tre øverste genrer for popularitet og dansbarhed langs en given x- og y-akse.
1. Undersøg vores tre topgenre dataspredning for popularitet og dansbarhed langs en given x- og y-akse.
```python
sns.set_theme(style="ticks")
@ -294,13 +296,13 @@ Er disse tre genrer markant forskellige i opfattelsen af deres dansbarhed, baser
Du kan opdage koncentriske cirkler omkring et generelt konvergenspunkt, der viser fordelingen af punkter.
> 🎓 Bemærk, at dette eksempel bruger en KDE (Kernel Density Estimate)-graf, der repræsenterer dataene ved hjælp af en kontinuerlig sandsynlighedstæthedskurve. Dette giver os mulighed for at fortolke data, når vi arbejder med flere fordelinger.
> 🎓 Bemærk, at dette eksempel bruger en KDE (Kernel Density Estimate) graf, der repræsenterer data ved hjælp af en kontinuerlig sandsynlighedstæthetskurve. Dette gør det muligt at fortolke data, når man arbejder med flere fordelinger.
Generelt stemmer de tre genrer løst overens med hensyn til deres popularitet og dansbarhed. At bestemme klynger i disse løst tilpassede data vil være en udfordring:
Generelt hænger de tre genrer løst sammen med hensyn til popularitet og dansbarhed. At bestemme klynger i disse løst justerede data bliver en udfordring:
![fordeling](../../../../5-Clustering/1-Visualize/images/distribution.png)
![fordeling](../../../../translated_images/da/distribution.9be11df42356ca95.webp)
1. Lav et scatterplot:
1. Lav et spredningsplot:
```python
sns.FacetGrid(df, hue="artist_top_genre", height=5) \
@ -308,31 +310,33 @@ Er disse tre genrer markant forskellige i opfattelsen af deres dansbarhed, baser
.add_legend()
```
Et scatterplot af de samme akser viser et lignende mønster af konvergens
Et spredningsdiagram af de samme akser viser et lignende mønster af konvergens
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/da/facetgrid.9b2e65ce707eba1f.webp)
Generelt kan du bruge scatterplots til at vise klynger af data, så det er meget nyttigt at mestre denne type visualisering. I næste lektion vil vi tage disse filtrerede data og bruge k-means clustering til at opdage grupper i disse data, der ser ud til at overlappe på interessante måder.
Generelt kan du ved clustering bruge spredningsdiagrammer til at vise klynger af data, så det at mestre denne visualiseringstype er meget nyttigt. I den næste lektion vil vi tage disse filtrerede data og bruge k-means clustering til at opdage grupper i dataene, som synes at overlappe på interessante måder.
---
## 🚀Udfordring
Som forberedelse til næste lektion, lav et diagram over de forskellige clustering-algoritmer, du måske opdager og bruger i et produktionsmiljø. Hvilke slags problemer forsøger clustering at løse?
Som forberedelse til den næste lektion, lav en oversigt over de forskellige clustering-algoritmer, du kan støde på og bruge i et produktionsmiljø. Hvilke slags problemer forsøger clustering at løse?
## [Quiz efter lektion](https://ff-quizzes.netlify.app/en/ml/)
## Gennemgang & Selvstudie
## Review & Selvstudium
Før du anvender clustering-algoritmer, som vi har lært, er det en god idé at forstå naturen af dit datasæt. Læs mere om dette emne [her](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
Før du anvender clustering-algoritmer, som vi har lært, er det en god ide at forstå karakteren af dit datasæt. Læs mere om dette emne [her](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
[Denne nyttige artikel](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) guider dig gennem de forskellige måder, som forskellige clustering-algoritmer opfører sig på, givet forskellige datatyper.
[Denne hjælpsomme artikel](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) guider dig gennem de forskellige måder, som forskellige clustering-algoritmer opfører sig på, givet forskellige datatyper.
## Opgave
[Undersøg andre visualiseringer for clustering](assignment.md)
[Forskning andre visualiseringer for clustering](assignment.md)
---
**Ansvarsfraskrivelse**:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på at sikre nøjagtighed, skal det bemærkes, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfraskrivelse**:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-Introduction/1-intro-to-ML/README.md": {
"original_hash": "69389392fa6346e0dfa30f664b7b6fec",
"translation_date": "2025-09-05T00:31:44+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T23:20:06+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "fi"
},
@ -240,8 +240,8 @@
"language_code": "fi"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-05T00:02:39+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T23:19:36+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "fi"
},

@ -1,87 +1,87 @@
# Johdatus koneoppimiseen
## [Ennakkokysely](https://ff-quizzes.netlify.app/en/ml/)
## [Ennakkoluentokysely](https://ff-quizzes.netlify.app/en/ml/)
---
[![ML aloittelijoille - Johdatus koneoppimiseen aloittelijoille](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML aloittelijoille - Johdatus koneoppimiseen aloittelijoille")
> 🎥 Klikkaa yllä olevaa kuvaa lyhyen videon katsomiseksi, jossa käydään läpi tämän oppitunnin sisältöä.
> 🎥 Klikkaa yllä olevaa kuvaa katsomaan lyhyt video, jossa käydään läpi tämä oppitunti.
Tervetuloa tähän klassisen koneoppimisen kurssiin aloittelijoille! Olitpa täysin uusi tämän aiheen parissa tai kokenut koneoppimisen ammattilainen, joka haluaa kerrata tiettyjä osa-alueita, olemme iloisia, että liityit mukaan! Haluamme luoda ystävällisen lähtökohdan koneoppimisen opiskelullesi ja otamme mielellämme vastaan [palautettasi](https://github.com/microsoft/ML-For-Beginners/discussions).
Tervetuloa tälle kurssille klassisesta koneoppimisesta aloittelijoille! Olitpa täysin uusi aiheessa tai kokenut koneoppimisen harjoittaja, joka haluaa kerrata jotakin aluetta, olemme iloisia, että liityt seuraamme! Haluamme luoda ystävällisen aloituspaikan koneoppimisen opiskelullesi ja otamme mielellämme vastaan, arvioimme ja sisällytämme palautteesi [palautteeseen](https://github.com/microsoft/ML-For-Beginners/discussions).
[![Johdatus koneoppimiseen](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Johdatus koneoppimiseen")
[![Johdatus ML:ään](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Johdatus ML:ään")
> 🎥 Klikkaa yllä olevaa kuvaa videon katsomiseksi: MIT:n John Guttag esittelee koneoppimista
> 🎥 Klikkaa yllä olevaa kuvaa videoon: MIT:n John Guttag esittelee koneoppimisen
---
## Koneoppimisen aloittaminen
Ennen kuin aloitat tämän kurssin, sinun tulee varmistaa, että tietokoneesi on valmis ajamaan muistikirjoja paikallisesti.
Ennen kuin aloitat tämän opetussuunnitelman, sinun täytyy saada tietokoneesi käyttövalmiiksi ja pystyä suorittamaan muistikirjoja paikallisesti.
- **Konfiguroi koneesi näiden videoiden avulla**. Käytä seuraavia linkkejä oppiaksesi [Pythonin asentamisen](https://youtu.be/CXZYvNRIAKM) järjestelmääsi ja [tekstieditorin asettamisen](https://youtu.be/EU8eayHWoZg) kehitystä varten.
- **Opiskele Pythonia**. On myös suositeltavaa, että sinulla on perustiedot [Pythonista](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), ohjelmointikielestä, joka on hyödyllinen datatieteilijöille ja jota käytämme tässä kurssissa.
- **Opiskele Node.js ja JavaScript**. Käytämme JavaScriptiä muutaman kerran tässä kurssissa web-sovellusten rakentamiseen, joten sinun tulee asentaa [node](https://nodejs.org) ja [npm](https://www.npmjs.com/), sekä [Visual Studio Code](https://code.visualstudio.com/) Python- ja JavaScript-kehitystä varten.
- **Luo GitHub-tili**. Koska löysit meidät [GitHubista](https://github.com), sinulla saattaa jo olla tili, mutta jos ei, luo sellainen ja haarauta tämä kurssi omaan käyttöösi. (Voit myös antaa meille tähden 😊)
- **Tutustu Scikit-learniin**. Perehdy [Scikit-learniin](https://scikit-learn.org/stable/user_guide.html), koneoppimiskirjastoon, jota käytämme näissä oppitunneissa.
- **Konfiguroi koneesi näillä videoilla**. Käytä seuraavia linkkejä oppiaksesi [kuinka Python asennetaan](https://youtu.be/CXZYvNRIAKM) järjestelmääsi ja [tekstieditori kehitykseen](https://youtu.be/EU8eayHWoZg).
- **Opiskele Pythonia**. On myös suositeltavaa saada perustiedot [Pythonista](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), ohjelmointikielestä, joka on hyödyllinen datatieteilijöille ja jota käytämme tässä kurssissa.
- **Opiskele Node.js:ää ja JavaScriptiä**. Käytämme myös JavaScriptiä muutaman kerran tässä kurssissa verkkosovelluksia rakentaessa, joten tarvitset [noden](https://nodejs.org) ja [npm:n](https://www.npmjs.com/) asennettuna sekä [Visual Studio Code](https://code.visualstudio.com/) niin Python- kuin JavaScript-kehitykseen.
- **Luo GitHub-tili**. Koska löysit meidät täältä [GitHubista](https://github.com), sinulla saattaa jo olla tili, mutta jos ei, luo se ja tee kurssin versiosta oma haarasi (fork). (Voit myös antaa meille tähden 😊)
- **Tutustu Scikit-learniin**. Tutustu [Scikit-learniin](https://scikit-learn.org/stable/user_guide.html), joukkoon koneoppimiskirjastoja, joita viittaamme näissä oppitunneissa.
---
## Mitä koneoppiminen on?
## Mikä on koneoppiminen?
Termi 'koneoppiminen' on yksi nykyajan suosituimmista ja eniten käytetyistä termeistä. On melko todennäköistä, että olet kuullut tämän termin ainakin kerran, jos sinulla on jonkinlaista teknologiaan liittyvää taustaa, riippumatta siitä, millä alalla työskentelet. Koneoppimisen mekanismit ovat kuitenkin mysteeri monille. Koneoppimisen aloittelijalle aihe voi joskus tuntua ylivoimaiselta. Siksi on tärkeää ymmärtää, mitä koneoppiminen oikeasti on, ja oppia siitä askel kerrallaan käytännön esimerkkien avulla.
Termi 'koneoppiminen' on yksi tämän päivän suosituimmista ja yleisesti käytetyistä termeistä. On hyvin mahdollista, että olet kuullut tämän termin ainakin kerran, jos sinulla on jonkinasteista teknologiaan liittyvää tuttavuutta, riippumatta siitä, millä alalla työskentelet. Koneoppimisen mekanismit ovat kuitenkin useimmille ihmisille mysteeri. Koneoppimisen aloittelijalle aihe voi toisinaan tuntua ylivoimaiselta. Siksi on tärkeää ymmärtää, mitä koneoppiminen todella on, ja oppia siitä askel askeleelta käytännön esimerkkien kautta.
---
## Hype-käyrä
![ml hype curve](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/fi/hype.07183d711a17aafe.webp)
> Google Trends näyttää termin 'koneoppiminen' viimeaikaisen hype-käyrän
> Google Trends näyttää termin 'machine learning' viimeaikaisen 'hype-käyrän'
---
## Mysteerien täyttämä universumi
## Salaperäinen universumi
Elämme universumissa, joka on täynnä kiehtovia mysteerejä. Suuret tiedemiehet, kuten Stephen Hawking, Albert Einstein ja monet muut, ovat omistaneet elämänsä merkityksellisen tiedon etsimiseen, joka paljastaa ympäröivän maailman mysteerejä. Tämä on ihmisen oppimisen perusta: ihmislapsi oppii uusia asioita ja paljastaa maailmansa rakenteen vuosi vuodelta kasvaessaan aikuiseksi.
Elämme universumissa, joka on täynnä kiehtovia mysteerejä. Suuret tiedemiehet kuten Stephen Hawking, Albert Einstein ja monet muut ovat omistaneet elämänsä merkityksellisen tiedon etsintään, joka paljastaa ympäröivän maailman salaisuudet. Tämä on ihmisen oppimisen ehto: lapsi oppii uusia asioita ja paljastaa maailmansa rakenteita vuosi vuodelta kasvaessaan aikuiseksi.
---
## Lapsen aivot
Lapsen aivot ja aistit havaitsevat ympäristön tosiasiat ja oppivat vähitellen elämän piilotettuja kaavoja, jotka auttavat lasta luomaan loogisia sääntöjä tunnistamaan opittuja kaavoja. Ihmisaivojen oppimisprosessi tekee ihmisistä tämän maailman kehittyneimmän elävän olennon. Jatkuva oppiminen piilotettujen kaavojen löytämisen kautta ja niiden innovointi mahdollistaa meille itsensä kehittämisen läpi elämän. Tämä oppimiskyky ja kehittymiskyky liittyvät käsitteeseen nimeltä [aivojen plastisuus](https://www.simplypsychology.org/brain-plasticity.html). Pintapuolisesti voimme nähdä joitakin motivoivia yhtäläisyyksiä ihmisaivojen oppimisprosessin ja koneoppimisen käsitteiden välillä.
Lapsen aivot ja aistit havaitsevat ympäristön tosiasiat ja oppivat vähitellen elämän piilotettuja kaavoja, jotka auttavat lasta muodostamaan loogisia sääntöjä oppimiensa kaavojen tunnistamiseksi. Ihmisaivojen oppimisprosessi tekee ihmisistä maailman kehittyneimmät elävät olennot. Jatkuva oppiminen piilotettujen kaavojen löytämisen kautta ja niiden kehittäminen mahdollistaa itsemme parantamisen koko elämämme ajan. Tämä oppimiskyky ja kehittyvä kapasiteetti liittyy käsitteeseen, jota kutsutaan [aivojen plastisuudeksi](https://www.simplypsychology.org/brain-plasticity.html). Pinnallisesti voimme löytää motivaatioita ihmisaivojen oppimisprosessin ja koneoppimisen käsitteiden välillä.
---
## Ihmisaivot
## Ihmisen aivot
[Ihmisaivot](https://www.livescience.com/29365-human-brain.html) havaitsevat asioita todellisesta maailmasta, käsittelevät havaittua tietoa, tekevät järkeviä päätöksiä ja suorittavat tiettyjä toimia olosuhteiden perusteella. Tätä kutsutaan älykkääksi käyttäytymiseksi. Kun ohjelmoimme älykkään käyttäytymisprosessin jäljitelmän koneelle, sitä kutsutaan tekoälyksi (AI).
[Ihminen aivot](https://www.livescience.com/29365-human-brain.html) havaitsevat asioita todellisesta maailmasta, käsittelevät havaittua tietoa, tekevät järkeviä päätöksiä ja suorittavat toimintoja tilanteiden perusteella. Tätä kutsutaan älykkääksi käyttäytymiseksi. Kun ohjelmoimme koneelle älykkään käyttäytymisprosessin kopion, sitä kutsutaan tekoälyksi (AI).
---
## Termistöä
## Jotkin termit
Vaikka termit voivat olla hämmentäviä, koneoppiminen (ML) on tärkeä tekoälyn osa-alue. **ML keskittyy erikoistuneiden algoritmien käyttöön merkityksellisen tiedon löytämiseksi ja piilotettujen kaavojen tunnistamiseksi havaituista tiedoista järkevän päätöksenteon tukemiseksi**.
Vaikka termejä voi sekoittaa, koneoppiminen (ML) on tärkeä osa tekoälyä. **Koneoppimisessa käytetään erikoistuneita algoritmeja merkityksellisen tiedon löytämiseksi ja piilotettujen kaavojen paljastamiseksi havaituista datoista järkevän päätöksenteon tukemiseksi**.
---
## AI, ML, syväoppiminen
![AI, ML, deep learning, data science](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, deep learning, data science](../../../../translated_images/fi/ai-ml-ds.537ea441b124ebf6.webp)
> Kaavio, joka näyttää tekoälyn, koneoppimisen, syväoppimisen ja datatieteen väliset suhteet. Infografiikka: [Jen Looper](https://twitter.com/jenlooper), inspiroitunut [tästä grafiikasta](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
> Kaavio, joka näyttää AI:n, ML:n, syväoppimisen ja datatieteen väliset suhteet. Infografiikka Jen Looperin (@jenlooper) tekemänä, innoittajana [tämä kuva](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
---
## Käsitteet, joita käsitellään
## Käsitteitä, jotka käsitellään
Tässä kurssissa käsittelemme vain koneoppimisen ydinkäsitteitä, jotka aloittelijan tulee tietää. Keskitymme siihen, mitä kutsumme 'klassiseksi koneoppimiseksi', pääasiassa käyttäen Scikit-learnia, erinomaista kirjastoa, jota monet opiskelijat käyttävät perusasioiden oppimiseen. Laajempien tekoälyn tai syväoppimisen käsitteiden ymmärtämiseksi vahva koneoppimisen perustietämys on välttämätön, ja haluamme tarjota sen tässä.
Tässä opetussuunnitelmassa käsittelemme vain koneoppimisen keskeiset käsitteet, jotka aloittelijan on tunnettava. Käymme läpi niin sanotun 'klassisen koneoppimisen', pääasiassa käyttäen Scikit-learnia, erinomaista kirjastoa, jota monet opiskelijat käyttävät perusteiden oppimiseen. Yleisemmän tekoälyn tai syväoppimisen käsitteiden ymmärtäminen vaatii vahvaa perusosaamista koneoppimisesta, jonka haluamme tarjota täällä.
---
## Tässä kurssissa opit:
- koneoppimisen ydinkäsitteet
- koneoppimisen historiaa
- koneoppiminen ja oikeudenmukaisuus
- regressio-koneoppimistekniikat
- luokittelu-koneoppimistekniikat
- klusterointi-koneoppimistekniikat
- luonnollisen kielen käsittelyyn liittyvät koneoppimistekniikat
- aikasarjojen ennustaminen koneoppimistekniikoilla
- koneoppimisen keskeiset käsitteet
- koneoppimisen historian
- koneoppimisen ja oikeudenmukaisuuden
- regressio-ML-tekniikat
- luokittelu-ML-tekniikat
- klusterointimenetelmät ML:ssä
- luonnollisen kielen käsittelyn ML-tekniikat
- aikasarjaennusteiden ML-tekniikat
- vahvistusoppiminen
- koneoppimisen käytännön sovellukset
- ML:n todellisen maailman sovellukset
---
## Mitä emme käsittele
@ -90,61 +90,68 @@ Tässä kurssissa käsittelemme vain koneoppimisen ydinkäsitteitä, jotka aloit
- neuroverkot
- tekoäly
Oppimiskokemuksen parantamiseksi vältämme neuroverkkojen monimutkaisuutta, 'syväoppimista' - monikerroksista mallinrakennusta neuroverkkojen avulla - ja tekoälyä, joita käsittelemme eri kurssilla. Tarjoamme myös tulevan datatieteen kurssin, joka keskittyy tämän laajemman alan siihen osa-alueeseen.
Parempaa oppimiskokemusta varten vältämme neuroverkkojen, 'syväoppimisen' - monikerroksisten mallien rakentamisen neuroverkkojen avulla - ja tekoälyn monimutkaisuuksia, joita käsittelemme eri opetussuunnitelmassa. Tarjoamme myös tulevaisuudessa datatieteeseen keskittyvän opintopolun tämän laajemman alan osalta.
---
## Miksi opiskella koneoppimista?
Koneoppiminen järjestelmän näkökulmasta määritellään automatisoitujen järjestelmien luomiseksi, jotka voivat oppia piilotettuja kaavoja datasta älykkään päätöksenteon tukemiseksi.
Koneoppiminen järjestelmien näkökulmasta määritellään automatisoitujen järjestelmien luomiseksi, jotka voivat oppia piilotettuja kaavoja datasta auttaakseen tekemään älykkäitä päätöksiä.
Tämä motivaatio on löyhästi inspiroitunut siitä, miten ihmisaivot oppivat tiettyjä asioita ulkomaailmasta havaitsemansa datan perusteella.
Tämä motivaatio on löyhästi innoittamana siitä, miten ihmisaivot oppivat tiettyjä asioita niiden havainnoimasta ulkomaailmasta.
✅ Mieti hetki, miksi yritys haluaisi käyttää koneoppimisstrategioita sen sijaan, että loisi kovakoodatun sääntöpohjaisen moottorin.
✅ Mieti hetki, miksi yrityksen kannattaisi yrittää hyödyntää koneoppimista verrattuna kovakoodattuun sääntöpohjaiseen moottoriin.
---
## Miksi datan laatu on tärkeää
Korkealaatuinen data parantaa mallin suorituskykyä. Huono tai meluisa data voi johtaa epätarkkoihin ennusteisiin, jopa edistyneitä koneoppimisalgoritmeja käytettäessä.
---
## Koneoppimisen sovellukset
Koneoppimisen sovellukset ovat nykyään lähes kaikkialla ja yhtä yleisiä kuin data, joka virtaa yhteiskunnissamme, älypuhelimiemme, yhdistettyjen laitteiden ja muiden järjestelmien tuottamana. Ottaen huomioon huippuluokan koneoppimisalgoritmien valtavan potentiaalin, tutkijat ovat tutkineet niiden kykyä ratkaista monimutkaisia ja monialaisia tosielämän ongelmia erinomaisin tuloksin.
Koneoppimisen sovelluksia on nykyään lähes kaikkialla ja ne ovat yhtä yleisiä kuin data, joka virtaa yhteiskunnissamme älypuhelimista, liitetyistä laitteista ja muista järjestelmistä. Huippuluokan koneoppimisalgoritmien valtavan potentiaalin vuoksi tutkijat ovat tutkineet niiden kykyä ratkaista monimuotoisia ja moniammatillisia todellisen elämän ongelmia erinomaisin tuloksin.
---
## Esimerkkejä sovelletusta koneoppimisesta
## Käytännön esimerkkejä ML:stä
**Koneoppimista voi käyttää monin tavoin**:
**Voit käyttää koneoppimista monin tavoin**:
- Ennustamaan sairauden todennäköisyyttä potilaan sairaushistorian tai raporttien perusteella.
- Hyödyntämään säätietoja sääilmiöiden ennustamiseen.
- Ymmärtämään tekstin sentimenttiä.
- Tunnistamaan valeuutisia propagandan leviämisen estämiseksi.
- Ennustamaan sairauksien todennäköisyyttä potilaan sairaushistorian tai raporttien perusteella.
- Hyödyntämään säädataa sääilmiöiden ennustamiseen.
- Ymmärtämään tekstin tunnetehoa.
- Havaitsemaan valeuutisia propagandan leviämisen pysäyttämiseksi.
Rahoitus, taloustiede, maantiede, avaruustutkimus, biolääketieteen tekniikka, kognitiotiede ja jopa humanistiset alat ovat ottaneet koneoppimisen käyttöön ratkaistakseen alansa vaativia, datankäsittelyyn liittyviä ongelmia.
Rahoitus, taloustiede, maantiede, avaruustutkimus, biolääketieteellinen tekniikka, kognitiotiede ja jopa humanistiset alat ovat omaksuneet koneoppimisen ratkaisuna kovan datankäsittelyn ongelmiinsa.
---
## Yhteenveto
Koneoppiminen automatisoi kaavojen löytämisen prosessin löytämällä merkityksellisiä oivalluksia todellisesta tai tuotetusta datasta. Se on osoittautunut erittäin arvokkaaksi liiketoiminnassa, terveydenhuollossa ja rahoituksessa, muiden alojen ohella.
Koneoppiminen automatisoi kaavojen löytämisen prosessin löytämällä merkityksellisiä havaintoja todellisesta tai tuotetusta datasta. Se on osoittautunut erittäin arvokkaaksi liiketoiminnassa, terveydessä ja rahoituksessa, muiden alojen ohella.
Lähitulevaisuudessa koneoppimisen perusteiden ymmärtäminen tulee olemaan välttämätöntä kaikille aloille sen laajan käyttöönoton vuoksi.
Lähitulevaisuudessa koneoppimisen perusteiden ymmärtäminen on välttämätöntä ihmisille kaikilla aloilla laajan käyttöönoton vuoksi.
---
# 🚀 Haaste
Piirrä paperille tai käytä online-sovellusta, kuten [Excalidraw](https://excalidraw.com/), hahmottaaksesi tekoälyn, koneoppimisen, syväoppimisen ja datatieteen väliset erot. Lisää ideoita ongelmista, joita kukin näistä tekniikoista on hyvä ratkaisemaan.
Piirrä paperille tai käytä verkkosovellusta kuten [Excalidrawia](https://excalidraw.com/) kuvaamaan ymmärrystäsi AI:n, ML:n, syväoppimisen ja datatieteen eroista. Lisää ideoita ongelmista, joita kukin näistä tekniikoista osaa ratkaista hyvin.
# [Jälkioppituntikysely](https://ff-quizzes.netlify.app/en/ml/)
# [Jälkikokeilu](https://ff-quizzes.netlify.app/en/ml/)
---
# Kertaus ja itseopiskelu
# Kertaaminen ja itsenäinen opiskelu
Lisätietoja siitä, miten voit työskennellä koneoppimisalgoritmien kanssa pilvessä, seuraa tätä [oppimispolkua](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott).
Jos haluat oppia lisää siitä, miten voit työskennellä koneoppimisalgoritmien kanssa pilvessä, seuraa tätä [Oppimispolkua](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott).
Osallistu [oppimispolkuun](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) koneoppimisen perusteista.
Osallistu [Oppimispolkuun](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott), jossa käsitellään koneoppimisen perusteet.
---
# Tehtävä
[Ota käyttöön](assignment.md)
[Ota ensin käyttöön ja käynnisty](assignment.md)
---
**Vastuuvapauslauseke**:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastuuvapauslauseke**:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, otathan huomioon, että automaattiset käännökset saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäiskielellä on virallinen lähde. Tärkeissä asioissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,108 +1,107 @@
# Johdanto klusterointiin
Klusterointi on eräänlainen [valvomaton oppiminen](https://wikipedia.org/wiki/Unsupervised_learning), joka olettaa, että datasetti on merkitsemätön tai että sen syötteet eivät ole yhdistetty ennalta määriteltyihin tuloksiin. Se käyttää erilaisia algoritmeja käydäkseen läpi merkitsemätöntä dataa ja luodakseen ryhmiä datasta havaittujen kuvioiden perusteella.
Klusterointi on eräänlainen [ohjaamaton oppiminen](https://wikipedia.org/wiki/Unsupervised_learning), joka olettaa, että aineisto on merkitsemätöntä tai että sen syötteitä ei ole yhdistetty ennalta määriteltyihin tuloksiin. Se käyttää erilaisia algoritmeja järjestääkseen merkitsemätöntä dataa ja tarjotakseen ryhmittelyjä havaittujen mallien perusteella.
[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")
> 🎥 Klikkaa yllä olevaa kuvaa nähdäksesi videon. Opiskellessasi koneoppimista klusteroinnin avulla, nauti samalla nigerialaisista Dance Hall -kappaleista tämä on PSquaren erittäin arvostettu kappale vuodelta 2014.
> 🎥 Klikkaa yllä olevaa kuvaa videota varten. Opiskellessasi koneoppimista klusteroinnin avulla, nauti muutamista Nigerian Dance Hall -kappaleista tämä on erittäin suosittu kappale vuodelta 2014 PSquarelta.
## [Esiluennon kysely](https://ff-quizzes.netlify.app/en/ml/)
## [Esiluentoharjoitus](https://ff-quizzes.netlify.app/en/ml/)
### Johdanto
[Klusterointi](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) on erittäin hyödyllinen datan tutkimiseen. Katsotaan, voiko se auttaa löytämään trendejä ja kuvioita nigerialaisten yleisöjen musiikinkulutustavoista.
[Klusterointi](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) on erittäin hyödyllinen tiedon tutkimisessa. Katsotaan, voiko se auttaa löytämään trendejä ja malleja siinä, miten Nigerian yleisöt kuluttavat musiikkia.
Mieti hetki klusteroinnin käyttötarkoituksia. Arkielämässä klusterointi tapahtuu aina, kun sinulla on kasa pyykkiä ja sinun täytyy lajitella perheenjäsenten vaatteet 🧦👕👖🩲. Data-analytiikassa klusterointi tapahtuu, kun yritetään analysoida käyttäjän mieltymyksiä tai määrittää minkä tahansa merkitsemättömän datasetin ominaisuuksia. Klusterointi auttaa tavallaan tuomaan järjestystä kaaokseen, kuten sukkalaatikkoon.
Käytä minuutti miettiäksesi klusteroinnin käyttötarkoituksia. Todellisessa elämässä klusterointi tapahtuu aina, kun sinulla on pino pyykkiä ja sinun täytyy lajitella perheen jäsenten vaatteet 🧦👕👖🩲. Data-analytiikassa klusterointia käytetään, kun pyritään analysoimaan käyttäjän mieltymyksiä tai määrittelemään minkä tahansa merkitsemättömän aineiston ominaisuuksia. Klusterointi auttaa ikään kuin järjestämään kaaosta, kuten sukan laatikkoa.
[![Introduction to ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduction to Clustering")
> 🎥 Klikkaa yllä olevaa kuvaa nähdäksesi videon: MIT:n John Guttag esittelee klusterointia.
> 🎥 Klikkaa yllä olevaa kuvaa videota varten: MIT:n John Guttag esittelee klusterointia
Ammatillisessa ympäristössä klusterointia voidaan käyttää esimerkiksi markkinasegmentoinnin määrittämiseen, kuten sen selvittämiseen, mitkä ikäryhmät ostavat mitäkin tuotteita. Toinen käyttötarkoitus voisi olla poikkeavuuksien havaitseminen, esimerkiksi luottokorttitapahtumien datasetistä petosten tunnistamiseen. Tai klusterointia voisi käyttää kasvainten tunnistamiseen lääketieteellisten skannauksien joukosta.
Ammatillisessa käytössä klusterointia voidaan käyttää muun muassa markkinasegmentoinnissa, esimerkiksi määrittelemään, mitkä ikäryhmät ostavat mitä tuotteita. Toinen käyttötarkoitus voi olla poikkeavuuksien havaitseminen, esimerkiksi petosten tunnistaminen luottokorttitapahtumien tiedoista. Tai klusterointia voidaan käyttää kasvaimien määrittämiseen kokoelmasta lääkinnällisiä skannauksia.
✅ Mieti hetki, miten olet saattanut kohdata klusterointia "luonnossa", esimerkiksi pankkitoiminnassa, verkkokaupassa tai liiketoiminnassa.
✅ Mieti hetki, kuinka olet saattanut kohdata klusterointia "luonnossa", pankki-, verkkokauppa- tai liiketoimintaympäristössä.
> 🎓 Mielenkiintoista on, että klusterianalyysi sai alkunsa antropologian ja psykologian aloilla 1930-luvulla. Voitko kuvitella, miten sitä saatettiin käyttää?
> 🎓 Mielenkiintoista: klusterianalyysin juuret ovat antropologiassa ja psykologiassa 1930-luvulla. Voitko kuvitella, miten sitä saatettiin käyttää?
Vaihtoehtoisesti sitä voisi käyttää hakutulosten ryhmittelyyn esimerkiksi ostoslinkkien, kuvien tai arvostelujen mukaan. Klusterointi on hyödyllistä, kun sinulla on suuri datasetti, jonka haluat pienentää ja josta haluat tehdä tarkempaa analyysiä, joten tekniikkaa voidaan käyttää datan tutkimiseen ennen muiden mallien rakentamista.
Vaihtoehtoisesti sitä voisi käyttää hakutulosten ryhmittelyssä esimerkiksi ostoslinkkien, kuvien tai arvostelujen mukaan. Klusterointi on hyödyllinen, kun sinulla on suuri aineisto, jota haluat vähentää ja jolle haluat tehdä tarkempaa analyysiä, joten menetelmää voidaan käyttää oppimaan aineistosta ennen muiden mallien rakentamista.
✅ Kun datasi on järjestetty klustereihin, sille annetaan klusteri-ID, ja tämä tekniikka voi olla hyödyllinen datasetin yksityisyyden säilyttämisessä; voit viitata datapisteeseen sen klusteri-ID:n avulla sen sijaan, että käyttäisit paljastavampia tunnistettavia tietoja. Voitko keksiä muita syitä, miksi käyttäisit klusteri-ID:tä klusterin muiden elementtien sijaan sen tunnistamiseen?
Syvennä ymmärrystäsi klusterointitekniikoista tässä [Learn-moduulissa](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott).
✅ Kun aineistosi on järjestetty klustereihin, sille annetaan klusteritunnus, ja tätä tekniikkaa voidaan käyttää aineiston yksityisyyden säilyttämiseen; dataan voidaan viitata sen sijaan klusteritunnuksen avulla, ennemmin kuin paljastavien tunnistettavien tietojen perusteella. Voitko keksiä muita syitä, miksi viittaisit klusteritunnukseen ennemmin kuin muihin klusterin osiin?
Syvennä klusterointitekniikoiden ymmärrystäsi tässä [Learn-moduulissa](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott)
## Klusteroinnin aloittaminen
[Scikit-learn tarjoaa laajan valikoiman](https://scikit-learn.org/stable/modules/clustering.html) menetelmiä klusteroinnin suorittamiseen. Valitsemasi tyyppi riippuu käyttötapauksestasi. Dokumentaation mukaan jokaisella menetelmällä on erilaisia etuja. Tässä on yksinkertaistettu taulukko Scikit-learnin tukemista menetelmistä ja niiden sopivista käyttötapauksista:
[Scikit-learn tarjoaa laajan valikoiman](https://scikit-learn.org/stable/modules/clustering.html) menetelmiä klusterointiin. Valintasi riippuu käyttötarkoituksesta. Dokumentaation mukaan jokaisella menetelmällä on erilaisia etuja. Tässä on yksinkertaistettu taulukko Scikit-learnin tukemista menetelmistä ja niiden sopivista käyttötapauksista:
| Menetelmän nimi | Käyttötapaus |
| :---------------------------- | :-------------------------------------------------------------------- |
| K-Means | yleiskäyttö, induktiivinen |
| Affinity propagation | monet, epätasaiset klusterit, induktiivinen |
| Mean-shift | monet, epätasaiset klusterit, induktiivinen |
| Spectral clustering | harvat, tasaiset klusterit, transduktiivinen |
| Ward hierarchical clustering | monet, rajoitetut klusterit, transduktiivinen |
| Agglomerative clustering | monet, rajoitetut, ei-euklidiset etäisyydet, transduktiivinen |
| DBSCAN | ei-tasainen geometria, epätasaiset klusterit, transduktiivinen |
| OPTICS | ei-tasainen geometria, epätasaiset klusterit, vaihteleva tiheys, transduktiivinen |
| Gaussian mixtures | tasainen geometria, induktiivinen |
| BIRCH | suuri datasetti, jossa poikkeavuuksia, induktiivinen |
> 🎓 Klusterien luominen liittyy vahvasti siihen, miten datan pisteet ryhmitellään ryhmiin. Puretaanpa hieman sanastoa:
| :--------------------------- | :-------------------------------------------------------------------- |
| K-Means | yleiskäyttö, induktiivinen |
| Affinity propagation | monta, epätasaisia klustereita, induktiivinen |
| Mean-shift | monta, epätasaisia klustereita, induktiivinen |
| Spectral clustering | vähän, tasaisia klustereita, transduktiivinen |
| Ward hierarchical clustering | monta, rajattuja klustereita, transduktiivinen |
| Agglomerative clustering | monta, rajattuja, epä-Euklidisia etäisyyksiä, transduktiivinen |
| DBSCAN | ei-tasainen geometria, epätasaisia klustereita, transduktiivinen |
| OPTICS | ei-tasainen geometria, epätasaisia vaihtelevan tiheyden klustereita, transduktiivinen |
| Gaussian mixtures | tasainen geometria, induktiivinen |
| BIRCH | suuri aineisto poikkeavien arvojen kanssa, induktiivinen |
> 🎓 Miten luomme klustereita liittyy vahvasti siihen, miten keräämme datapisteet ryhmiin. Puretaan hieman sanastoa:
>
> 🎓 ['Transduktiivinen' vs. 'induktiivinen'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> Transduktiivinen päättely perustuu havaittuihin harjoitustapauksiin, jotka liittyvät tiettyihin testitapauksiin. Induktiivinen päättely perustuu harjoitustapauksiin, jotka johtavat yleisiin sääntöihin, joita sovelletaan vasta testitapauksiin.
> Transduktiivinen päättely perustuu havainnoituihin harjoitus tapauksiin, jotka vastaavat tiettyihin testitapauksiin. Induktiivinen päättely perustuu harjoitustapauksiin, jotka yhdistetään yleisiin sääntöihin, joita sovelletaan vasta sitten testitapauksiin.
>
> Esimerkki: Kuvittele, että sinulla on datasetti, joka on vain osittain merkitty. Jotkut asiat ovat 'levyjä', jotkut 'CD-levyjä', ja jotkut ovat tyhjiä. Tehtäväsi on antaa tyhjille merkinnät. Jos valitset induktiivisen lähestymistavan, kouluttaisit mallin etsimään 'levyjä' ja 'CD-levyjä' ja soveltaisit näitä merkintöjä merkitsemättömään dataan. Tämä lähestymistapa kohtaa vaikeuksia luokitellessaan asioita, jotka ovat itse asiassa 'kasetteja'. Transduktiivinen lähestymistapa sen sijaan käsittelee tätä tuntematonta dataa tehokkaammin, koska se pyrkii ryhmittelemään samanlaiset kohteet yhteen ja soveltamaan ryhmään merkintää. Tässä tapauksessa klusterit saattavat heijastaa 'pyöreitä musiikkiesineitä' ja 'neliömäisiä musiikkiesineitä'.
> Esimerkki: Kuvittele, että sinulla on aineisto, joka on osittain merkitty. Jotkin asiat ovat 'levyjä', jotkut 'cd-levyjä', ja osa on tyhjiä. Tehtäväsi on antaa merkinnät tyhjille. Jos valitset induktiivisen lähestymistavan, koulutat mallin etsimään 'levyjä' ja 'cd-levyjä', ja sovellat noita merkintöjä merkitsemättömälle aineistolle. Tämä lähestymistapa vaikeutuu luokittelemaan asioita, jotka ovat oikeasti 'kassetteja'. Transduktiivinen lähestymistapa puolestaan käsittelee tuntematonta dataa tehokkaammin, kun se ryhmittelee samanlaisia kohteita yhteen ja sitten antaa ryhmälle merkinnän. Tässä tapauksessa klusterit voisivat kuvastaa 'pyöreitä musiikkijuttuja' ja 'neliönmuotoisia musiikkijuttuja'.
>
> 🎓 ['Ei-tasainen' vs. 'tasainen' geometria](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering)
>
> Matematiikan terminologiasta johdettuna ei-tasainen vs. tasainen geometria viittaa pisteiden välisten etäisyyksien mittaamiseen joko 'tasaisilla' ([euklidisilla](https://wikipedia.org/wiki/Euclidean_geometry)) tai 'ei-tasaisilla' (ei-euklidisilla) geometrisilla menetelmillä.
> Matematiikasta johdettuna, ei-tasainen vs. tasainen geometria viittaa mittaustapaan pisteiden välisille etäisyyksille joko 'tasaisen' ([Euklidisen](https://wikipedia.org/wiki/Euclidean_geometry)) tai 'ei-tasaisen' (ei-euklidisen) geometrian menetelmillä.
>
>'Tasainen' tässä yhteydessä viittaa euklidiseen geometriaan (josta osia opetetaan 'tasogeometriana'), ja ei-tasainen viittaa ei-euklidiseen geometriaan. Mitä geometrialla on tekemistä koneoppimisen kanssa? No, koska molemmat alat perustuvat matematiikkaan, pisteiden välisten etäisyyksien mittaamiseen klustereissa täytyy olla yhteinen tapa, ja se voidaan tehdä 'tasaisella' tai 'ei-tasaisella' tavalla datan luonteen mukaan. [Euklidiset etäisyydet](https://wikipedia.org/wiki/Euclidean_distance) mitataan viivan pituutena kahden pisteen välillä. [Ei-euklidiset etäisyydet](https://wikipedia.org/wiki/Non-Euclidean_geometry) mitataan käyrän pitkin. Jos datasi, visualisoituna, ei näytä olevan tasossa, saatat tarvita erikoistuneen algoritmin sen käsittelemiseen.
> Tässä yhteydessä 'tasainen' tarkoittaa euklidista geometriaa (jonka osia opetetaan 'tasogeometriana'), ja ei-tasainen tarkoittaa ei-euklidista geometriaa. Mitä geometrialla on tekemistä koneoppimisen kanssa? Koska molemmat alat pohjautuvat matematiikkaan, on löydettävä yleinen tapa mitata etäisyyksiä klustereiden pisteiden välillä, ja se voidaan tehdä 'tasaisesti' tai 'ei-tasaisesti', datan luonteen mukaan. [Euklidiset etäisyydet](https://wikipedia.org/wiki/Euclidean_distance) mitataan kahden pisteen välisen janan pituutena. [Ei-euklidiset etäisyydet](https://wikipedia.org/wiki/Non-Euclidean_geometry) mitataan käyrää pitkin. Jos datasi, kun sen visualisoi, ei vaikuta olevan tasolla, saatat tarvita erityisen algoritmin sen käsittelyyn.
>
![Tasainen vs Ei-tasainen geometria Infografiikka](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
![Flat vs Nonflat Geometry Infographic](../../../../translated_images/fi/flat-nonflat.d1c8c6e2a96110c1.webp)
> Infografiikka: [Dasani Madipalli](https://twitter.com/dasani_decoded)
>
> 🎓 ['Etäisyydet'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
>
> Klusterit määritellään niiden etäisyysmatriisin perusteella, eli pisteiden välisillä etäisyyksillä. Tämä etäisyys voidaan mitata muutamalla tavalla. Euklidiset klusterit määritellään pistearvojen keskiarvon perusteella, ja niillä on 'centroidi' eli keskipiste. Etäisyydet mitataan siis etäisyytenä centroidiin. Ei-euklidiset etäisyydet viittaavat 'clustroideihin', pisteeseen, joka on lähimpänä muita pisteitä. Clustroidit voidaan puolestaan määritellä eri tavoin.
> Klusterit määritellään niiden etäisyysmatriisin perusteella, eli etäisyyksien mittausten mukaan pisteiden välillä. Tätä etäisyyttä voidaan mitata useilla tavoilla. Euklidiset klusterit määritellään pisteiden arvojen keskiarvon perusteella, ja niillä on 'keskipiste' eli sentroidi. Etäisyydet mitataan siis sentroidiin. Ei-euklidiset etäisyydet viittaavat 'klustroideihin', läheisimpään pisteeseen muiden pisteiden joukossa. Klustroidit voidaan määritellä monin tavoin.
>
> 🎓 ['Rajoitettu'](https://wikipedia.org/wiki/Constrained_clustering)
>
> [Rajoitettu klusterointi](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) tuo 'puolivalvotun' oppimisen tähän valvomattomaan menetelmään. Pisteiden väliset suhteet merkitään 'ei voi yhdistää' tai 'täytyy yhdistää', joten datasettiin pakotetaan joitakin sääntöjä.
> [Rajoitettu klusterointi](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) yhdistelee 'puolivalvottua' oppimista tähän ohjaamattomaan menetelmään. Pisteiden väliset suhteet merkitään 'ei voi yhdistää' tai 'täytyy yhdistää', jolloin dataan kohdistuu tiettyjä sääntöjä.
>
>Esimerkki: Jos algoritmi päästetään vapaaksi joukkoon merkitsemätöntä tai osittain merkittyä dataa, sen tuottamat klusterit voivat olla huonolaatuisia. Esimerkissä yllä klusterit saattavat ryhmitellä 'pyöreät musiikkiesineet', 'neliömäiset musiikkiesineet', 'kolmiomaiset esineet' ja 'keksit'. Jos algoritmille annetaan joitakin rajoituksia tai sääntöjä ("esineen täytyy olla muovista tehty", "esineen täytyy pystyä tuottamaan musiikkia"), tämä voi auttaa 'rajoittamaan' algoritmia tekemään parempia valintoja.
> Esimerkki: Jos algoritmi päästetään vapaaksi aineistoon, jossa on merkitsemätöntä tai osittain merkittyä dataa, sen tuottamat klusterit voivat olla huonolaatuisia. Yllä olevassa esimerkissä klusterit saattaisivat ryhmitellä 'pyöreät musiikkijutut', 'neliönmuotoiset musiikkijutut', 'kolmion muotoiset jutut' ja 'keksit'. Jos annetaan joukko rajoituksia tai sääntöjä ("esineen täytyy olla muovia", "esineen pitää pystyä tuottamaan musiikkia"), tämä voi auttaa rajoittamaan algoritmia tekemään parempia valintoja.
>
> 🎓 'Tiheys'
>
> Data, joka on 'meluisaa', katsotaan olevan 'tiheää'. Etäisyydet pisteiden välillä kussakin klusterissa voivat osoittautua tarkastelussa tiheämmiksi tai harvemmiksi, ja näin ollen tämä data täytyy analysoida sopivalla klusterointimenetelmällä. [Tämä artikkeli](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) havainnollistaa eroa K-Means-klusteroinnin ja HDBSCAN-algoritmien käytössä meluisan datasetin tutkimiseen, jossa klusterien tiheys on epätasainen.
> Data, joka on 'kohinaista', katsotaan olevan 'tiheää'. Etäisyydet pisteiden välillä kussakin klusterissa voivat tarkastelun mukaan olla tiheämpiä tai harvempia, eli kyseessä voi olla 'väkijoukko' tai harvasta jakautunut joukko. Tällöin data on analysoitava sopivalla klusterointimenetelmällä. [Tässä artikkelissa](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) havainnollistetaan eroa K-Means- ja HDBSCAN-algoritmien välillä kohinaisen aineiston epätasaisen klusteritiheyden tutkimisessa.
## Klusterointialgoritmit
Klusterointialgoritmeja on yli 100, ja niiden käyttö riippuu käsillä olevan datan luonteesta. Keskustellaan joistakin tärkeimmistä:
Klusterointialgoritmeja on yli 100, ja niiden käyttö riippuu datan luonteesta. Käydään läpi joitakin merkittävimpiä:
- **Hierarkkinen klusterointi**. Jos objekti luokitellaan sen läheisyyden perusteella lähellä olevaan objektiin, eikä kauempana olevaan, klusterit muodostuvat jäsenten etäisyyden perusteella muihin objekteihin. Scikit-learnin agglomeratiivinen klusterointi on hierarkkista.
- **Hierarkkinen klusterointi**. Jos kohde luokitellaan sen etäisyyden perusteella lähimpään objektiin, eikä kauempana olevaan, klusterit muodostuvat läheisten jäsenten etäisyyksien perusteella muihin kohteisiin. Scikit-learnin agglomeraatio on hierarkkinen klusterointimenetelmä.
![Hierarkkinen klusterointi Infografiikka](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
![Hierarchical clustering Infographic](../../../../translated_images/fi/hierarchical.bf59403aa43c8c47.webp)
> Infografiikka: [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **Centroid-klusterointi**. Tämä suosittu algoritmi vaatii 'k':n eli muodostettavien klusterien määrän valinnan, minkä jälkeen algoritmi määrittää klusterin keskipisteen ja kerää dataa sen ympärille. [K-means-klusterointi](https://wikipedia.org/wiki/K-means_clustering) on suosittu versio centroid-klusteroinnista. Keskipiste määritetään lähimmän keskiarvon perusteella, mistä nimi johtuu. Klusterin neliöetäisyys minimoidaan.
- **Sentroidi-klusterointi**. Tämä suosittu algoritmi vaatii, että valitaan 'k', eli muodostettavien klusterien lukumäärä, jonka jälkeen algoritmi määrittää klusterin keskipisteen ja kerää dataa sen ympärille. [K-means-klusterointi](https://wikipedia.org/wiki/K-means_clustering) on suosittu sentroidi-klusteroinnin versio. Keskiarvo määräytyy lähimmän keskiarvon mukaan, mistä nimi. Klusterin neliöity etäisyys minimoidaan.
![Centroid-klusterointi Infografiikka](../../../../5-Clustering/1-Visualize/images/centroid.png)
![Centroid clustering Infographic](../../../../translated_images/fi/centroid.097fde836cf6c918.webp)
> Infografiikka: [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **Jakautumispohjainen klusterointi**. Tilastolliseen mallinnukseen perustuva jakautumispohjainen klusterointi keskittyy määrittämään todennäköisyyden, että datapiste kuuluu klusteriin, ja liittää sen sen mukaisesti. Gaussian-sekoitusmenetelmät kuuluvat tähän tyyppiin.
- **Jakautumispohjainen klusterointi**. Perustuu tilastolliseen mallintamiseen, jossa arvioidaan todennäköisyys, että datapiste kuuluu klusteriin, ja osoitetaan se vastaavasti. Gaussin seosmenetelmät kuuluvat tähän tyyppiin.
- **Tiheysperusteinen klusterointi**. Datapisteet liitetään klustereihin niiden tiheyden perusteella, eli niiden ryhmittymisen perusteella toistensa ympärille. Datapisteet, jotka ovat kaukana ryhmästä, katsotaan poikkeavuuksiksi tai meluksi. DBSCAN, Mean-shift ja OPTICS kuuluvat tähän klusterointityyppiin.
- **Tiheysperusteinen klusterointi**. Datapisteet jaetaan klustereihin niiden tiheyden mukaan, eli niiden ryhmittymisen perusteella toistensa ympärille. Etäällä ryhmästä olevat pisteet katsotaan poikkeamiksi tai kohinaksi. DBSCAN, Mean-shift ja OPTICS ovat tämän tyyppisiä klusterointimenetelmiä.
- **Ruudukkoon perustuva klusterointi**. Moniulotteisille dataseteille luodaan ruudukko, ja data jaetaan ruudukon soluihin, jolloin muodostuu klustereita.
- **Verkkopohjainen klusterointi**. Moniulotteisille aineistoille luodaan ruudukko, ja data jaetaan ruudukon soluihin, jolloin muodostuu klustereita.
## Harjoitus klusteroi datasi
## Harjoitus klusteroi dataasi
Klusterointitekniikkaa tukee suuresti asianmukainen visualisointi, joten aloitetaan visualisoimalla musiikkidatamme. Tämä harjoitus auttaa meitä päättämään, mitä klusterointimenetelmää tulisi käyttää tehokkaimmin tämän datan luonteen perusteella.
Klusterointia haetaan vahvistetuksi hyvästä visualisoinnista, joten aloitetaan musiikkidatan visualisoinnilla. Tämä harjoitus auttaa meitä päättämään, mitä klusterointimenetelmiä meidän kannattaa tehokkaimmin käyttää tämän datan luonteeseen.
1. Avaa [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) tiedosto tässä kansiossa.
1. Avaa tämän kansion [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) tiedosto.
1. Tuo `Seaborn`-paketti hyvää datan visualisointia varten.
@ -110,7 +109,7 @@ Klusterointitekniikkaa tukee suuresti asianmukainen visualisointi, joten aloitet
!pip install seaborn
```
1. Lisää kappaledata tiedostosta [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Lataa dataframe, jossa on tietoa kappaleista. Valmistaudu tutkimaan tätä dataa tuomalla kirjastot ja tulostamalla data:
1. Lisää kappaletiedot tiedostosta [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Lataa dataframe, jossa on tietoa kappaleista. Valmistaudu tutkimaan tätä dataa tuomalla kirjastot ja tulostamalla aineisto:
```python
import matplotlib.pyplot as plt
@ -120,17 +119,17 @@ Klusterointitekniikkaa tukee suuresti asianmukainen visualisointi, joten aloitet
df.head()
```
Tarkista datan ensimmäiset rivit:
Tarkista muutamat ensimmäiset rivit datasta:
| | nimi | albumi | artisti | artistin_genre | julkaisupäivä | pituus | suosio | tanssittavuus | akustisuus | energia | instrumentaalisuus | elävyyys | äänenvoimakkuus | puheisuus | tempo | aika-allekirjoitus |
| --- | ------------------------ | ---------------------------- | ------------------- | ------------------ | ------------- | ------ | ---------- | ------------- | ------------ | ------ | ------------------ | -------- | --------------- | --------- | ------- | ------------------ |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
| | name | album | artist | artist_top_genre | release_date | length | popularity | danceability | acousticness | energy | instrumentalness | liveness | loudness | speechiness | tempo | time_signature |
| --- | ------------------------ | ---------------------------- | ------------------- | ---------------- | ------------ | ------ | ---------- | ------------ | ------------ | ------ | ---------------- | -------- | -------- | ----------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
1. Hanki tietoa tietokehystä kutsumalla `info()`:
1. Hanki tietoja dataframesta kutsumalla `info()`:
```python
df.info()
@ -164,13 +163,13 @@ Klusterointitekniikkaa tukee suuresti asianmukainen visualisointi, joten aloitet
memory usage: 66.4+ KB
```
1. Tarkista null-arvot kutsumalla `isnull()` ja varmista, että summa on 0:
1. Tarkista vielä kerran puuttuvat arvot kutsumalla `isnull()` ja varmistamalla, että summa on 0:
```python
df.isnull().sum()
```
Näyttää hyväl:
Näyttää hyvälle:
```output
name 0
@ -192,7 +191,7 @@ Klusterointitekniikkaa tukee suuresti asianmukainen visualisointi, joten aloitet
dtype: int64
```
1. Kuvaile data:
1. Kuvaile dataa:
```python
df.describe()
@ -209,9 +208,9 @@ Klusterointitekniikkaa tukee suuresti asianmukainen visualisointi, joten aloitet
| 75% | 2017 | 242098.5 | 31 | 0.8295 | 0.403 | 0.87575 | 0.000234 | 0.164 | -3.331 | 0.177 | 125.03925 | 4 |
| max | 2020 | 511738 | 73 | 0.966 | 0.954 | 0.995 | 0.91 | 0.811 | 0.582 | 0.514 | 206.007 | 5 |
> 🤔 Jos työskentelemme klusteroinnin parissa, valvomatonta menetelmää, joka ei vaadi merkittyä dataa, miksi näytämme tämän datan etiketeillä? Tutkimusvaiheessa ne ovat hyödyllisiä, mutta klusterointialgoritmit eivät tarvitse niitä toimiakseen. Voisit yhtä hyvin poistaa sarakeotsikot ja viitata dataan sarakenumeron perusteella.
> 🤔 Jos työskentelemme klusteroinnin parissa, valvomatonta menetelmää, joka ei vaadi merkittyjä tietoja, miksi näytämme näitä tietoja tunnisteilla? Datatutkimuksen vaiheessa ne ovat hyödyllisiä, mutta klusterointialgoritmien toimintaan ne eivät ole välttämättömiä. Voisit yhtä hyvin poistaa sarakeotsikot ja viitata tietoihin sarakenumeron avulla.
Katso datan yleisiä arvoja. Huomaa, että suosio voi olla '0', mikä tarkoittaa kappaleita, joilla ei ole sijoitusta. Poistetaan ne pian.
Katso datan yleisiä arvoja. Huomaa, että suosiota voi olla '0', mikä tarkoittaa kappaleita, joilla ei ole sijoitusta. Poistetaan nämä pian.
1. Käytä pylväsdiagrammia selvittääksesi suosituimmat genret:
@ -225,11 +224,11 @@ Katso datan yleisiä arvoja. Huomaa, että suosio voi olla '0', mikä tarkoittaa
plt.title('Top genres',color = 'blue')
```
![most popular](../../../../5-Clustering/1-Visualize/images/popular.png)
![most popular](../../../../translated_images/fi/popular.9c48d84b3386705f.webp)
✅ Jos haluat nähdä enemmän huippuarvoja, muuta top `[:5]` suuremmaksi arvoksi tai poista se nähdäksesi kaikki.
✅ Jos haluat nähdä enemmän ylin arvoista, vaihda ylin `[:5]` suuremmaksi arvoksi tai poista se nähdäksesi kaikki.
Huomaa, kun huippugenre on kuvattu 'Missing', se tarkoittaa, että Spotify ei luokitellut sitä, joten poistetaan se.
Huomaa, että kun ylin genre on kuvattu nimellä 'Missing', se tarkoittaa, että Spotify ei luokitellut sitä, joten poistetaan se.
1. Poista puuttuvat tiedot suodattamalla ne pois
@ -242,11 +241,11 @@ Huomaa, kun huippugenre on kuvattu 'Missing', se tarkoittaa, että Spotify ei lu
plt.title('Top genres',color = 'blue')
```
Tarkista genret uudelleen:
Tarkista nyt genret uudelleen:
![most popular](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![most popular](../../../../translated_images/fi/all-genres.1d56ef06cefbfcd6.webp)
1. Selvästi kolme suosituinta genreä hallitsevat tätä datasettiä. Keskitytään `afro dancehall`, `afropop` ja `nigerian pop`, ja lisäksi suodatetaan datasetti poistamalla kaikki, joiden suosioarvo on 0 (mikä tarkoittaa, että niitä ei luokiteltu datasetissä ja niitä voidaan pitää meluna tarkoituksiimme):
1. Selvästi kolme parasta genreä hallitsevat tätä datasettiä. Keskitytään `afro dancehalliin`, `afropoppiin` ja `nigerian poppiin`, lisäksi suodatetaan datasetti poistamaan kaikki, joiden popularity-arvo on 0 (mikä tarkoittaa, että niitä ei ole luokiteltu suosion mukaan datasetissä ja niitä voidaan pitää kohinana tarkoituksiamme varten):
```python
df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')]
@ -266,21 +265,21 @@ Huomaa, kun huippugenre on kuvattu 'Missing', se tarkoittaa, että Spotify ei lu
sns.heatmap(corrmat, vmax=.8, square=True)
```
![correlations](../../../../5-Clustering/1-Visualize/images/correlation.png)
![correlations](../../../../translated_images/fi/correlation.a9356bb798f5eea5.webp)
Ainoa vahva korrelaatio on `energy` ja `loudness` välillä, mikä ei ole kovin yllättävää, koska äänekäs musiikki on yleensä melko energistä. Muuten korrelaatiot ovat suhteellisen heikkoja. On mielenkiintoista nähdä, mitä klusterointialgoritmi voi tehdä tämän datan kanssa.
Ainoa vahva korrelaatio on `energian` ja `loudnessin` välillä, mikä ei ole kovin yllättävää, koska kova ääni on yleensä melko energistä. Muuten korrelaatiot ovat melko heikkoja. On mielenkiintoista nähdä, mitä klusterointialgoritmi saa tästä datasta aikaan.
> 🎓 Huomaa, että korrelaatio ei tarkoita kausaatiota! Meillä on todiste korrelaatiosta, mutta ei todiste kausaatiosta. [Hauska verkkosivusto](https://tylervigen.com/spurious-correlations) sisältää visuaaleja, jotka korostavat tätä asiaa.
> 🎓 Huomaa, että korrelaatio ei tarkoita kausaatiota! Meillä on todiste korrelaatiosta, mutta ei kausaliteetista. [Hauska nettisivu](https://tylervigen.com/spurious-correlations) tarjoaa kuvia jotka korostavat tätä asiaa.
Onko tässä datasetissä yhteneväisyyttä kappaleen koetun suosion ja tanssittavuuden välillä? FacetGrid näyttää, että on keskittyneitä ympyröitä, jotka asettuvat linjaan genrestä riippumatta. Voisiko olla, että nigerialaiset mieltymykset keskittyvät tiettyyn tanssittavuuden tasoon tässä genressä?
Onko tässä datasetissä jonkinlaista yhtenevyyttä kappaleen koetun suosion ja tanssittavuuden välillä? FacetGrid näyttää, että siellä on konsentrisia renkaita, jotka asettuvat rinnakkain genrestä riippumatta. Voisiko olla, että Nigerialaiset maut yhtenevät tietyllä tanssittavuuden tasolla tällä genrellä?
✅ Kokeile eri datapisteitä (energy, loudness, speechiness) ja lisää tai eri musiikkigenrejä. Mitä voit löytää? Katso `df.describe()`-taulukkoa nähdäksesi datan yleisen jakauman.
✅ Kokeile eri datapisteitä (energia, loudness, speechiness) ja useampia tai eri musiikillisia genrejä. Mitä voit löytää? Katso `df.describe()` -taulukkoa nähdäksesi datan yleistä hajontaa.
### Harjoitus - datan jakauma
Ovatko nämä kolme genreä merkittävästi erilaisia tanssittavuuden suhteen niiden suosion perusteella?
Ovatko nämä kolme genreä merkittävästi erilaisia tanssittavuuden kokemuksen suhteen suosion perusteella?
1. Tutki kolmen suosituimman genren datan jakaumaa suosion ja tanssittavuuden osalta annetulla x- ja y-akselilla.
1. Tarkastele kolmen parhaan genren datan jakaumaa suosion ja tanssittavuuden suhteen annetulla x- ja y-akselilla.
```python
sns.set_theme(style="ticks")
@ -292,13 +291,13 @@ Ovatko nämä kolme genreä merkittävästi erilaisia tanssittavuuden suhteen ni
)
```
Voit löytää keskittyneitä ympyröitä yleisen yhtymäkohdan ympärillä, jotka näyttävät pisteiden jakauman.
Voit löytää konsentrisia renkaita yleisen yhtymäkohdan ympärillä, jotka näyttävät pisteiden jakauman.
> 🎓 Huomaa, että tämä esimerkki käyttää KDE (Kernel Density Estimate) -kaaviota, joka esittää datan jatkuvan todennäköisyystiheyskäyrän avulla. Tämä mahdollistaa datan tulkinnan, kun työskennellään useiden jakaumien kanssa.
> 🎓 Huomaa, että tämä esimerkki käyttää KDE (Kernel Density Estimate) -graafia, joka esittää dataa jatkuvana todennäköisyystiheyskäyränä. Tämä mahdollistaa datan tulkinnan työskenneltäessä useiden jakaumien kanssa.
Yleisesti ottaen kolme genreä asettuvat löyhästi linjaan suosion ja tanssittavuuden suhteen. Klusterien määrittäminen tässä löyhästi linjautuvassa datassa tulee olemaan haastavaa:
Yleisesti ottaen kolme genreä asettuvat löyhästi suosionsa ja tanssittavuuden suhteen. Klustereiden määrittäminen tässä löyhästi linjatussa datassa tulee olemaan haaste:
![distribution](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/fi/distribution.9be11df42356ca95.webp)
1. Luo hajontakaavio:
@ -308,31 +307,33 @@ Ovatko nämä kolme genreä merkittävästi erilaisia tanssittavuuden suhteen ni
.add_legend()
```
Hajontakaavio samoilla akseleilla näyttää samanlaisen yhtymäkohdan kuvion
Sama hajontakaavio näyttää samanlaisen yhtymän kuvion
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/fi/facetgrid.9b2e65ce707eba1f.webp)
Yleisesti ottaen klusterointia varten voit käyttää hajontakaavioita datan klustereiden näyttämiseen, joten tämän tyyppisen visualisoinnin hallitseminen on erittäin hyödyllistä. Seuraavassa oppitunnissa otamme tämän suodatetun datan ja käytämme k-means-klusterointia löytääksemme ryhmiä tästä datasta, jotka näyttävät olevan päällekkäisiä mielenkiintoisilla tavoilla.
Yleisesti klusterointia varten hajontakaavioita voidaan käyttää näyttämään datan klustereita, joten tämän visualisoinnin hallitseminen on erittäin hyödyllistä. Seuraavassa oppitunnissa käytämme tätä suodatettua dataa ja k-means-klusterointia löytääksemme ryhmiä, jotka näyttävät limittäytyvän mielenkiintoisella tavalla.
---
## 🚀Haaste
Valmistaudu seuraavaan oppituntiin tekemällä kaavio eri klusterointialgoritmeista, joita voit löytää ja käyttää tuotantoympäristössä. Minkälaisia ongelmia klusterointi yrittää ratkaista?
Valmistautuessasi seuraavaan oppituntiin, tee kaavio erilaisista klusterointialgoritmeista, joita voit löytää ja käyttää tuotantoympäristössä. Minkälaisia ongelmia klusterointi yrittää ratkaista?
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ml/)
## [Luennon jälkeinen tietovisa](https://ff-quizzes.netlify.app/en/ml/)
## Kertaus ja itseopiskelu
## Kertaus & Itsenäinen opiskelu
Ennen kuin sovellat klusterointialgoritmeja, kuten olemme oppineet, on hyvä idea ymmärtää datasetin luonne. Lue lisää tästä aiheesta [täältä](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
Ennen kuin sovellat klusterointialgoritmeja, kuten olemme oppineet, on hyvä ymmärtää datasetin luonne. Lue tästä aiheesta lisää [täältä](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
[Tämä hyödyllinen artikkeli](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) opastaa sinut läpi eri tapoja, joilla klusterointialgoritmit käyttäytyvät eri datamuotojen kanssa.
[Tämä hyödyllinen artikkeli](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) esittelee erilaisia tapoja, joilla klusterointialgoritmit toimivat erilaisissa datamuodoissa.
## Tehtävä
[Tutki muita visualisointeja klusterointia varten](assignment.md)
[Tutki muita klusteroinnin visualisointimenetelmiä](assignment.md)
---
**Vastuuvapauslauseke**:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastuuvapauslauseke**:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, otathan huomioon, että automaattiset käännökset saattavat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäiskielellä on virallinen lähde. Tärkeissä asioissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-Introduction/1-intro-to-ML/README.md": {
"original_hash": "69389392fa6346e0dfa30f664b7b6fec",
"translation_date": "2025-09-05T21:43:11+00:00",
"original_hash": "3a6394c6f5ce3f8aee8211e92eaf9ef0",
"translation_date": "2026-05-26T23:18:32+00:00",
"source_file": "1-Introduction/1-intro-to-ML/README.md",
"language_code": "no"
},
@ -240,8 +240,8 @@
"language_code": "no"
},
"5-Clustering/1-Visualize/README.md": {
"original_hash": "730225ea274c9174fe688b21d421539d",
"translation_date": "2025-09-05T21:27:24+00:00",
"original_hash": "08b00d9fbffc667a7fe7fc19ac00dfbd",
"translation_date": "2026-05-26T23:18:01+00:00",
"source_file": "5-Clustering/1-Visualize/README.md",
"language_code": "no"
},

@ -4,107 +4,112 @@
---
[![ML for nybegynnere - Introduksjon til maskinlæring for nybegynnere](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for nybegynnere - Introduksjon til maskinlæring for nybegynnere")
[![ML for beginners - Introduction to Machine Learning for Beginners](https://img.youtube.com/vi/6mSx_KJxcHI/0.jpg)](https://youtu.be/6mSx_KJxcHI "ML for beginners - Introduction to Machine Learning for Beginners")
> 🎥 Klikk på bildet over for en kort video som går gjennom denne leksjonen.
> 🎥 Klikk på bildet ovenfor for en kort video som går gjennom denne leksjonen.
Velkommen til dette kurset om klassisk maskinlæring for nybegynnere! Enten du er helt ny på dette temaet, eller en erfaren ML-praktiker som ønsker å friske opp kunnskapen, er vi glade for å ha deg med! Vi ønsker å skape et vennlig startpunkt for din ML-studie og vil gjerne evaluere, svare på og inkludere din [tilbakemelding](https://github.com/microsoft/ML-For-Beginners/discussions).
Velkommen til dette kurset om klassisk maskinlæring for nybegynnere! Enten du er helt ny på dette området, eller en erfaren ML-praktiker som ønsker å friske opp kunnskapen, er vi glade for at du vil bli med oss! Vi ønsker å skape et vennlig utgangspunkt for din ML-studier og vil gjerne evaluere, svare på, og inkorporere din [tilbakemelding](https://github.com/microsoft/ML-For-Beginners/discussions).
[![Introduksjon til ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduksjon til ML")
[![Introduction to ML](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "Introduction to ML")
> 🎥 Klikk på bildet over for en video: MITs John Guttag introduserer maskinlæring
> 🎥 Klikk på bildet ovenfor for en video: MITs John Guttag introduserer maskinlæring
---
## Komme i gang med maskinlæring
Før du starter med dette pensumet, må du ha datamaskinen din satt opp og klar til å kjøre notatbøker lokalt.
Før du starter med dette pensumet, må du ha datamaskinen din satt opp og klar til å kjøre notebooks lokalt.
- **Konfigurer maskinen din med disse videoene**. Bruk følgende lenker for å lære [hvordan du installerer Python](https://youtu.be/CXZYvNRIAKM) på systemet ditt og [setter opp en teksteditor](https://youtu.be/EU8eayHWoZg) for utvikling.
- **Lær Python**. Det anbefales også å ha en grunnleggende forståelse av [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), et programmeringsspråk som er nyttig for dataforskere og som vi bruker i dette kurset.
- **Lær Node.js og JavaScript**. Vi bruker også JavaScript noen ganger i dette kurset når vi bygger webapplikasjoner, så du må ha [node](https://nodejs.org) og [npm](https://www.npmjs.com/) installert, samt [Visual Studio Code](https://code.visualstudio.com/) tilgjengelig for både Python- og JavaScript-utvikling.
- **Opprett en GitHub-konto**. Siden du fant oss her på [GitHub](https://github.com), har du kanskje allerede en konto, men hvis ikke, opprett en og deretter fork dette pensumet for å bruke det selv. (Gi oss gjerne en stjerne også 😊)
- **Konfigurer maskinen din med disse videoene**. Bruk følgende lenker for å lære [hvordan installere Python](https://youtu.be/CXZYvNRIAKM) på systemet ditt og [sette opp en teksteditor](https://youtu.be/EU8eayHWoZg) for utvikling.
- **Lær Python**. Det anbefales også å ha en grunnleggende forståelse av [Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-77952-leestott), et programmeringsspråk som er nyttig for dataforskere, og som vi bruker i dette kurset.
- **Lær Node.js og JavaScript**. Vi bruker også JavaScript noen ganger i dette kurset når vi bygger webapper, så du må ha [node](https://nodejs.org) og [npm](https://www.npmjs.com/) installert, samt [Visual Studio Code](https://code.visualstudio.com/) tilgjengelig for både Python- og JavaScript-utvikling.
- **Opprett en GitHub-konto**. Siden du fant oss her på [GitHub](https://github.com), har du kanskje allerede en konto, men hvis ikke, opprett en og fork dette pensumet for å bruke det selv. (Gi oss gjerne en stjerne også 😊)
- **Utforsk Scikit-learn**. Gjør deg kjent med [Scikit-learn](https://scikit-learn.org/stable/user_guide.html), et sett med ML-biblioteker som vi refererer til i disse leksjonene.
---
## Hva er maskinlæring?
Begrepet 'maskinlæring' er et av de mest populære og ofte brukte begrepene i dag. Det er en betydelig sannsynlighet for at du har hørt dette begrepet minst én gang hvis du har en viss kjennskap til teknologi, uansett hvilket felt du jobber i. Mekanismene bak maskinlæring er imidlertid en gåte for de fleste. For en nybegynner innen maskinlæring kan emnet noen ganger føles overveldende. Derfor er det viktig å forstå hva maskinlæring faktisk er, og lære om det steg for steg, gjennom praktiske eksempler.
Begrepet 'maskinlæring' er et av de mest populære og ofte brukte uttrykkene i dag. Det er ganske sannsynlig at du har hørt dette begrepet minst én gang hvis du har en viss kjennskap til teknologi, uansett hvilket felt du jobber innenfor. Mekanikken bak maskinlæring er imidlertid et mysterium for de fleste. For en nybegynner kan temaet noen ganger føles overveldende. Derfor er det viktig å forstå hva maskinlæring faktisk er, og lære det steg for steg gjennom praktiske eksempler.
---
## Hypekurven
## Hype-kurven
![ml hype curve](../../../../1-Introduction/1-intro-to-ML/images/hype.png)
![ml hype curve](../../../../translated_images/no/hype.07183d711a17aafe.webp)
> Google Trends viser den nylige 'hypekurven' for begrepet 'maskinlæring'
> Google Trends viser den nylige 'hype-kurven' for begrepet 'maskinlæring'
---
## Et mystisk univers
Vi lever i et univers fullt av fascinerende mysterier. Store vitenskapsmenn som Stephen Hawking, Albert Einstein og mange flere har viet sine liv til å søke etter meningsfull informasjon som avdekker mysteriene i verden rundt oss. Dette er den menneskelige tilstanden for læring: et menneskebarn lærer nye ting og avdekker strukturen i sin verden år for år mens de vokser opp.
Vi lever i et univers fullt av fascinerende mysterier. Store forskere som Stephen Hawking, Albert Einstein og mange flere har viet livene sine til å lete etter meningsfull informasjon som avdekker mysteriene i verden rundt oss. Dette er menneskets natur når det gjelder læring: et menneskebarn lærer nye ting og avdekker strukturen i sin verden år for år mens det vokser opp til voksen alder.
---
## Barnets hjerne
Et barns hjerne og sanser oppfatter fakta fra omgivelsene og lærer gradvis de skjulte mønstrene i livet som hjelper barnet med å lage logiske regler for å identifisere lærte mønstre. Læringsprosessen til den menneskelige hjernen gjør mennesker til de mest sofistikerte levende skapningene i denne verden. Å lære kontinuerlig ved å oppdage skjulte mønstre og deretter innovere på disse mønstrene gjør oss i stand til å forbedre oss selv gjennom hele livet. Denne læringsevnen og utviklingskapasiteten er knyttet til et konsept kalt [hjernens plastisitet](https://www.simplypsychology.org/brain-plasticity.html). Overfladisk kan vi trekke noen motiverende likheter mellom læringsprosessen til den menneskelige hjernen og konseptene for maskinlæring.
Et barns hjerne og sanser oppfatter fakta om omgivelsene og lærer gradvis de skjulte mønstrene i livet, noe som hjelper barnet å lage logiske regler for å identifisere lærte mønstre. Læreprosessen i den menneskelige hjernen gjør mennesker til de mest sofistikerte levende skapningene i denne verden. Å lære kontinuerlig ved å oppdage skjulte mønstre og deretter innovere på dem gjør at vi kan forbedre oss selv gjennom hele livet. Denne læreevnen og utviklende kapasiteten er knyttet til et begrep kalt [hjerneplastisitet](https://www.simplypsychology.org/brain-plasticity.html). Overfladisk kan vi trekke noen motiverende likheter mellom menneskehjernens læringsprosess og begrepene i maskinlæring.
---
## Den menneskelige hjernen
Den [menneskelige hjernen](https://www.livescience.com/29365-human-brain.html) oppfatter ting fra den virkelige verden, behandler den oppfattede informasjonen, tar rasjonelle beslutninger og utfører visse handlinger basert på omstendigheter. Dette kaller vi å oppføre seg intelligent. Når vi programmerer en etterligning av den intelligente atferdsprosessen til en maskin, kalles det kunstig intelligens (AI).
[Den menneskelige hjernen](https://www.livescience.com/29365-human-brain.html) oppfatter ting fra virkeligheten, prosesserer den oppfattede informasjonen, tar rasjonelle beslutninger og utfører visse handlinger basert på omstendighetene. Dette kaller vi å opptre intelligent. Når vi programmerer en kopi av den intelligente atferdsprosessen til en maskin, kalles det kunstig intelligens (AI).
---
## Noen begreper
## Noe terminologi
Selv om begrepene kan forveksles, er maskinlæring (ML) en viktig underkategori av kunstig intelligens. **ML handler om å bruke spesialiserte algoritmer for å avdekke meningsfull informasjon og finne skjulte mønstre fra oppfattet data for å støtte den rasjonelle beslutningsprosessen**.
Selv om begrepene kan forveksles, er maskinlæring (ML) en viktig underkategori av kunstig intelligens. **ML handler om å bruke spesialiserte algoritmer for å avdekke meningsfull informasjon og finne skjulte mønstre i oppfattet data for å støtte den rasjonelle beslutningsprosessen**.
---
## AI, ML, Deep Learning
## AI, ML, dyp læring
![AI, ML, deep learning, data science](../../../../1-Introduction/1-intro-to-ML/images/ai-ml-ds.png)
![AI, ML, deep learning, data science](../../../../translated_images/no/ai-ml-ds.537ea441b124ebf6.webp)
> Et diagram som viser forholdet mellom AI, ML, deep learning og data science. Infografikk av [Jen Looper](https://twitter.com/jenlooper) inspirert av [denne grafikken](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
> Et diagram som viser forholdet mellom AI, ML, dyp læring og datavitenskap. Infografikk av [Jen Looper](https://twitter.com/jenlooper) inspirert av [denne grafikken](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)
---
## Konsepter vi skal dekke
## Begreper som skal dekkes
I dette pensumet skal vi dekke kun kjernebegrepene innen maskinlæring som en nybegynner må kjenne til. Vi dekker det vi kaller 'klassisk maskinlæring' hovedsakelig ved bruk av Scikit-learn, et utmerket bibliotek mange studenter bruker for å lære det grunnleggende. For å forstå bredere konsepter innen kunstig intelligens eller deep learning, er en sterk grunnleggende kunnskap om maskinlæring uunnværlig, og det ønsker vi å tilby her.
I dette pensumet skal vi dekke bare kjernebegrepene i maskinlæring som en nybegynner må kjenne til. Vi dekker det vi kaller 'klassisk maskinlæring' primært ved bruk av Scikit-learn, et utmerket bibliotek som mange studenter bruker for å lære det grunnleggende. For å forstå bredere begreper innen kunstig intelligens eller dyp læring, er det helt nødvendig med en sterk grunnleggende kunnskap i maskinlæring, og det ønsker vi å tilby her.
---
## I dette kurset vil du lære:
- kjernebegreper innen maskinlæring
- kjernebegrepene i maskinlæring
- historien til ML
- ML og rettferdighet
- regresjonsteknikker innen ML
- klassifiseringsteknikker innen ML
- klyngingsteknikker innen ML
- naturlig språkbehandlingsteknikker innen ML
- tidsserieprognoseteknikker innen ML
- regresjonsmetoder i ML
- klassifiseringsmetoder i ML
- klyngemetoder i ML
- naturlig språkbearbeiding i ML
- tidsserieprognoser i ML
- forsterkende læring
- virkelige applikasjoner for ML
- virkelige anvendelser av ML
---
## Hva vi ikke vil dekke
- deep learning
- dyp læring
- nevrale nettverk
- AI
For å gi en bedre læringsopplevelse, vil vi unngå kompleksiteten til nevrale nettverk, 'deep learning' - modellbygging med mange lag ved bruk av nevrale nettverk - og AI, som vi vil diskutere i et annet pensum. Vi vil også tilby et kommende pensum om data science for å fokusere på den delen av dette større feltet.
For å gi en bedre læringsopplevelse vil vi unngå kompleksiteten i nevrale nettverk, 'dyp læring' flerlags modellbygging ved bruk av nevrale nettverk og AI, som vi vil diskutere i et annet pensum. Vi vil også tilby et kommende datavitenskaps-pensum for å fokusere på det aspektet av dette større feltet.
---
## Hvorfor studere maskinlæring?
Maskinlæring, fra et systemperspektiv, defineres som opprettelsen av automatiserte systemer som kan lære skjulte mønstre fra data for å hjelpe til med å ta intelligente beslutninger.
Maskinlæring, sett fra et systemperspektiv, defineres som skapelsen av automatiserte systemer som kan lære skjulte mønstre fra data for å hjelpe til med å ta intelligente beslutninger.
Denne motivasjonen er løst inspirert av hvordan den menneskelige hjernen lærer visse ting basert på data den oppfatter fra omverdenen.
Denne motivasjonen er løst inspirert av hvordan den menneskelige hjernen lærer visse ting basert på data den oppfatter fra den ytre verden.
✅ Tenk et øyeblikk på hvorfor en bedrift ville ønske å bruke maskinlæringsstrategier i stedet for å lage en hardkodet regelbasert motor.
✅ Tenk et øyeblikk på hvorfor en bedrift ville prøve å bruke maskinlæringsstrategier i stedet for å lage en regler-basert motor med hardkodede regler.
---
## Applikasjoner av maskinlæring
## Hvorfor datakvalitet er viktig
Applikasjoner av maskinlæring er nå nesten overalt, og er like utbredt som dataene som flyter rundt i våre samfunn, generert av våre smarttelefoner, tilkoblede enheter og andre systemer. Med tanke på det enorme potensialet til moderne maskinlæringsalgoritmer, har forskere utforsket deres evne til å løse multidimensjonale og tverrfaglige virkelige problemer med svært positive resultater.
Data av høy kvalitet forbedrer modellens ytelse. Dårlige eller støyende data kan føre til unøyaktige prediksjoner, selv når man bruker avanserte maskinlæringsalgoritmer.
---
## Anvendelser av maskinlæring
Anvendelser av maskinlæring finnes nå nesten overalt, og er like allestedsnærværende som dataene som flyter rundt i samfunnet vårt, generert av smarttelefoner, tilkoblede enheter og andre systemer. Med tanke på det enorme potensialet til moderne maskinlæringsalgoritmer, har forskere utforsket deres evne til å løse multidimensjonale og flerfaglige virkelige problemer med gode, positive resultater.
---
## Eksempler på anvendt ML
@ -112,32 +117,32 @@ Applikasjoner av maskinlæring er nå nesten overalt, og er like utbredt som dat
**Du kan bruke maskinlæring på mange måter**:
- For å forutsi sannsynligheten for sykdom basert på en pasients medisinske historie eller rapporter.
- For å utnytte værdata til å forutsi værhendelser.
- For å bruke værdata til å forutsi værhendelser.
- For å forstå sentimentet i en tekst.
- For å oppdage falske nyheter for å stoppe spredningen av propaganda.
- For å oppdage falske nyheter for å stoppe spredning av propaganda.
Finans, økonomi, geovitenskap, romutforskning, biomedisinsk ingeniørkunst, kognitiv vitenskap og til og med humanistiske fag har tilpasset maskinlæring for å løse de krevende, databehandlingsintensive problemene i deres felt.
Finans, økonomi, jordvitenskap, romforskning, biomedisinsk ingeniørfag, kognitiv vitenskap og til og med humaniora har tilpasset maskinlæring for å løse de utfordrende, datatunge problemene i sine felter.
---
## Konklusjon
Maskinlæring automatiserer prosessen med mønsteroppdagelse ved å finne meningsfulle innsikter fra virkelige eller genererte data. Det har vist seg å være svært verdifullt i forretnings-, helse- og finansapplikasjoner, blant andre.
Maskinlæring automatiserer prosessen med å oppdage mønstre ved å finne meningsfulle innsikter fra virkelige eller genererte data. Det har vist seg å være svært verdifullt innen virksomhet, helse og finans, blant annet.
I nær fremtid vil det å forstå det grunnleggende om maskinlæring bli et must for folk fra alle felt på grunn av dens utbredte adopsjon.
I nær fremtid vil det være nødvendig for folk i alle felt å forstå det grunnleggende om maskinlæring på grunn av den brede adopsjonen.
---
# 🚀 Utfordring
Skisser, på papir eller ved bruk av en online app som [Excalidraw](https://excalidraw.com/), din forståelse av forskjellene mellom AI, ML, deep learning og data science. Legg til noen ideer om problemer som hver av disse teknikkene er gode til å løse.
Skissér, på papir eller ved bruk av en nettapp som [Excalidraw](https://excalidraw.com/), din forståelse av forskjellene mellom AI, ML, dyp læring og datavitenskap. Legg til noen tanker om hvilke problemer hver av disse teknikkene er gode til å løse.
# [Quiz etter forelesning](https://ff-quizzes.netlify.app/en/ml/)
---
# Gjennomgang & Selvstudie
# Gjennomgang & Selvstudium
For å lære mer om hvordan du kan jobbe med ML-algoritmer i skyen, følg denne [Læringsstien](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott).
For å lære mer om hvordan du kan jobbe med ML-algoritmer i skyen, følg denne [læringsveien](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-77952-leestott).
Ta en [Læringssti](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) om det grunnleggende innen ML.
Ta en [læringsvei](https://docs.microsoft.com/learn/modules/introduction-to-machine-learning/?WT.mc_id=academic-77952-leestott) om det grunnleggende i ML.
---
# Oppgave
@ -146,5 +151,7 @@ Ta en [Læringssti](https://docs.microsoft.com/learn/modules/introduction-to-mac
---
**Ansvarsfraskrivelse**:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi tilstreber nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfraskrivelse**:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal betraktes som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,116 +1,115 @@
# Introduksjon til klynging
# Innføring i klynging
Klynging er en type [Usupervisert læring](https://wikipedia.org/wiki/Unsupervised_learning) som forutsetter at et datasett er umerket eller at dets input ikke er koblet til forhåndsdefinerte output. Det bruker ulike algoritmer for å sortere gjennom umerket data og gi grupperinger basert på mønstre det oppdager i dataen.
Klynging er en type [Uovervåket læring](https://wikipedia.org/wiki/Unsupervised_learning) som forutsetter at et datasett er umerket eller at dets innganger ikke er knyttet til forhåndsdefinerte utganger. Den bruker ulike algoritmer for å sortere gjennom umerkede data og gi grupperinger i henhold til mønstre den skiller ut i dataene.
[![No One Like You av PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You av PSquare")
[![No One Like You by PSquare](https://img.youtube.com/vi/ty2advRiWJM/0.jpg)](https://youtu.be/ty2advRiWJM "No One Like You by PSquare")
> 🎥 Klikk på bildet over for en video. Mens du studerer maskinlæring med klynging, nyt noen nigerianske Dance Hall-låter dette er en høyt rangert sang fra 2014 av PSquare.
> 🎥 Klikk på bildet over for en video. Mens du studerer maskinlæring med klynging, kan du nyte noen nigerianske Dance Hall-spor - dette er en høyt vurdert sang fra 2014 av PSquare.
## [Quiz før forelesning](https://ff-quizzes.netlify.app/en/ml/)
## [Før-forelesningsquiz](https://ff-quizzes.netlify.app/en/ml/)
### Introduksjon
### Innledning
[Klynging](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) er svært nyttig for datautforskning. La oss se om det kan hjelpe med å oppdage trender og mønstre i hvordan nigerianske publikum konsumerer musikk.
[Klynging](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) er veldig nyttig for datautforskning. La oss se om det kan hjelpe med å oppdage trender og mønstre i hvordan nigerianske publikum konsumerer musikk.
✅ Ta et øyeblikk til å tenke på bruksområdene for klynging. I hverdagen skjer klynging når du har en haug med klesvask og må sortere familiemedlemmenes klær 🧦👕👖🩲. I dataanalyse skjer klynging når man prøver å analysere en brukers preferanser eller bestemme egenskapene til et umerket datasett. Klynging hjelper på en måte med å skape orden i kaos, som en sokkeskuff.
✅ Ta et minutt for å tenke på bruken av klynging. I det virkelige liv skjer klynging når du har en haug med skittentøy og må sortere familiemedlemmenes klær 🧦👕👖🩲. I datavitenskap skjer klynging når man prøver å analysere en brukers preferanser, eller bestemme egenskapene til et hvilket som helst umerket datasett. Klynging, på en måte, hjelper med å gi mening til kaos, som en sokkeskuff.
[![Introduksjon til ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Introduksjon til klynging")
[![Innledning til ML](https://img.youtube.com/vi/esmzYhuFnds/0.jpg)](https://youtu.be/esmzYhuFnds "Innledning til klynging")
> 🎥 Klikk på bildet over for en video: MITs John Guttag introduserer klynging
I en profesjonell setting kan klynging brukes til å bestemme ting som markedssegmentering, for eksempel å finne ut hvilke aldersgrupper som kjøper hvilke varer. Et annet bruksområde kan være å oppdage avvik, kanskje for å oppdage svindel i et datasett med kredittkorttransaksjoner. Eller du kan bruke klynging til å identifisere svulster i en samling medisinske skanninger.
I en profesjonell setting kan klynging brukes til å bestemme ting som markedssegmentering, for eksempel å finne ut hvilke aldersgrupper som kjøper hvilke varer. En annen bruk kan være anomalioppdagelse, kanskje for å oppdage svindel i et datasett med kredittkorttransaksjoner. Eller du kan bruke klynging for å finne svulster i en rekke medisinske skanninger.
✅ Tenk et øyeblikk på hvordan du kan ha støtt på klynging 'i det virkelige liv', i en bank-, e-handels- eller forretningssetting.
✅ Tenk et minutt over hvordan du kan ha møtt klynging 'i det fri', i bank-, e-handel- eller forretningssammenheng.
> 🎓 Interessant nok oppsto klyngeanalyse innenfor feltene antropologi og psykologi på 1930-tallet. Kan du forestille deg hvordan det kan ha blitt brukt?
> 🎓 Interessant nok oppstod klynganalyse innenfor antropologi og psykologi på 1930-tallet. Kan du forestille deg hvordan det kan ha blitt brukt?
Alternativt kan du bruke det til å gruppere søkeresultater for eksempel etter shoppinglenker, bilder eller anmeldelser. Klynging er nyttig når du har et stort datasett som du vil redusere og utføre mer detaljert analyse på, så teknikken kan brukes til å lære om data før andre modeller bygges.
Alternativt kan du bruke det for å gruppere søkeresultater - etter handlelenker, bilder eller anmeldelser, for eksempel. Klynging er nyttig når du har et stort datasett som du ønsker å redusere og på hvilket du ønsker å utføre mer granulær analyse, så teknikken kan brukes for å lære om data før andre modeller bygges.
✅ Når dataen din er organisert i klynger, tildeler du den en klynge-ID, og denne teknikken kan være nyttig for å bevare et datasets personvern; du kan i stedet referere til et datapunkt med klynge-ID-en, i stedet for med mer avslørende identifiserbare data. Kan du tenke på andre grunner til hvorfor du ville referere til en klynge-ID i stedet for andre elementer i klyngen for å identifisere den?
Fordyp deg i klyngingsteknikker i denne [Learn-modulen](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott)
✅ Når dataene dine er organisert i klynger, tildeler du det en klynge-ID, og denne teknikken kan være nyttig for å bevare datamengdens personvern; du kan i stedet referere til et datapunkt ved dets klynge-ID, i stedet for ved mer avslørende identifiserbare data. Kan du tenke på andre grunner til at du vil referere til en klynge-ID fremfor andre elementer i klyngen for å identifisere den?
Fordyp din forståelse av klyngingsteknikker i denne [Lær-modulen](https://docs.microsoft.com/learn/modules/train-evaluate-cluster-models?WT.mc_id=academic-77952-leestott)
## Komme i gang med klynging
[Scikit-learn tilbyr et stort utvalg](https://scikit-learn.org/stable/modules/clustering.html) av metoder for å utføre klynging. Typen du velger vil avhenge av bruksområdet ditt. Ifølge dokumentasjonen har hver metode ulike fordeler. Her er en forenklet tabell over metodene som støttes av Scikit-learn og deres passende bruksområder:
| Metodenavn | Bruksområde |
| :--------------------------- | :---------------------------------------------------------------------- |
| K-Means | generell bruk, induktiv |
| Affinity propagation | mange, ujevne klynger, induktiv |
| Mean-shift | mange, ujevne klynger, induktiv |
| Spectral clustering | få, jevne klynger, transduktiv |
| Ward hierarchical clustering | mange, begrensede klynger, transduktiv |
| Agglomerative clustering | mange, begrensede, ikke-Euklidiske avstander, transduktiv |
| DBSCAN | ikke-flat geometri, ujevne klynger, transduktiv |
| OPTICS | ikke-flat geometri, ujevne klynger med variabel tetthet, transduktiv |
| Gaussian mixtures | flat geometri, induktiv |
| BIRCH | stort datasett med uteliggere, induktiv |
> 🎓 Hvordan vi lager klynger har mye å gjøre med hvordan vi samler datapunktene i grupper. La oss pakke ut litt vokabular:
>
[Scikit-learn tilbyr et stort utvalg](https://scikit-learn.org/stable/modules/clustering.html) av metoder for å utføre klynging. Typen du velger avhenger av ditt brukstilfelle. Ifølge dokumentasjonen har hver metode ulike fordeler. Her er en forenklet tabell over metodene som støttes av Scikit-learn og deres passende bruksområder:
| Metodenavn | Bruksområde |
| :--------------------------- | :-------------------------------------------------------------------- |
| K-Means | generell anvendelse, induktiv |
| Affinity propagation | mange, ujevne klynger, induktiv |
| Mean-shift | mange, ujevne klynger, induktiv |
| Spectral clustering | få, jevne klynger, transduktiv |
| Ward hierarkisk klynging | mange, begrensede klynger, transduktiv |
| Agglomerativ klynging | mange, begrensede, ikke-euklidiske avstander, transduktiv |
| DBSCAN | ikke-flat geometri, ujevne klynger, transduktiv |
| OPTICS | ikke-flat geometri, ujevne klynger med variabel tetthet, transduktiv |
| Gaussiske blandinger | flat geometri, induktiv |
| BIRCH | stort datasett med uteliggere, induktiv |
> 🎓 Hvordan vi lager klynger har mye å gjøre med hvordan vi samler datapunktene i grupper. La oss gå gjennom noe vokabular:
>
> 🎓 ['Transduktiv' vs. 'induktiv'](https://wikipedia.org/wiki/Transduction_(machine_learning))
>
> Transduktiv inferens er avledet fra observerte treningscaser som kartlegges til spesifikke testcaser. Induktiv inferens er avledet fra treningscaser som kartlegges til generelle regler som deretter brukes på testcaser.
> Transduktiv inferens er avledet fra observerte treningsdata som mappes til spesifikke testtilfeller. Induktiv inferens er avledet fra treningsdata som mappes til generelle regler som først deretter anvendes på testtilfeller.
>
> Et eksempel: Tenk deg at du har et datasett som bare delvis er merket. Noen ting er 'plater', noen 'CD-er', og noen er blanke. Din oppgave er å gi etiketter til de blanke. Hvis du velger en induktiv tilnærming, vil du trene en modell som ser etter 'plater' og 'CD-er', og bruke disse etikettene på din umerkede data. Denne tilnærmingen vil ha problemer med å klassifisere ting som faktisk er 'kassetter'. En transduktiv tilnærming, derimot, håndterer denne ukjente dataen mer effektivt ved å jobbe for å gruppere lignende elementer sammen og deretter bruke en etikett på en gruppe. I dette tilfellet kan klynger reflektere 'runde musikalske ting' og 'firkantede musikalske ting'.
> Et eksempel: Tenk at du har et datasett som bare delvis er merket. Noe er 'plater', noe 'cd-er', og noe er blankt. Din oppgave er å gi etiketter til blankene. Hvis du velger en induktiv tilnærming, vil du trene en modell som søker etter 'plater' og 'cd-er', og anvender disse etikettene på dine umerkede data. Denne tilnærmingen vil ha problemer med å klassifisere ting som faktisk er 'kassetter'. En transduktiv tilnærming, derimot, håndterer disse ukjente dataene mer effektivt ved å jobbe for å gruppere lignende ting sammen og deretter anvender en etikett på en gruppe. I dette tilfellet kan klyngene reflektere 'runde musikalske ting' og 'firkantede musikalske ting'.
>
> 🎓 ['Ikke-flat' vs. 'flat' geometri](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering)
>
> Avledet fra matematisk terminologi, refererer ikke-flat vs. flat geometri til målingen av avstander mellom punkter ved enten 'flat' ([Euklidisk](https://wikipedia.org/wiki/Euclidean_geometry)) eller 'ikke-flat' (ikke-Euklidisk) geometriske metoder.
>
>'Flat' i denne sammenhengen refererer til Euklidisk geometri (deler av dette læres som 'plan' geometri), og ikke-flat refererer til ikke-Euklidisk geometri. Hva har geometri med maskinlæring å gjøre? Vel, som to felt som er forankret i matematikk, må det være en felles måte å måle avstander mellom punkter i klynger, og det kan gjøres på en 'flat' eller 'ikke-flat' måte, avhengig av dataens natur. [Euklidiske avstander](https://wikipedia.org/wiki/Euclidean_distance) måles som lengden på en linjesegment mellom to punkter. [Ikke-Euklidiske avstander](https://wikipedia.org/wiki/Non-Euclidean_geometry) måles langs en kurve. Hvis dataen din, visualisert, ser ut til å ikke eksistere på et plan, kan det hende du må bruke en spesialisert algoritme for å håndtere det.
> Avledet fra matematisk terminologi, refererer ikke-flat vs. flat geometri til måling av avstander mellom punkter enten ved 'flat' ([Euklidisk](https://wikipedia.org/wiki/Euclidean_geometry)) eller 'ikke-flat' (ikke-euklidisk) geometriske metoder.
>
> 'Flat' i denne sammenheng refererer til euklidisk geometri (deler av dette undervises som 'plan' geometri), og ikke-flat refererer til ikke-euklidisk geometri. Hva har geometri med maskinlæring å gjøre? Vel, som to fagfelt som er forankret i matematikk må det finnes en felles måte å måle avstander mellom punkter i klynger, og det kan gjøres på en 'flat' eller 'ikke-flat' måte, avhengig av datanatur. [Euklidiske avstander](https://wikipedia.org/wiki/Euclidean_distance) måles som lengden av en linjesegment mellom to punkter. [Ikke-euklidiske avstander](https://wikipedia.org/wiki/Non-Euclidean_geometry) måles langs en kurve. Hvis dine data, visualisert, ser ut til ikke å eksistere på et plan, kan du trenge å bruke en spesialisert algoritme for å håndtere det.
>
![Flat vs Ikke-flat Geometri Infografikk](../../../../5-Clustering/1-Visualize/images/flat-nonflat.png)
>![Flat vs Ikke-flat Geometri Infografikk](../../../../translated_images/no/flat-nonflat.d1c8c6e2a96110c1.webp)
> Infografikk av [Dasani Madipalli](https://twitter.com/dasani_decoded)
>
> 🎓 ['Avstander'](https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf)
>
> Klynger defineres av deres avstandsmatrise, f.eks. avstandene mellom punkter. Denne avstanden kan måles på flere måter. Euklidiske klynger defineres av gjennomsnittet av punktverdiene, og inneholder et 'sentroid' eller midtpunkt. Avstander måles dermed ved avstanden til dette sentroidet. Ikke-Euklidiske avstander refererer til 'clustroids', punktet nærmest andre punkter. Clustroids kan på sin side defineres på ulike måter.
> Klynger blir definert av deres avstandsmatrise, f.eks. avstandene mellom punkter. Denne avstanden kan måles på flere måter. Euklidiske klynger defineres av gjennomsnittet av punktverdiene, og inneholder et 'sentroid' eller midtpunkt. Avstander måles dermed i forhold til avstanden til det sentroid. Ikke-euklidiske avstander refererer til 'klustroider', det punktet som er nærmest andre punkter. Klustroider kan defineres på ulike måter.
>
> 🎓 ['Begrenset'](https://wikipedia.org/wiki/Constrained_clustering)
>
> [Begrenset klynging](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduserer 'semi-supervisert' læring i denne usuperviserte metoden. Forholdene mellom punkter flagges som 'kan ikke kobles' eller 'må kobles', slik at noen regler tvinges på datasettet.
> [Begrenset klynging](https://web.cs.ucdavis.edu/~davidson/Publications/ICDMTutorial.pdf) introduserer 'semi-overvåket' læring i denne uovervåkede metoden. Relasjonene mellom punkter markeres som 'kan ikke kobles' eller 'må kobles' slik at noen regler pålegges datasettet.
>
>Et eksempel: Hvis en algoritme slippes løs på en batch med umerket eller semi-merket data, kan klyngene den produserer være av dårlig kvalitet. I eksemplet ovenfor kan klyngene gruppere 'runde musikalske ting' og 'firkantede musikalske ting' og 'trekantede ting' og 'kjeks'. Hvis algoritmen får noen begrensninger, eller regler å følge ("elementet må være laget av plast", "elementet må kunne produsere musikk"), kan dette hjelpe med å 'begrense' algoritmen til å ta bedre valg.
> Et eksempel: Hvis en algoritme slippes fri på en batch med umerkede eller semi-merkede data, kan kvaliteten på klyngene den produserer bli dårlig. I eksempelet ovenfor kan klyngene gruppert 'runde musikk ting' og 'firkantede musikk ting' og 'trekantede ting' og 'kjeks'. Om man gir noen begrensninger, eller regler å følge ("gjenstanden må være laget av plast", "gjenstanden må kunne produsere musikk") kan dette hjelpe med å 'begrense' algoritmen til å gjøre bedre valg.
>
> 🎓 'Tetthet'
>
> Data som er 'støyete' anses å være 'tett'. Avstandene mellom punkter i hver av klyngene kan vise seg, ved undersøkelse, å være mer eller mindre tette, eller 'trange', og dermed må denne dataen analyseres med den passende klyngemetoden. [Denne artikkelen](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) demonstrerer forskjellen mellom å bruke K-Means klynging vs. HDBSCAN-algoritmer for å utforske et støyete datasett med ujevn klyngetetthet.
> Data som er 'støyende' anses som 'tett'. Avstandene mellom punkter i hver klynge kan på undersøkelse vise seg å være mer eller mindre tett, eller 'trangt', og disse dataene trenger å analyseres med passende klyngemetode. [Denne artikkelen](https://www.kdnuggets.com/2020/02/understanding-density-based-clustering.html) demonstrerer forskjellen mellom bruk av K-Means klynging vs. HDBSCAN-algoritmer for å utforske et støyende datasett med ujevn klyngtetthet.
## Klyngealgoritmer
## Klyngingsalgoritmer
Det finnes over 100 klyngealgoritmer, og deres bruk avhenger av naturen til dataen som skal analyseres. La oss diskutere noen av de viktigste:
Det finnes over 100 klyngingsalgoritmer, og deres bruk avhenger av datas natur. La oss diskutere noen av hovedtypene:
- **Hierarkisk klynging**. Hvis et objekt klassifiseres basert på dets nærhet til et nærliggende objekt, snarere enn til et som er lenger unna, dannes klynger basert på avstanden mellom medlemmene. Scikit-learns agglomerative klynging er hierarkisk.
- **Hierarkisk klynging**. Hvis et objekt klassifiseres etter sin nærhet til et nærliggende objekt, heller enn til ett lenger unna, dannes klynger basert på medlemmers avstand til og fra andre objekter. Scikit-learns agglomerative klynging er hierarkisk.
![Hierarkisk klynging Infografikk](../../../../5-Clustering/1-Visualize/images/hierarchical.png)
![Hierarkisk klynging Infografikk](../../../../translated_images/no/hierarchical.bf59403aa43c8c47.webp)
> Infografikk av [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **Sentroid klynging**. Denne populære algoritmen krever valg av 'k', eller antall klynger som skal dannes, hvoretter algoritmen bestemmer midtpunktet for en klynge og samler data rundt dette punktet. [K-means klynging](https://wikipedia.org/wiki/K-means_clustering) er en populær versjon av sentroid klynging. Midtpunktet bestemmes av nærmeste gjennomsnitt, derav navnet. Den kvadrerte avstanden fra klyngen minimeres.
- **Sentroid-klynging**. Denne populære algoritmen krever valg av 'k', eller antall klynger som skal dannes, hvoretter algoritmen bestemmer midtpunktet for en klynge og samler data rundt dette punktet. [K-means klynging](https://wikipedia.org/wiki/K-means_clustering) er en populær versjon av sentroid-klynging. Midtpunktet bestemmes av nærmeste gjennomsnitt, derav navnet. Den kvadrerte avstanden fra klyngen minimeres.
![Sentroid klynging Infografikk](../../../../5-Clustering/1-Visualize/images/centroid.png)
![Sentroid-klynging Infografikk](../../../../translated_images/no/centroid.097fde836cf6c918.webp)
> Infografikk av [Dasani Madipalli](https://twitter.com/dasani_decoded)
- **Distribusjonsbasert klynging**. Basert på statistisk modellering, fokuserer distribusjonsbasert klynging på å bestemme sannsynligheten for at et datapunkt tilhører en klynge, og tilordner det deretter. Gaussian mixture-metoder tilhører denne typen.
- **Distribusjonsbasert klynging**. Basert på statistisk modellering, fokuserer distribusjonsbasert klynging på å bestemme sannsynligheten for at et datapunkt tilhører en klynge, og tildeler det deretter. Gaussiske blandingsmetoder tilhører denne typen.
- **Tetthetsbasert klynging**. Datapunkter tilordnes klynger basert på deres tetthet, eller deres gruppering rundt hverandre. Datapunkter langt fra gruppen anses som uteliggere eller støy. DBSCAN, Mean-shift og OPTICS tilhører denne typen klynging.
- **Tetthetsbasert klynging**. Datapunkter tildeles klynger basert på deres tetthet, eller deres gruppering rundt hverandre. Datapunkter langt fra gruppen anses som uteliggere eller støy. DBSCAN, Mean-shift og OPTICS tilhører denne typen klynging.
- **Grid-basert klynging**. For multidimensjonale datasett opprettes et rutenett, og dataen deles mellom rutenettets celler, og skaper dermed klynger.
- **Rutenettbasert klynging**. For flerdimensjonale datasett opprettes et rutenett, og dataene deles mellom rutenettcellene, slik at klynger dannes.
## Øvelse klyng dataen din
## Oppgave - klyng dine data
Klynging som teknikk støttes sterkt av god visualisering, så la oss komme i gang med å visualisere musikkdataen vår. Denne øvelsen vil hjelpe oss med å avgjøre hvilken av klyngemetodene vi mest effektivt bør bruke for naturen til denne dataen.
Klynging som teknikk støttes sterkt av god visualisering, så la oss starte med å visualisere musikkdataene våre. Denne øvelsen vil hjelpe oss med å avgjøre hvilken av klyngemetodene vi bør bruke mest effektivt for denne datatypen.
1. Åpne filen [_notebook.ipynb_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/1-Visualize/notebook.ipynb) i denne mappen.
1. Importer pakken `Seaborn` for god visualisering av data.
1. Importer `Seaborn`-pakken for god datavisualisering.
```python
!pip install seaborn
```
1. Legg til musikkdataen fra [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Last opp en dataframe med noen data om sangene. Gjør deg klar til å utforske denne dataen ved å importere bibliotekene og skrive ut dataen:
1. Legg til sangdata fra [_nigerian-songs.csv_](https://github.com/microsoft/ML-For-Beginners/blob/main/5-Clustering/data/nigerian-songs.csv). Last inn en dataframe med noen data om sangene. Gjør deg klar til å utforske disse dataene ved å importere bibliotekene og skrive ut dataene:
```python
import matplotlib.pyplot as plt
@ -120,23 +119,23 @@ Klynging som teknikk støttes sterkt av god visualisering, så la oss komme i ga
df.head()
```
Sjekk de første linjene med data:
Sjekk de første linjene av data:
| | navn | album | artist | artist_top_genre | release_date | lengde | popularitet | dansbarhet | akustisitet | energi | instrumentalisme | livlighet | lydstyrke | talbarhet | tempo | taktart |
| --- | ------------------------ | ---------------------------- | ------------------- | ---------------- | ------------ | ------ | ---------- | ---------- | ------------ | ------ | ---------------- | -------- | -------- | --------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternativ r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigerian pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
| | name | album | artist | artist_top_genre | release_date | length | popularity | danceability | acousticness | energy | instrumentalness | liveness | loudness | speechiness | tempo | time_signature |
| --- | ------------------------ | ---------------------------- | ------------------- | ---------------- | ------------ | ------ | ---------- | ------------ | ------------ | ------ | ---------------- | -------- | -------- | ----------- | ------- | -------------- |
| 0 | Sparky | Mandy & The Jungle | Cruel Santino | alternative r&b | 2019 | 144000 | 48 | 0.666 | 0.851 | 0.42 | 0.534 | 0.11 | -6.699 | 0.0829 | 133.015 | 5 |
| 1 | shuga rush | EVERYTHING YOU HEARD IS TRUE | Odunsi (The Engine) | afropop | 2020 | 89488 | 30 | 0.71 | 0.0822 | 0.683 | 0.000169 | 0.101 | -5.64 | 0.36 | 129.993 | 3 |
| 2 | LITT! | LITT! | AYLØ | indie r&b | 2018 | 207758 | 40 | 0.836 | 0.272 | 0.564 | 0.000537 | 0.11 | -7.127 | 0.0424 | 130.005 | 4 |
| 3 | Confident / Feeling Cool | Enjoy Your Life | Lady Donli | nigeriansk pop | 2019 | 175135 | 14 | 0.894 | 0.798 | 0.611 | 0.000187 | 0.0964 | -4.961 | 0.113 | 111.087 | 4 |
| 4 | wanted you | rare. | Odunsi (The Engine) | afropop | 2018 | 152049 | 25 | 0.702 | 0.116 | 0.833 | 0.91 | 0.348 | -6.044 | 0.0447 | 105.115 | 4 |
1. Få litt informasjon om dataframe, ved å kalle `info()`:
1. Få noe informasjon om dataframen ved å kalle `info()`:
```python
df.info()
```
Utdata ser slik ut:
Utskriften ser slik ut:
```output
<class 'pandas.core.frame.DataFrame'>
@ -164,7 +163,7 @@ Klynging som teknikk støttes sterkt av god visualisering, så la oss komme i ga
memory usage: 66.4+ KB
```
1. Dobbeltsjekk for nullverdier, ved å kalle `isnull()` og verifisere at summen er 0:
1. Dobbeltsjekk for nullverdier ved å kalle `isnull()` og verifisere at summen er 0:
```python
df.isnull().sum()
@ -192,7 +191,7 @@ Klynging som teknikk støttes sterkt av god visualisering, så la oss komme i ga
dtype: int64
```
1. Beskriv dataen:
1. Beskriv dataene:
```python
df.describe()
@ -209,11 +208,11 @@ Klynging som teknikk støttes sterkt av god visualisering, så la oss komme i ga
| 75% | 2017 | 242098.5 | 31 | 0.8295 | 0.403 | 0.87575 | 0.000234 | 0.164 | -3.331 | 0.177 | 125.03925 | 4 |
| max | 2020 | 511738 | 73 | 0.966 | 0.954 | 0.995 | 0.91 | 0.811 | 0.582 | 0.514 | 206.007 | 5 |
> 🤔 Hvis vi jobber med clustering, en usupervisert metode som ikke krever merket data, hvorfor viser vi denne dataen med etiketter? I utforskningsfasen av dataen er de nyttige, men de er ikke nødvendige for at clustering-algoritmer skal fungere. Du kan like gjerne fjerne kolonneoverskriftene og referere til dataen med kolonnenummer.
> 🤔 Hvis vi jobber med klynging, en uovervåket metode som ikke krever merket data, hvorfor viser vi da disse dataene med etiketter? I fase for datautforskning er de nyttige, men de er ikke nødvendige for at klyngealgoritmene skal fungere. Man kan like gjerne fjerne kolonneoverskriftene og referere til dataene via kolonnenummer.
Se på de generelle verdiene i dataen. Merk at popularitet kan være '0', som viser sanger som ikke har noen rangering. La oss fjerne disse snart.
Se på de generelle verdiene i dataene. Merk at popularitet kan være '0', som viser sanger uten rangering. La oss fjerne disse snart.
1. Bruk et stolpediagram for å finne de mest populære sjangrene:
1. Bruk et stolpediagram for å finne ut hvilke sjangre som er mest populære:
```python
import seaborn as sns
@ -225,11 +224,11 @@ Se på de generelle verdiene i dataen. Merk at popularitet kan være '0', som vi
plt.title('Top genres',color = 'blue')
```
![mest populære](../../../../5-Clustering/1-Visualize/images/popular.png)
![most popular](../../../../translated_images/no/popular.9c48d84b3386705f.webp)
✅ Hvis du vil se flere toppverdier, endre toppen `[:5]` til en større verdi, eller fjern den for å se alt.
✅ Hvis du vil se flere toppverdier, endre toppen `[:5]` til et større tall, eller fjern det for å se alle.
Merk, når toppsjangeren er beskrevet som 'Missing', betyr det at Spotify ikke klassifiserte den, så la oss fjerne den.
Merk at når den mest populære sjangeren er beskrevet som 'Missing', betyr det at Spotify ikke klassifiserte den, så la oss bli kvitt den.
1. Fjern manglende data ved å filtrere det ut
@ -242,11 +241,11 @@ Merk, når toppsjangeren er beskrevet som 'Missing', betyr det at Spotify ikke k
plt.title('Top genres',color = 'blue')
```
Nå sjekk sjangrene på nytt:
Sjekk nå sjangrene på nytt:
![mest populære](../../../../5-Clustering/1-Visualize/images/all-genres.png)
![most popular](../../../../translated_images/no/all-genres.1d56ef06cefbfcd6.webp)
1. De tre toppsjangrene dominerer datasetet. La oss konsentrere oss om `afro dancehall`, `afropop` og `nigerian pop`, og i tillegg filtrere datasetet for å fjerne alt med en popularitetsverdi på 0 (som betyr at det ikke ble klassifisert med en popularitet i datasetet og kan betraktes som støy for våre formål):
1. De tre mest dominerende sjangrene i dette datasettet er langt overlegne. La oss fokusere på `afro dancehall`, `afropop`, og `nigeriansk pop`, i tillegg filtrere datasettet for å fjerne alt med en popularitet på 0 (som betyr at den ikke ble klassifisert med popularitet i datasettet og kan betraktes som støy for våre formål):
```python
df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')]
@ -258,7 +257,7 @@ Merk, når toppsjangeren er beskrevet som 'Missing', betyr det at Spotify ikke k
plt.title('Top genres',color = 'blue')
```
1. Gjør en rask test for å se om dataen korrelerer på noen spesielt sterk måte:
1. Gjør en rask test for å se om dataene korrelerer på noen spesielt sterk måte:
```python
corrmat = df.corr(numeric_only=True)
@ -266,21 +265,21 @@ Merk, når toppsjangeren er beskrevet som 'Missing', betyr det at Spotify ikke k
sns.heatmap(corrmat, vmax=.8, square=True)
```
![korrelasjoner](../../../../5-Clustering/1-Visualize/images/correlation.png)
![correlations](../../../../translated_images/no/correlation.a9356bb798f5eea5.webp)
Den eneste sterke korrelasjonen er mellom `energy` og `loudness`, noe som ikke er overraskende, gitt at høy musikk vanligvis er ganske energisk. Ellers er korrelasjonene relativt svake. Det vil være interessant å se hva en clustering-algoritme kan gjøre med denne dataen.
Den eneste sterke korrelasjonen er mellom `energy` og `loudness`, noe som ikke er overraskende, gitt at høy musikk vanligvis er ganske energisk. Ellers er korrelasjonene relativt svake. Det blir interessant å se hva en klyngealgoritme kan utlede fra disse dataene.
> 🎓 Merk at korrelasjon ikke innebærer årsakssammenheng! Vi har bevis på korrelasjon, men ingen bevis på årsakssammenheng. En [morsom nettside](https://tylervigen.com/spurious-correlations) har noen visuelle eksempler som understreker dette poenget.
> 🎓 Merk at korrelasjon ikke innebærer årsakssammenheng! Vi har bevis for korrelasjon, men ikke bevis for årsak. Et [morsomt nettsted](https://tylervigen.com/spurious-correlations) har noen illustrasjoner som understreker dette poenget.
Er det noen konvergens i dette datasetet rundt en sangs opplevde popularitet og dansbarhet? En FacetGrid viser at det er konsentriske sirkler som stemmer overens, uavhengig av sjanger. Kan det være at nigerianske smaker konvergerer på et visst nivå av dansbarhet for denne sjangeren?
Finnes det noen konvergens i dette datasettet rundt en sangs oppfattede popularitet og dansbarhet? En FacetGrid viser at det finnes konsentriske sirkler som stemmer overens, uavhengig av sjanger. Kan det være at nigeriansk smak konvergerer på et visst nivå av dansbarhet for denne sjangeren?
✅ Prøv forskjellige datapunkter (energy, loudness, speechiness) og flere eller forskjellige musikksjangre. Hva kan du oppdage? Ta en titt på `df.describe()`-tabellen for å se den generelle spredningen av datapunktene.
✅ Prøv ulike datapunkt (energy, loudness, speechiness) og flere eller forskjellige musikksjangre. Hva kan du oppdage? Ta en titt på `df.describe()`-tabellen for å se generalisert spredning av datapunkt.
### Øvelse - datafordeling
### Øvelse datadistribusjon
Er disse tre sjangrene betydelig forskjellige i oppfatningen av deres dansbarhet, basert på deres popularitet?
Er disse tre sjangrene markant forskjellige i oppfattelsen av deres dansbarhet, basert på deres popularitet?
1. Undersøk datafordelingen for våre tre toppsjangre for popularitet og dansbarhet langs en gitt x- og y-akse.
1. Undersøk datafordelingen til våre tre toppsjangre for popularitet og dansbarhet langs en gitt x- og y-akse.
```python
sns.set_theme(style="ticks")
@ -292,13 +291,13 @@ Er disse tre sjangrene betydelig forskjellige i oppfatningen av deres dansbarhet
)
```
Du kan oppdage konsentriske sirkler rundt et generelt konvergenspunkt, som viser fordelingen av punkter.
Du kan oppdage konsentriske sirkler rundt et generelt punkt for konvergens som viser punktenes fordeling.
> 🎓 Merk at dette eksemplet bruker en KDE (Kernel Density Estimate)-graf som representerer dataen ved hjelp av en kontinuerlig sannsynlighetstetthetskurve. Dette lar oss tolke data når vi jobber med flere fordelinger.
> 🎓 Merk at dette eksemplet bruker en KDE (Kernel Density Estimate) graf som representerer data ved hjelp av en kontinuerlig sannsynlighetstetthetkurve. Dette gjør at vi kan tolke data når vi jobber med flere fordelinger.
Generelt sett er de tre sjangrene løst tilpasset når det gjelder deres popularitet og dansbarhet. Å bestemme klynger i denne løst tilpassede dataen vil være en utfordring:
Generelt stemmer de tre sjangrene løst overens med tanke på popularitet og dansbarhet. Å bestemme klynger i disse løst justerte dataene vil være en utfordring:
![fordeling](../../../../5-Clustering/1-Visualize/images/distribution.png)
![distribution](../../../../translated_images/no/distribution.9be11df42356ca95.webp)
1. Lag et spredningsdiagram:
@ -308,31 +307,33 @@ Er disse tre sjangrene betydelig forskjellige i oppfatningen av deres dansbarhet
.add_legend()
```
Et spredningsdiagram av de samme aksene viser et lignende mønster av konvergens
Et spredningsdiagram av de samme aksene viser et lignende konvergenmønster
![Facetgrid](../../../../5-Clustering/1-Visualize/images/facetgrid.png)
![Facetgrid](../../../../translated_images/no/facetgrid.9b2e65ce707eba1f.webp)
Generelt, for clustering, kan du bruke spredningsdiagrammer for å vise klynger av data, så det å mestre denne typen visualisering er veldig nyttig. I neste leksjon vil vi ta denne filtrerte dataen og bruke k-means clustering for å oppdage grupper i denne dataen som ser ut til å overlappe på interessante måter.
Generelt kan du bruke spredningsdiagrammer til å vise dataklynger for klynging, så det å mestre denne typen visualisering er veldig nyttig. I neste leksjon skal vi ta denne filtrerte dataen og bruke k-means-klynging for å oppdage grupper i dataene som ser ut til å overlappe på interessante måter.
---
## 🚀Utfordring
Som forberedelse til neste leksjon, lag et diagram over de forskjellige clustering-algoritmene du kan oppdage og bruke i et produksjonsmiljø. Hvilke typer problemer prøver clustering å adressere?
I forberedelse til neste leksjon, lag en graf over de ulike klyngealgoritmene du kan oppdage og bruke i en produksjonsmiljø. Hvilke typer problemer forsøker klynging å løse?
## [Quiz etter forelesning](https://ff-quizzes.netlify.app/en/ml/)
## Gjennomgang & Selvstudium
Før du bruker clustering-algoritmer, som vi har lært, er det en god idé å forstå naturen til datasetet ditt. Les mer om dette emnet [her](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
Før du anvender klyngingsalgoritmer, som vi har lært, er det en god idé å forstå naturen til datasettet ditt. Les mer om dette emnet [her](https://www.kdnuggets.com/2019/10/right-clustering-algorithm.html)
[Denne nyttige artikkelen](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) gir deg en oversikt over hvordan forskjellige clustering-algoritmer oppfører seg, gitt forskjellige dataformer.
[Denne hjelpsomme artikkelen](https://www.freecodecamp.org/news/8-clustering-algorithms-in-machine-learning-that-all-data-scientists-should-know/) tar deg gjennom de ulike måtene ulike klyngingsalgoritmer oppfører seg på, gitt forskjellige datatyper.
## Oppgave
[Undersøk andre visualiseringer for clustering](assignment.md)
[Forsk andre visualiseringer for klynging](assignment.md)
---
**Ansvarsfraskrivelse**:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi tilstreber nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfraskrivelse**:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal betraktes som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save