Scikit-learn 的安装:目前稳定版本0.18版本
- Scikit-learn库需要Numpy,matplotlib,pandas,scipy等库的支持。 所以,首先,我们要先安装好这些库。
在已有的虚拟环境中,使用pip install 库名 直接安装。如果安装较慢,我们还可以临时指定镜像源来提升安装速度。
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple
如果
import sklearn
可以导入,说明安装成功。
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import TfidfVectorizer
def naive_bayes():
"""
利用朴素贝叶斯实现20组新闻数据文类
:return:
"""
# 1. 获取数据
news = datasets.fetch_20newsgroups(subset='all')
print(news)
# 划分数据
X_train, X_test, y_train, y_test = train_test_split(news.data, news.target, test_size=0.25)
# 2. 特征工程(Tfidf处理特征)
tfidf = TfidfVectorizer()
X_train = tfidf.fit_transform(X_train)
X_test = tfidf.transform(X_test)
# 3. 选择估计器,训练模型
mn = MultinomialNB(alpha=1.0)
mn.fit(X_train, y_train)
# 4. 预测数据
y_predict = mn.predict(X_test)
# 5. 评估数据; score是ClassifierMixin的一个方法,MultinomialNB继承过来了,可以使用。
mn.score(X_test, y_test)
if __name__ == '__main__':
naive_bayes()