【发布时间】:2016-04-22 01:26:28
【问题描述】:
我使用 sklearn 的 LinearDiscriminantAnalysis 分类器将一些数据分为 2 类,效果很好,所以我这样做了:
from sklearn.cross_validation import train_test_split
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25) # 25% of the dataset are not used for the training
clf = LDA()
clf.fit(x_train, y_train)
然后我设法用它进行预测,这很好。
但是,所有这些都在 ipython 笔记本中,我想在其他地方使用分类器。我已经看到了使用 pickles 和 joblib 的可能性,但是由于我只有 2 个组和 2 个功能,所以我认为我可以 just 得到边界线的方程,然后检查是否给定点在线上方或下方以判断它属于哪个组。
据我了解,这条线与投影线正交,并通过集群平均值的平均值。我想我用np.mean(clf.means_, axis=0) 得到了集群的意思。
但在这里我被困在如何使用 clf.coef_、clf.intercept_ 等所有属性来找到投影线的方程。
所以,我的问题是如何在给定分类器的情况下获得边界线方程。
也有可能是我没有正确理解 LDA,我很高兴有更多的解释。
谢谢
【问题讨论】:
标签: python machine-learning scikit-learn