我在机器学习方面还很陌生,所以我仍然不明白如何在词袋案例中可视化两个类之间的边界。
我发现以下 exaplpe 来绘制数据
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer
from sklearn.decomposition import PCA
from sklearn.pipeline import Pipeline
import matplotlib.pyplot as plt
newsgroups_train = fetch_20newsgroups(subset='train',
categories=['alt.atheism', 'sci.space'])
pipeline = Pipeline([
('vect', CountVectorizer()),
('tfidf', TfidfTransformer()),
])
X = pipeline.fit_transform(newsgroups_train.data).todense()
pca = PCA(n_components=2).fit(X)
data2D = pca.transform(X)
plt.scatter(data2D[:,0], data2D[:,1], c=newsgroups_train.target)
plt.show()
Run Code Online (Sandbox Code Playgroud)
在我的项目中,我使用 SVC 估算器
clf = SVC(random_state=241, kernel = 'linear')
clf.fit(X,newsgroups_train.target)
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用示例 http://scikit-learn.org/stable/auto_examples/svm/plot_iris.html 但它在文本分类案例中不起作用
那么如何将两个类的边界添加到这个图中呢?
谢谢!
python machine-learning svm scikit-learn text-classification