Kom igångKom igång gratis

Förutsäga dödsfall i GoT

Målvariabeln saknar visserligen inga värden, men det gör däremot andra särdrag. Eftersom kursen inte fokuserar på datarensning och förbearbetning har vi redan gjort följande åt dig:

  • Ersatt NA-värden med 0.
  • Ersatt negativa åldersvärden med 0.
  • Ersatt NA-värden för ålder med medelvärdet.

Nu ska du bygga en ensemblemodell med averaging-tekniken. Följande individuella modeller har redan byggts:

  • Logistisk regression (clf_lr).
  • Beslutsträd (clf_dt).
  • Support Vector Machine (clf_svm).

Eftersom målvariabeln är binär kan alla dessa modeller ha god individuell prestanda. Ditt mål är att kombinera dem med averaging. Som du såg i videon är detta detsamma som ett mjukt röstningsförfarande (soft voting), så du ska fortfarande använda VotingClassifier().

Den här övningen är en del av kursen

Ensemblemetoder i Python

Visa kurs

Övningsinstruktioner

  • Skapa listan med (sträng, estimator)-tupler. Använd 'lr' för clf_lr, 'dt' för clf_dt och 'svm' för clf_svm.
  • Bygg en averaging-klassificerare med namnet clf_avg. Se till att ange ett argument för parametern voting.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)

# List of (string, estimator) tuples
estimators = ____

# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)

# Evaluate model performance
acc_avg = accuracy_score(y_test,  clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))
Redigera och kör kod