【代码分享】基于python的文本分类(sklearn-决策树和随机森林实现)
时间: 2024-01-27 15:01:26 浏览: 201
下面是一个基于Python的文本分类的代码分享,使用了sklearn中的决策树和随机森林算法。
首先,需要安装sklearn库,可以使用以下命令进行安装:
```
pip install -U scikit-learn
```
然后,导入所需的库和模块:
```python
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
```
接下来,加载数据集并进行数据预处理:
```python
# 加载数据集
data = open('data.txt').read()
# 分割为文本和类别
text, labels = [], []
for line in data.split('\n'):
text.append(line.split('\t')[0])
labels.append(line.split('\t')[1])
# 将文本数据转换为数值特征向量
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(text)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.2, random_state=42)
```
然后,使用决策树进行文本分类:
```python
# 创建决策树分类器并进行训练
dt_classifier = DecisionTreeClassifier()
dt_classifier.fit(X_train, y_train)
# 在测试集上进行预测
y_pred_dt = dt_classifier.predict(X_test)
# 计算准确率
accuracy_dt = accuracy_score(y_test, y_pred_dt)
print("决策树准确率:", accuracy_dt)
```
最后,使用随机森林进行文本分类:
```python
# 创建随机森林分类器并进行训练
rf_classifier = RandomForestClassifier()
rf_classifier.fit(X_train, y_train)
# 在测试集上进行预测
y_pred_rf = rf_classifier.predict(X_test)
# 计算准确率
accuracy_rf = accuracy_score(y_test, y_pred_rf)
print("随机森林准确率:", accuracy_rf)
```
以上就是基于Python的文本分类代码示例,使用了sklearn中的决策树和随机森林算法。可以根据自己的数据集和需求进行相应的调整和优化。
阅读全文