问题描述
对于我使用 XGBoost 的分类器的项目。这是代码的一部分:
import ...
tab = 'tab.csv'
datasset = read_csv(tab,decimal=".")
target_attribute = dataset['AVG']
a = random.randrange(1,1000)
seed = a
test_size = 0.33
X_train,X_test,y_train,y_test = train_test_split(dataset,target_attribute,test_size=test_size,random_state=seed)
X_train = np.array(X_train)
X_test = np.array(X_test)
X_train = X_train.astype(float)
X_test = X_test.astype(float)
model = XGBClassifier()
model.fit(X_train,y_train)
print(model)
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
accuracy = accuracy_score(y_test,predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
一旦我使用某个 target_attribute,我就会收到以下错误:
ValueError:分类指标无法处理连续和多类目标的混合
我正在使用分类,所以到目前为止我的互联网搜索并没有真正帮助解决这个问题。我认为问题可能在于在 .csv 的这一列中,值既是整数又是实数。我不知道如何解决这个问题。我希望这里有人可以帮助我。
编辑:我已经尝试将所有带有 dtype == 'int64' 的列强制为 dtype == 'float64'。遗憾的是,这没有帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)