Delen via


Logistieke regressie met twee klassen

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Hiermee maakt u een logistic regression-model met twee klassen

Categorie: Machine Learning/ Model/classificatie initialiseren

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Two-Class Logistic Regression in Machine Learning Studio (klassiek) gebruikt om een logistiek regressiemodel te maken dat kan worden gebruikt om twee (en slechts twee) resultaten te voorspellen.

Logistieke regressie is een bekende statistische techniek die wordt gebruikt voor het modelleren van veel soorten problemen. Dit algoritme is een leermethode onder supervisie ; Daarom moet u een gegevensset verstrekken die al de resultaten bevat om het model te trainen.

Meer informatie over logistieke regressie

Logistieke regressie is een bekende methode in statistieken die wordt gebruikt om de waarschijnlijkheid van een resultaat te voorspellen en is vooral populair bij classificatietaken. Het algoritme voorspelt de kans op het optreden van een gebeurtenis door gegevens aan te passen aan een logistieke functie. Zie de sectie Technische notities voor meer informatie over deze implementatie.

In deze module is het classificatiealgoritme geoptimaliseerd voor dichotomische of binaire variabelen. Als u meerdere resultaten moet classificeren, gebruikt u de module Multiclass Logistic Regression .

Logistieke regressie Two-Class configureren

Als u dit model wilt trainen, moet u een gegevensset met een label of klassekolom verstrekken. Omdat deze module is bedoeld voor problemen met twee klassen, moet het label of de klassekolom exact twee waarden bevatten.

De labelkolom kan bijvoorbeeld [Voted] zijn met mogelijke waarden van Ja of Nee. Of het kan [kredietrisico] zijn, met mogelijke waarden 'Hoog' of 'Laag'.

  1. Voeg de module Two-Class Logistic Regression toe aan uw experiment in Studio (klassiek).

  2. Geef op hoe u het model wilt trainen door de optie Trainer-modus maken in te stellen.

    • Enkele parameter: als u weet hoe u het model wilt configureren, kunt u een specifieke set waarden opgeven als argumenten.

    • Parameterbereik: als u niet zeker bent van de beste parameters, kunt u de optimale parameters vinden door meerdere waarden op te geven en de module Tune Model Hyperparameters te gebruiken om de optimale configuratie te vinden. De docent doorsteert meerdere combinaties van de instellingen en bepaalt de combinatie van waarden die het beste model produceert.

  3. Geef voor Optimalisatietolerantie een drempelwaarde op die moet worden gebruikt bij het optimaliseren van het model. Als de verbetering tussen iteraties onder de opgegeven drempelwaarde komt, wordt het algoritme beschouwd als geconvergeerd op een oplossing en stopt de training.

  4. Voor L1-regularisatiegewicht en L2-regularisatiegewicht typt u een waarde die moet worden gebruikt voor de regularisatieparameters L1 en L2. Een waarde die niet nul is, wordt aanbevolen voor beide.

    Regularisatie is een methode om overfitting te voorkomen door modellen met extreme coëfficiëntwaarden te autoriseren. Regularisatie werkt door de boete die is gekoppeld aan coëfficiëntwaarden toe te voegen aan de fout van de hypothese. Een nauwkeurig model met extreme coëfficiëntwaarden zou dus meer worden geseraliseerd, maar een minder nauwkeurig model met meer voorzichtige waarden zou minder worden gedupaliseerd.

    L1- en L2-regularisatie hebben verschillende effecten en toepassingen.

    • L1 kan worden toegepast op sparse modellen, wat handig is bij het werken met hoogdimensionale gegevens.

    • L2-regularisatie daarentegen verdient de voorkeur voor gegevens die niet verspreid zijn.

    Dit algoritme ondersteunt een lineaire combinatie van L1- en L2-regularisatiewaarden: dat wil zeggen, als x = L1y = L2en , ax + by = c en definieert vervolgens de lineaire periode van de regularisatietermen.

    Notitie

    Wilt u meer informatie over L1- en L2-regularisatie? In het volgende artikel wordt beschreven hoe L1- en L2-regularisatie verschillen en hoe deze van invloed zijn op modelfitting, met codevoorbeelden voor logistieke regressie en neurale netwerkmodellen: L1- en L2-regularisatie voor Machine Learning

    Er zijn verschillende lineaire combinaties van L1- en L2-termen ontworpen voor logistieke regressiemodellen: bijvoorbeeld elastic net regularization. We raden u aan om naar deze combinaties te verwijzen om een lineaire combinatie te definiëren die effectief is in uw model.

  5. Geef voor Geheugengrootte voor L-BFGS de hoeveelheid geheugen op die moet worden gebruikt voor L-BFGS-optimalisatie .

    L-BFGS staat voor 'beperkt geheugen Broyden-Termijn-Goldfarb-Shanno'. Het is een optimalisatiealgoritme dat populair is voor het schatten van parameters. Deze parameter geeft het aantal eerdere posities en kleurovergangen aan dat moet worden opgeslagen voor de berekening van de volgende stap.

    Deze optimalisatieparameter beperkt de hoeveelheid geheugen die wordt gebruikt voor het berekenen van de volgende stap en richting. Wanneer u minder geheugen opgeeft, is de training sneller maar minder nauwkeurig.

  6. Bij Willekeurige getal-seed typt u een geheel getal. Het definiëren van een seed-waarde is belangrijk als u wilt dat de resultaten over meerdere runs van hetzelfde experiment kunnen worden geproduceerd.

  7. Selecteer de optie Onbekende categorische niveaus toestaan om een extra 'onbekend' niveau te maken in elke categorische kolom. Als u dit doet, worden alle waarden (niveaus) in de testset die niet beschikbaar zijn in de trainingsset toegewezen aan dit 'onbekende' niveau.

  8. Voeg een getagde gegevensset toe aan het experiment en verbind een van de trainingsmodules.

    Notitie

    Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de eerste waarde in de lijst met parameterbereiken gebruikt.

    Als u één set parameterwaarden doorgeeft aan de module Tune Model Hyperparameters , worden de waarden genegeerd en worden de standaardwaarden voor de learner genegeerd wanneer er een bereik van instellingen voor elke parameter wordt verwacht.

    Als u de optie Parameterbereik selecteert en één waarde voor een parameter ingeeft, wordt die ene waarde die u hebt opgegeven, gedurende de hele wisseling gebruikt, zelfs als andere parameters binnen een bereik van waarden veranderen.

  9. Voer het experiment uit.

