【发布时间】:2017-05-30 09:25:09
【问题描述】:
我想显示有关隔离林输出结果的信息,例如隔离指数(在图形上)和预测的准确性。
我使用sklearn的隔离森林功能。
clf = IsolationForest()
clf.fit(X_train)
yPredTest = clf.predict(X_test)
xx, yy = np.meshgrid(np.linspace(-3, 88), np.linspace(-1, 50))
Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.title("Isolation Forest")
plt.contourf(xx, yy, Z, cmap=plt.cm.Blues_r)
b = plt.scatter(X_test[:, 0], X_test[:, 1], c='black')
plt.show()
我得到的结果类似于image,但只有一个簇(和一些点分布)并且所有点的颜色相同:通过将 yPredTest 设置为颜色解决了问题。
另一个问题是我不知道如何启用两个以上的功能。
我有两个集合(训练和测试),就像 [[0,1,34,38O,24],[98,938,238,23,1],[...],[0,13,3,23,49]] 和算法让我截断我的集合,如 X_train = np.array(list)[:100,[1,2]] 和 X_test = np.array(list)[101:,[1,2]] 否则(np.array(list)[:100,] 和 np.array(list)[101:,])它会停止并提醒我:
ValueError: Number of features of the model must match the input. Model n_features is 8 and input n_features is 2
看来问题出在那行Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
【问题讨论】:
标签: python scikit-learn isolation