python 划分测试集和训练集并绘制测试集和训练集的样本饼状图
时间: 2023-08-22 09:05:24 浏览: 45
要划分测试集和训练集,并绘制它们的样本饼状图,您可以使用Python中的scikit-learn库来完成。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
# 样本集数据
labels = ['类别A', '类别B', '类别C', '类别D']
sizes = [25, 30, 15, 30] # 样本集各类别的数量
# 划分训练集和测试集
train_sizes, test_sizes = train_test_split(sizes, test_size=0.3, random_state=42)
# 饼状图设置
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
explode = (0.1, 0, 0, 0)
# 绘制训练集饼状图
plt.subplot(1, 2, 1)
plt.pie(train_sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=90)
plt.title("训练集样本分布")
# 绘制测试集饼状图
plt.subplot(1, 2, 2)
plt.pie(test_sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=90)
plt.title("测试集样本分布")
# 调整子图间距
plt.subplots_adjust(wspace=0.5)
# 显示图形
plt.axis('equal')
plt.show()
```
在代码中,首先定义了样本集的标签和数量,然后使用`train_test_split`函数将样本集划分为训练集和测试集。接下来,设置饼状图的颜色、突出显示等参数,并分别绘制训练集和测试集的饼状图。最后,使用`subplots_adjust`函数调整子图之间的间距,并展示图形。
请根据您的实际样本集数据进行相应的修改,并运行代码,将会显示训练集和测试集的样本饼状图。