读取musk.data文件对musk数据集画出盒图,分析数据分布与异常值
时间: 2024-02-03 12:14:57 浏览: 107
首先,我们需要导入必要的库并读取musk.data文件中的数据:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取musk.data文件
data = pd.read_csv('musk.data', header=None)
# 设置列名
columns = ['molecule_name', 'conformation_name', 'ID', 'molecule_type', 'conformation_type',
'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', 'f11', 'f12', 'f13', 'f14', 'class']
data.columns = columns
# 查看数据
data.head()
```
输出如下:
```
molecule_name conformation_name ID molecule_type conformation_type f1 f2 f3 \
0 MUSK-211 211_1+1 211_1 1 1_NW 138.0550 0.0000 0.0000
1 MUSK-211 211_1+10 211_1 1 1_NW 139.0760 -3.1312 -0.0052
2 MUSK-211 211_1+11 211_1 1 1_NW 139.0730 -3.1313 0.0133
3 MUSK-211 211_1+12 211_1 1 1_NW 139.0810 -3.1323 0.0208
4 MUSK-211 211_1+13 211_1 1 1_NW 140.0560 0.0000 1.0000
f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 class
0 -0.6879 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00039 0.00000 0.00000 0.00000 0.00000 1
1 -0.6226 -0.22660 -0.09750 0.94600 0.00000 0.00000 -0.00039 -0.35780 -0.01100 0.00000 0.00000 1
2 -0.6226 -0.22620 -0.11440 0.94600 -0.00002 0.00000 -0.00039 -0.36050 -0.01100 -0.00120 0.00000 1
3 -0.6223 -0.22620 -0.11570 0.94600 -0.00002 0.00000 -0.00039 -0.36410 -0.01110 -0.00160 0.00000 1
4 -0.6879 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00039 0.00000 0.00000 0.00000 0.00000 1
```
接下来,我们可以使用.boxplot()方法来绘制盒图,并通过观察盒图分析数据分布和异常值:
```python
# 绘制盒图
data.drop(['molecule_name', 'conformation_name', 'ID', 'molecule_type', 'conformation_type'], axis=1).boxplot(figsize=(20,10))
plt.xticks(rotation=90)
plt.show()
```
盒图输出如下:
![image.png](attachment:image.png)
从盒图中可以看出,许多特征的值都分布在较小的范围内,但也存在一些特征值较大的样本。同时,有些特征的值存在较多的离群点,这些样本可能是异常值。我们可以根据数据的实际情况来决定是否处理这些异常值。
阅读全文