Balansera klasser
Klassobalans kan påverka prediktionsresultaten avsevärt, vilket syns i skillnaden mellan värdena för recall och accuracy. För att lösa obalansen tilldelas vanligtvis lika vikter till varje klass. Med argumentet class_weight i sklearn:s DecisionTreeClassifier kan man göra klasserna "balanced".
Låt oss korrigera vår modell genom att åtgärda obalansproblemet:
- börja med att konfigurera en modell med balanserade klasser
- anpassa den sedan till träningsdatan
- kontrollera slutligen dess noggrannhet på testmängden
Variablerna features_train, target_train, features_test och target_test finns redan tillgängliga i din arbetsyta.
Den här övningen är en del av kursen
HR-analys: Förutsäg personalomsättning i Python
Övningsinstruktioner
- Initiera beslutsträdsklassificeraren, beskär ditt träd genom att begränsa dess maximala djup till 5, och balansera klassvikterna.
- Anpassa den nya modellen.
- Skriv ut noggrannhetspoängen
scoreför prediktionen (i procentenheter) för testmängden.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Initialize the DecisionTreeClassifier
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)
# Fit the model
model_depth_5_b.____(features_train,target_train)
# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)