Python Colab中的随机分类器

Python Colab中的随机分类器,python,machine-learning,scikit-learn,google-colaboratory,Python,Machine Learning,Scikit Learn,Google Colaboratory,我在colab单元格中有以下代码: import sklearn.datasets import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn import metrics #Import scikit-learn metrics module for accuracy calculation import sklearn from sklearn

我在colab单元格中有以下代码:

import sklearn.datasets
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import metrics #Import scikit-learn metrics module for accuracy calculation
import sklearn
from sklearn.ensemble import RandomForestClassifier

#Create a Gaussian Classifier
rfc=RandomForestClassifier(n_estimators=5, max_depth=3)
iris_sklearn_ds=sklearn.datasets.load_iris()
X_ndarray = iris_sklearn_ds.data
y_ndarray = iris_sklearn_ds.target.astype(np.int32)
X_ndarray_train,X_ndarray_test,y_ndarray_train,y_ndarray_test = train_test_split(X_ndarray,
                                                 y_ndarray,
                                                 test_size=0.30,
                                                 random_state=42)

#Train the model using the training sets y_pred=clf.predict(X_test)
rfc.fit(X_ndarray_train,y_ndarray_train)
y_pred=rfc.predict(X_ndarray_test)
print("Accuracy RFC:",metrics.accuracy_score(y_ndarray_test, y_pred))
print(metrics.confusion_matrix(y_ndarray_test, y_pred))

当我第一次执行单元格时,它给出:

Accuracy RFC: 0.9333333333333333
[[16  0  0]
 [ 0 14  0]
 [ 0  3 12]]
好吧,为什么不。。。但当我第二次执行时,我有:

Accuracy RFC: 1.0
[[16  0  0]
 [ 0 14  0]
 [ 0  0 15]]

有人能告诉我为什么吗?有没有缓存之类的?我必须重置一些东西吗?

调用
RandomForestClassifier()
时,您需要添加参数
random\u state
,就像您对
train\u test\u split()所做的那样,因为该分类器的部分操作基于随机性,并且随机性在每次执行时都有不同的结果。

我认为这将回答您的问题: