predictors = ['gender','SeniorCitizen','Partner', 'Dependents','tenure','PhoneService',\
'MultipleLines','InternetService','OnlineSecurity','OnlineBackup','DeviceProtection',\
'TechSupport','StreamingTV','StreamingMovies','Contract','PaperlessBilling',\
'PaymentMethod','MonthlyCharges','TotalCharges']
这行代码来自我为学校作业创建决策树而必须执行的项目。我从另一个项目复制并粘贴了该行,仅更改了变量名,因此它应该可以工作。我已经针对我正在使用的数据文件仔细检查了代码中的变量名称。但是由于某种原因,我遇到了这个错误:
KeyError: "['gender' 'Partner' 'Dependents' 'PhoneService' 'MultipleLines'\n 'InternetService' 'OnlineSecurity' 'OnlineBackup' 'DeviceProtection'\n 'TechSupport' 'StreamingTV' 'StreamingMovies' 'Contract'\n 'PaperlessBilling' 'PaymentMethod'] not in index"
我知道数据在我正在使用的.csv文件中,并且我知道它以前在k-nearest-neighbor方法中的同一代码中工作过。
编辑:这是Python不喜欢的行:
dt.fit(training[predictors],training['Churn'])
这是dt的定义:
dt = tree.DecisionTreeClassifier(criterion='entropy')
编辑2:这是此列表中所有虚拟变量的列表
data = pandas.get_dummies(data, columns=['gender','SeniorCitizen','Partner','Dependents','PhoneService','MultipleLines', 'InternetService', \
'OnlineSecurity','OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', \
'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod'])