Resultaten

Nadat de training is voltooid:

  • Als u een samenvatting wilt zien van de parameters van het model, samen met de functiegewichten die u hebt geleerd tijdens de training, klikt u met de rechtermuisknop op de uitvoer van Hyperparameters trainen of Model afstemmen en selecteert u Visualiseren.

  • Als u voorspellingen wilt doen over nieuwe gegevens, gebruikt u het getrainde model en nieuwe gegevens als invoer voor de module Score Model .

  • Als u kruisvalidatie wilt uitvoeren voor een gelabelde gegevensset, verbindt u de gegevens en het ongetrainde model met Kruisvalidatiemodel.

Voorbeelden

Zie de volgende voorbeelden van hoe dit leeralgoritme wordt Azure AI Gallery:

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Gebruikstips

Logistieke regressie vereist numerieke variabelen. Wanneer u categorische kolommen als variabele gebruikt, worden de Machine Learning daarom intern geconver converteert naar een indicator matrix.

Voor datums en tijden wordt een numerieke weergave gebruikt. (Zie DateTime Structure (.NET Framework) - Opmerkingen voor meer informatie over datum/tijd-waarden.) Als u datums en tijden anders wilt verwerken, raden we u aan een afgeleide kolom te maken.

Implementatiegegevens

Logistieke regressie gaat uit van een logistieke distributie van de gegevens, waarbij de waarschijnlijkheid dat een voorbeeld tot klasse 1 behoort de formule is:

p(x;β0,…, βD-1)

Waar:

  • x is een D-dimensionale vector die de waarden van alle functies van het exemplaar bevat.

  • p is de logistieke distributiefunctie.

  • β{0},..., β {D-1} zijn de onbekende parameters van de logistieke distributie.

Het algoritme probeert de optimale waarden voor te vinden door β{0},..., β {D-1} de logboekkans van de parameters op basis van de invoer te maximaliseren. Maximalisatie wordt uitgevoerd met behulp van een populaire methode voor parameterschatting, BFGS met beperkt geheugen genoemd.

Onderzoek

Zie Scalable Training of L-1 Regularized Log-Linear Models (Schaalbare training van L-1 regularized Log-Linear Models) van Andrew en Gao voor meer informatie over de implementatie van dit algoritme.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Optimalisatietolerantie >= dubbel. Epsilon Float 0.0000001 Geef een tolerantiewaarde op voor de L-BFGS-optimalisatie
L1-regularisatiegewicht >= 0,0 Float 1.0 Het L1-regularisatiegewicht opgeven
L2-regularisatiegewicht >= 0,0 Float 1.0 Het L2-regularisatiegewicht opgeven
Geheugengrootte voor L-BFGS >= 1 Geheel getal 20 Geef de hoeveelheid geheugen (in MB) op die moet worden gebruikt voor de L-BFGS-optimalisatie
Seed van willekeurig getal Alle Geheel getal Typ een waarde om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt. Laat deze leeg voor de standaardinstelling.
Onbekende categorische niveaus toestaan Alle Boolean-waarde True Geef aan of er een extra niveau moet worden gemaakt voor elke categorische kolom. Alle niveaus in de testset die niet beschikbaar zijn in de trainingsset, worden toegewezen aan dit extra niveau.

Uitvoer

Naam Type Description
Niet-getraind model ILearner-interface Een ongetraind classificatiemodel

Zie ook

Classificatie

Logistieke regressie met meerdere klassen

Lijst met A-Z-modules