Kenmerktransformatie en -Extractie
Veel echte datasets bevatten kenmerken met scheve verdelingen, wat de effectiviteit van machine learning-modellen kan verminderen. Wiskundige transformaties kunnen worden toegepast om de scheefheid te verminderen en de datakwaliteit te verbeteren. Twee veelgebruikte methoden zijn:
- Logaritmische transformatie: vermindert sterke positieve scheefheid door
log(x)toe te passen; - Worteltransformatie: matigt kleinere graden van scheefheid met behulp van
sqrt(x).
Deze methoden helpen om kenmerkverdelingen meer normaal te maken en verbeteren de modelprestaties.
123456789101112131415161718192021222324252627282930import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # Load the Titanic dataset df = sns.load_dataset('titanic') fare = df['fare'] # Apply log transformation (add 1 to handle zeros) fare_log = np.log(fare + 1) # Create side-by-side histogram comparison fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # Original fare axes[0].hist(fare, bins=50, color='skyblue', edgecolor='black', alpha=0.7) axes[0].set_xlabel('Fare ($)', fontsize=12) axes[0].set_ylabel('Frequency', fontsize=12) axes[0].set_title('Original Fare Distribution', fontsize=14, fontweight='bold') axes[0].grid(True, alpha=0.3) # Log-transformed fare axes[1].hist(fare_log, bins=50, color='lightcoral', edgecolor='black', alpha=0.7) axes[1].set_xlabel('Log(Fare + 1)', fontsize=12) axes[1].set_ylabel('Frequency', fontsize=12) axes[1].set_title('Log-Transformed Fare Distribution', fontsize=14, fontweight='bold') axes[1].grid(True, alpha=0.3) plt.tight_layout()
Kenmerkextractie is het proces waarbij nieuwe kenmerken uit ruwe data worden gecreëerd om de prestaties van machine learning-modellen te verbeteren.
Het helpt door belangrijke informatie explicieter te maken, ruis te verminderen en soms de dimensionaliteit van de gegevens te verlagen. Effectieve feature-extractie kan leiden tot betere voorspellingen en beter interpreteerbare modellen.
1234567891011import seaborn as sns import pandas as pd # Load the Titanic dataset df = sns.load_dataset('titanic') # Create a new feature: family_size = sibsp + parch + 1 df['family_size'] = df['sibsp'] + df['parch'] + 1 # Show the first few rows with the new feature print(df[['sibsp', 'parch', 'family_size']].head())
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
Kenmerktransformatie en -Extractie
Veeg om het menu te tonen
Veel echte datasets bevatten kenmerken met scheve verdelingen, wat de effectiviteit van machine learning-modellen kan verminderen. Wiskundige transformaties kunnen worden toegepast om de scheefheid te verminderen en de datakwaliteit te verbeteren. Twee veelgebruikte methoden zijn:
- Logaritmische transformatie: vermindert sterke positieve scheefheid door
log(x)toe te passen; - Worteltransformatie: matigt kleinere graden van scheefheid met behulp van
sqrt(x).
Deze methoden helpen om kenmerkverdelingen meer normaal te maken en verbeteren de modelprestaties.
123456789101112131415161718192021222324252627282930import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # Load the Titanic dataset df = sns.load_dataset('titanic') fare = df['fare'] # Apply log transformation (add 1 to handle zeros) fare_log = np.log(fare + 1) # Create side-by-side histogram comparison fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # Original fare axes[0].hist(fare, bins=50, color='skyblue', edgecolor='black', alpha=0.7) axes[0].set_xlabel('Fare ($)', fontsize=12) axes[0].set_ylabel('Frequency', fontsize=12) axes[0].set_title('Original Fare Distribution', fontsize=14, fontweight='bold') axes[0].grid(True, alpha=0.3) # Log-transformed fare axes[1].hist(fare_log, bins=50, color='lightcoral', edgecolor='black', alpha=0.7) axes[1].set_xlabel('Log(Fare + 1)', fontsize=12) axes[1].set_ylabel('Frequency', fontsize=12) axes[1].set_title('Log-Transformed Fare Distribution', fontsize=14, fontweight='bold') axes[1].grid(True, alpha=0.3) plt.tight_layout()
Kenmerkextractie is het proces waarbij nieuwe kenmerken uit ruwe data worden gecreëerd om de prestaties van machine learning-modellen te verbeteren.
Het helpt door belangrijke informatie explicieter te maken, ruis te verminderen en soms de dimensionaliteit van de gegevens te verlagen. Effectieve feature-extractie kan leiden tot betere voorspellingen en beter interpreteerbare modellen.
1234567891011import seaborn as sns import pandas as pd # Load the Titanic dataset df = sns.load_dataset('titanic') # Create a new feature: family_size = sibsp + parch + 1 df['family_size'] = df['sibsp'] + df['parch'] + 1 # Show the first few rows with the new feature print(df[['sibsp', 'parch', 'family_size']].head())
Bedankt voor je feedback!