Python Colab中的随机分类器
我在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
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()所做的那样,因为该分类器的部分操作基于随机性,并且随机性在每次执行时都有不同的结果。我认为这将回答您的问题: