Video: Human Population Growth - Crash Course Ecology #3 2024
Niet-gesuperviseerd leren heeft veel uitdagingen voor voorspellende analyses - inclusief niet weten wat u kunt verwachten als u een algoritme uitvoert. Elk algoritme zal verschillende resultaten produceren; je weet nooit zeker of het ene resultaat beter is dan het andere - of zelfs of het resultaat van enige waarde is.
Wanneer u weet wat de uitkomsten zouden moeten zijn, kunt u de algoritmen aanpassen om de gewenste resultaten te produceren. In real-world datasets zult u deze luxe niet hebben. U moet afhankelijk zijn van enige voorkennis van de gegevens - of intuïtie - om te beslissen welke initialisatieparameters en -algoritmen u moet gebruiken terwijl u uw model maakt.
In echte onbezielde leertaken is deze voorkennis echter niet beschikbaar en is het gewenste resultaat moeilijk te vinden. Het belangrijkste probleem is het kiezen van het juiste aantal clusters. Als u toevallig het juiste aantal clusters tegenkomt, zullen uw gegevens inzichten opleveren waarmee u zeer nauwkeurige voorspellingen kunt doen. Aan de andere kant kan het raden van het verkeerde aantal clusters te lage resultaten opleveren.
K-means algoritme is een goede keuze voor datasets met een klein aantal clusters met proportionele afmetingen en lineair scheidbare data - en je kunt het opschalen om het algoritme op zeer grote datasets te gebruiken.
Beschouw lineair te scheiden gegevens als een reeks punten in een grafiek die kunnen worden gescheiden met een rechte lijn. Als de gegevens niet lineair kunnen worden gescheiden, moeten er meer geavanceerde versies van K-gemiddelden worden gebruikt. Deze zullen in de toekomst duurder worden en zijn mogelijk niet geschikt voor zeer grote gegevensreeksen. In de standaardimplementatie is de complexiteit om de clustercentra en afstanden te berekenen laag.
K-means wordt veel gebruikt om big data-problemen op te lossen, omdat het eenvoudig te gebruiken, effectief en zeer schaalbaar is. Geen wonder dat de meeste commerciële leveranciers het K-means-algoritme gebruiken als een belangrijk onderdeel van hun pakketten met voorspellende analyse.
De implementatie van DBSCAN (Density-Based Spatial Clustering of Applications with Noise) in scikit-learn vereist geen door de gebruiker gedefinieerde initialisatieparameters om een instantie te maken. U kunt de standaardparameters overschrijven tijdens initialisatie als u dat wilt. Helaas, als u de standaardparameters gebruikt, kan het algoritme geen goede overeenkomst bieden met het gewenste resultaat.
DBSCAN is beter geschikt voor gegevenssets met disproportionele clustergroottes en waarvan de gegevens niet-lineair kunnen worden gescheiden.Net als K-means is DBSCAN schaalbaar, maar het gebruik ervan op zeer grote datasets vereist meer geheugen en rekenkracht.