from pandas import read_csvfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import RandomForestClassifierfile = './BBC.csv'df = read_csv(file)array = df.values X = array[:, 0:11] Y = array[:, 11] test_size = 0.30 seed = 45 X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)model = RandomForestClassifier() model.fit(X_train, Y_train)result = model.score(X_test, X_test)print("Accuracy: %.3f%%") % (result*100.0)
数据集:https://www.dropbox.com/s/ar1c9yuv5x774cv/BBC.csv?dl=0
我遇到了这个错误:
分类指标无法处理多类别多输出和二元目标的混合
如果我没记错的话,RandomForest应该能够处理分类和回归两种任务。我错了吗?
回答:
编辑:
检查了你的数据集。对于分类任务,你的问题出在你的代码中。
result = model.score(X_test, X_test)
请注意,这里参数应该是 X_test
和 Y_test
—–有点偏题—–
如果你想用RandomForest进行回归任务,你可能应该调用 RandomForestRegressor