開始使用免費開始

離散化所有變數

與其一個一個離散化連續變數,不如自動化處理會更容易。若要在 Python 中取得所有欄位的列表,你可以使用:

variables  = basetable.columns

只有連續變數需要離散化。你可以透過檢查某個變數是否擁有多於預先定義數量的不同值,來判斷是否需要離散化。

本練習屬於課程

Python 預測分析入門

檢視課程

練習說明

  • 建立列表 variables,包含 basetable 的所有欄位名稱。
  • 建立一個迴圈,檢查列表 variables 中的所有變數。
  • 完成 if 條件,使只有擁有超過 5 個不同值的變數會被離散化。
  • 使用 qcut 方法將連續變數分成 10 個區間。

動手互動練習

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

# Print the columns in the original basetable
print(basetable.columns)

# Get all the variable names except "target"
variables = list(____.____)
variables.remove("target")

# Loop through all the variables and discretize in 10 bins if there are more than 5 different values
for variable in ____:
    if len(basetable.groupby(____))>____:
        new_variable = "disc_" + variable
        basetable[new_variable] = pd.qcut(basetable[____], ____)
        
# Print the columns in the new basetable
print(basetable.columns)
編輯並執行程式碼