我对随机森林的工作原理知之甚少。通常在分类中,我可以将训练数据放入随机森林分类器并要求预测测试数据。
目前我正在处理提供给我的泰坦尼克号数据。这是数据集的顶部行,有 1300(大约)行。
survived pclass sex age sibsp parch fare embarked
0 1 1 female 29 0 0 211.3375 S
1 1 1 male 0.9167 1 2 151.55 S
2 0 1 female 2 1 2 151.55 S
3 0 1 male 30 1 2 151.55 S
4 0 1 female 25 1 2 151.55 S
5 1 1 male 48 0 0 26.55 S
6 1 1 female 63 1 0 77.9583 S
7 0 1 male 39 0 0 0 S
8 1 1 female 53 2 0 51.4792 S
9 0 1 male 71 0 0 49.5042 C
10 0 1 male 47 1 0 227.525 C
11 1 1 female 18 1 0 227.525 C
12 1 1 female 24 0 0 69.3 C
13 1 1 female 26 0 0 78.85 S
没有给出测试数据。所以我希望随机森林预测整个数据集的生存并将其与实际值进行比较(更像是检查准确度分数)。
所以我所做的就是将我的完整数据集分成两部分;一个有特征,另一个预测(幸存)。特征包括除幸存的所有列,预测包括幸存的列。
dfFeatures = df['survived']
dfTarget = dfCopy.drop('survived', 1)
注意:df 是整个数据集。
这是检查随机森林分数的代码
rfClf = RandomForestClassifier(n_estimators=100, max_features=10)
rfClf = rfClf.fit(dfFeatures, dfTarget)
scoreForRf = rfClf.score(dfFeatures, dfTarget)
我得到这样的分数输出
The accuracy score for random forest is : 0.983193277311
我发现很难理解上面给定代码中代码背后发生的事情。
它dfFeatures
是否会根据其他特征(dfTarget
产生在后面?
更准确地说,在计算准确度分数时,它是预测整个数据集还是随机部分数据集的生存率?