Python 如何从数据集上的RandomForestClassifier创建、训练和打印结果

Python 如何从数据集上的RandomForestClassifier创建、训练和打印结果,python,scikit-learn,Python,Scikit Learn,我在下面有一个名为train.csv的csv文件: 25.3, 12.4, 2.35, 4.89, 1, 2.35, 5.65, 7, 6.24, 5.52, M 20, 15.34, 8.55, 12.43, 23.5, 3, 7.6, 8.11, 4.23, 9.56, B 4.5, 2.5, 2, 5, 10, 15, 20.25, 43, 9.55, 10.34, B 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.

我在下面有一个名为train.csv的csv文件:

   25.3, 12.4, 2.35, 4.89, 1, 2.35, 5.65, 7, 6.24, 5.52, M
   20, 15.34, 8.55, 12.43, 23.5, 3, 7.6, 8.11, 4.23, 9.56, B
   4.5, 2.5, 2, 5, 10, 15, 20.25, 43, 9.55, 10.34, B
   1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, M
由于Stackoverflow上其他用户的帮助,我能够加载数据集并使用其他类型的分类。我很难理解如何使用随机分类。 我需要能够使用RandomForestClassification创建并使用以前的数据集对其进行训练,以及打印结果

  data_train = pd.read_csv("train.csv", header= None, usecols=[i for i in range(11)])
  l = [i for i in range(10)]
  X_train = data_train[l]
  y_train = data_train[10]
  clf = RandomForestClassifier(n_estimators=100, max_depth= 2, random_state=0)
  clf.fit(X_train,y_train)
  RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
            max_depth=2, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=None,
            oob_score=False, random_state=0, verbose=0, warm_start=False)
我不明白你怎么能打印一个分类器来查看分类结果。我也不确定基于这种分类的输出应该是什么。 如果您能解释一下RandomForestClassifier是如何工作的,它是如何创建和训练的,我遗漏了什么,以及如何打印出RandomForestClassifier以查看结果

  data_train = pd.read_csv("train.csv", header= None, usecols=[i for i in range(11)])
  l = [i for i in range(10)]
  X_train = data_train[l]
  y_train = data_train[10]
  clf = RandomForestClassifier(n_estimators=100, max_depth= 2, random_state=0)
  clf.fit(X_train,y_train)
  RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
            max_depth=2, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=None,
            oob_score=False, random_state=0, verbose=0, warm_start=False)

与此stackoverflow问题相关的注意事项:

您已成功培训了分类器,这意味着它已安装。
现在,您需要一些验证或测试数据来测试它。完成后,您可以自己评估结果,或使用scikit learn中的函数:

from sklearn.metrics import accuracy_score, classification_report

y_pred = clf.predict(X_test, y_test)
accuracy = accuracy_score(y_test, y_pred)
print(classification_report(y_test, y_pred))
这是列车组的输出。这里的数据非常小,所以每个级别的分数都是完美的,这是你通常看不到的

              precision    recall  f1-score   support

           B       1.00      1.00      1.00         2
           M       1.00      1.00      1.00         2

   micro avg       1.00      1.00      1.00         4
   macro avg       1.00      1.00      1.00         4
weighted avg       1.00      1.00      1.00         4

当你指的是测试数据时,我提供的是train.csv。但我也有test.csv。所以我使用了train.csv中的信息,并在test.csv上对其进行了测试?是的,您可以在train.csv上对其进行拟合,并在test.csv上进行预测。否则你会