我需要你的帮助来找出我的模型中的缺陷,因为它的准确度(95%)是不现实的。
我正在使用 Randomforest 解决分类问题,大约有 2500 个正例和 15000 个负例,75 个自变量。这是我的代码的核心:
# Splitting the dataset into the Training set and Test set
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
# Fitting Random Forest Classification to the Training set
from sklearn.ensemble import RandomForestClassifier
classifier = RandomForestClassifier(n_estimators = 900, criterion = 'gini', random_state = 0)
classifier.fit(X_train, y_train)
# Predicting Test set results
y_pred = classifier.predict(X_test)
# Making the Confusion Matrix
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
我通过网格搜索优化了超参数并执行了 k 折交叉验证,报告的准确度平均值为 0.9444。混淆矩阵:
[[3390, 85],
[ 101, 516]]
显示 97.6% 的准确率。
我错过了什么?
注:该数据库由 2500 家意大利黑手党公司的财务报告和从同一地区随机抽样的 15000 家合法公司作为负面案例组成。
谢谢你们!
编辑:我上传了指标和厘米。该模型实际上表现良好,但查看指标和 cm,它显示了有关 logloss 和召回的更现实的值,所以我认为它很好。
