Codering van Categorische Variabelen
Categorische variabelen zijn kenmerken in uw gegevens die categorieën vertegenwoordigen in plaats van numerieke waarden. Voorbeelden hiervan zijn kleuren zoals "red", "green" en "blue", of labels zoals "yes" en "no". Machine learning-algoritmen vereisen invoergegevens in numeriek formaat, dus u moet deze categorische variabelen omzetten naar een numeriek formaat voordat u ze in modellen gebruikt. Dit proces wordt codering genoemd en zorgt ervoor dat uw algoritmen de gegevens effectief kunnen interpreteren en ervan kunnen leren.
One-hot encoding maakt een nieuwe binaire kolom aan voor elke categorie van een categorische variabele. Elke observatie krijgt een 1 in de kolom die overeenkomt met zijn categorie en 0 in de andere kolommen.
12345678910111213import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
Label encoding wijst elke unieke categorie in een variabele een geheel getal toe, waardoor tekstlabels worden omgezet in getallen.
123456789101112import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
Order encoding wijst geordende gehele waarden toe aan categorieën op basis van hun natuurlijke rangorde. Deze methode behoudt de inherente volgorde in ordinale categorische variabelen, zoals opleidingsniveaus ("high school", "bachelor", "master", "doctorate").
123456789101112131415161718import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
Wees voorzichtig bij het coderen van categorische variabelen. One-hot encoding kan de dummyvariabeleval veroorzaken - een situatie waarin kenmerken sterk gecorreleerd zijn, wat sommige modellen kan verwarren. Om dit te voorkomen, kun je één van de dummykolommen verwijderen. Label encoding legt een ordinale relatie op tussen categorieën, wat mogelijk niet geschikt is voor nominale data.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 8.33
Codering van Categorische Variabelen
Veeg om het menu te tonen
Categorische variabelen zijn kenmerken in uw gegevens die categorieën vertegenwoordigen in plaats van numerieke waarden. Voorbeelden hiervan zijn kleuren zoals "red", "green" en "blue", of labels zoals "yes" en "no". Machine learning-algoritmen vereisen invoergegevens in numeriek formaat, dus u moet deze categorische variabelen omzetten naar een numeriek formaat voordat u ze in modellen gebruikt. Dit proces wordt codering genoemd en zorgt ervoor dat uw algoritmen de gegevens effectief kunnen interpreteren en ervan kunnen leren.
One-hot encoding maakt een nieuwe binaire kolom aan voor elke categorie van een categorische variabele. Elke observatie krijgt een 1 in de kolom die overeenkomt met zijn categorie en 0 in de andere kolommen.
12345678910111213import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
Label encoding wijst elke unieke categorie in een variabele een geheel getal toe, waardoor tekstlabels worden omgezet in getallen.
123456789101112import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
Order encoding wijst geordende gehele waarden toe aan categorieën op basis van hun natuurlijke rangorde. Deze methode behoudt de inherente volgorde in ordinale categorische variabelen, zoals opleidingsniveaus ("high school", "bachelor", "master", "doctorate").
123456789101112131415161718import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
Wees voorzichtig bij het coderen van categorische variabelen. One-hot encoding kan de dummyvariabeleval veroorzaken - een situatie waarin kenmerken sterk gecorreleerd zijn, wat sommige modellen kan verwarren. Om dit te voorkomen, kun je één van de dummykolommen verwijderen. Label encoding legt een ordinale relatie op tussen categorieën, wat mogelijk niet geschikt is voor nominale data.
Bedankt voor je feedback!