開始使用免費開始

預測《冰與火之歌:權力遊戲》的死亡

雖然目標變數沒有任何遺漏值,但其他特徵有。由於本課程的重點不是資料清理與前處理,我們已經替你完成以下前處理:

  • 將 NA 值換成 0
  • 將年齡的負值換成 0
  • 將年齡的 NA 值換成其平均數。

現在來用 averaging 技術建立一個整體學習模型。以下是已建立的個別模型:

  • 邏輯斯迴歸(clf_lr)。
  • 決策樹(clf_dt)。
  • 支援向量機(clf_svm)。

因為目標是二元分類,這些模型各自的表現都可能不錯。 你的目標是用 averaging 將它們結合起來。回想影片中提到,這等同於 soft voting,因此你仍應使用 VotingClassifier()

本練習屬於課程

Python 的 Ensemble 方法

檢視課程

練習說明

  • 建立由 (string, estimator) 組成的 tuple 串列。對 clf_lr 使用 'lr',對 clf_dt 使用 'dt',對 clf_svm 使用 'svm'
  • 建立名為 clf_avg 的 averaging 分類器。記得為 voting 參數指定引數。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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))
編輯並執行程式碼