
Behandlung von Klassenungleichgewichten
import sklearn from sklearn.datasets import make_classification import pandas as pd import imblearn from imblearn.over_sampling import SMOTE X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, weights=[0.1, 0.9], random_state=42) smote = SMOTE(random_state=42) X_res, y_res = smote.fit_resample(X, y) # Konvertierung der resamplten Merkmalsdaten X_res in einen Pandas DataFrame df_res df_res = pd.DataFrame(X_res) # Hinzufügen der Zielvariablen y_res als neue Spalte 'target' im DataFrame df_res df_res['target'] = y_resfrom sklearn.datasets import load_iris from imblearn.under_sampling import RandomUnderSampler from collections import Counter # Downsampling der häufigeren Klasse rus = RandomUnderSampler(random_state=42) X_resampled, y_resampled = rus.fit_resample(X, y)from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report # Aufteilen in Trainings- und Testdaten X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # RandomForest-Modell mit Klassengewichtung clf = RandomForestClassifier(class_weight='balanced', random_state=42) clf.fit(X_train, y_train) # Vorhersage und Auswertung y_pred = clf.predict(X_test)
Last updated