Why is this Random Forest perfect?
instead of this: 

print(clf.predict(df_train_att.head()))
score = clf.score (df_train_att, df_train_lbl)


better try this:

from sklearn.metrics import accuracy_score
test = clf.predict(df_test_att)
score = accuracy_score(test, df_test_lbl, normalize=False)