import numpy as np threshold = 0.5 # 设置阈值 y_train_binary = np.where(y_train > threshold, 1, 0) # 将连续变量转换为二进制变量 y_test_binary = np.where(y_test > threshold, 1, 0) # 将连续变量转换为二进制变量 x_pred = lr.predict(x_train) score1 = accuracy_score(y_train_binary, x_pred) y_pred = lr.predict(x_test) score2 = accuracy_score(y_test_binary, y_pred) print(score1, score2) 报错:Classification metrics can't handle a mix of binary and continuous targets
时间: 2023-08-18 15:05:30 浏览: 163
otsu-master.zip_Background variance_OTSU_Otsu 阈值_前景方差
根据报错信息,你的目标变量(y_train 和 y_test)仍然是一个混合了二进制和连续值的组合。这就是为什么你仍然会收到该错误信息的原因。
请确保在进行转换时,目标变量已经完全转换为二进制变量。你可以使用 `numpy` 库的 `isnan()` 函数来检查目标变量是否包含连续值。如果包含连续值,你需要找到相应的解决方法,例如使用合适的阈值进行二元化或者应用其他适合你的数据和问题的转换方法。
另外,请确保 `x_train` 和 `x_test` 的维度与目标变量 `y_train_binary` 和 `y_test_binary` 的维度匹配,以确保可以正确计算准确率。
如果你仍然遇到问题,请提供更多的代码和数据信息,这样我可以更好地帮助你解决问题。
阅读全文