我有一个带有x列的数据作为pandas数据框。 我想(按随机森林)预测元素最重要。
首先,我仅尝试将一列用作X(1008数字。dtype float64) y是1008个数字,dtype是float64,我也尝试过使用int64。
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.33, random_state=42)
clf = RandomForestClassifier(n_estimators=100, random_state=42)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
from sklearn.metrics import classification_report, confusion_matrix, accuracy_score
print(confusion_matrix(y_test,y_pred))
print(classification_report(y_test,y_pred))
print(accuracy_score(y_test,y_pred))
我得到的是: 精确召回率f1得分 全部0.00
我也尝试了一个简单的案例:
y = [0,1,2,3,4,5,..,1000]
x = [1,2,3,4,5,6,..,1001]
再次所有0.00和错误:
UndefinedMetricWarning:精度和F分数定义不明确,在没有预测样本的标签中设置为0.0。使用zero_division
参数来控制此行为。
所以我做到了:
import warnings
warnings.filterwarnings('always')
print(classification_report(y_test,y_pred, labels=np.unique(y_pred)))
没有任何变化(所有0.00)
我做错了什么?