【发布时间】:2019-01-29 08:26:27
【问题描述】:
我是随机森林(以及 python)的新手。 我使用的是随机森林分类器,数据集定义为 't2002'。
t2002.column
所以这里是列:
Index(['IndividualID', 'ES2000_B01ID', 'NSSec_B03ID', 'Vehicle',
'Age_B01ID',
'IndIncome2002_B02ID', 'MarStat_B01ID', 'EcoStat_B03ID',
'MainMode_B03ID', 'TripStart_B02ID', 'TripEnd_B02ID',
'TripDisIncSW_B01ID', 'TripTotalTime_B01ID', 'TripTravTime_B01ID',
'TripPurpFrom_B01ID', 'TripPurpTo_B01ID'],
dtype='object')
我正在使用如下代码来运行分类器:
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import make_scorer, accuracy_score
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import train_test_split
X_all = t2002.drop(['MainMode_B03ID'],axis=1)
y_all = t2002['MainMode_B03ID']
p = 0.2
X_train,X_test, y_train, y_test = train_test_split(X_all,y_all,test_size=p,
random_state=23)
clf = RandomForestClassifier()
acc_scorer = make_scorer(accuracy_score)
parameters = {
} # parameter is blank
grid_obj = GridSearchCV(clf,parameters,scoring=acc_scorer)
grid_obj = grid_obj.fit(X_train,y_train)
clf = grid_obj.best_estimator_
clf.fit(X_train,y_train)
predictions = clf.predict(X_test)
print(accuracy_score(y_test,predictions))
在这种情况下,如何使用 pandas 生成交叉表(如表格)来显示详细的预测结果?
提前致谢!
【问题讨论】:
-
你能解释一下详细的预测结果包括什么吗?
-
@Arihant 它就像一个混淆矩阵来显示实际类和预测类,如下表所示:python-data-science.readthedocs.io/en/latest/evaluation.html
-
使用预测输出和真实输出创建熊猫数据框。那么这个链接将帮助pandas.pydata.org/pandas-docs/stable/generated/…
标签: python pandas scikit-learn random-forest sklearn-pandas