下面使用Python库的数据可视化工具的解释正确吗?
我试图用一些真实的数据来练习数据科学技能。我从医院得到了关于乳腺癌的数据。我正在使用的包含数据的特定文件是威斯康星州乳腺癌。data 下载文件后,我试图对数据有一个全面的了解,因此我做到了:下面使用Python库的数据可视化工具的解释正确吗?,python,pandas,matplotlib,histogram,data-science,Python,Pandas,Matplotlib,Histogram,Data Science,我试图用一些真实的数据来练习数据科学技能。我从医院得到了关于乳腺癌的数据。我正在使用的包含数据的特定文件是威斯康星州乳腺癌。data 下载文件后,我试图对数据有一个全面的了解,因此我做到了: import numpy as np from sklearn import preprocessing, cross_validation, neighbors import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('b
import numpy as np
from sklearn import preprocessing, cross_validation, neighbors
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('breast-cancer-wisconsin.data.txt')
print(df.head())
将下表作为输出返回:
id clump_thickness unif_cel_size unif_cel_shape marg_adhesion \
0 1000025 5 1 1 1
1 1002945 5 4 4 5
2 1015425 3 1 1 1
3 1016277 6 8 8 1
4 1017023 4 1 1 3
single_epith_cell_size bare_nuclei bland_chrom norm_nucleoli mitoses \
0 2 1 3 1 1
1 7 10 3 2 1
2 2 2 3 1 1
3 3 4 3 7 1
4 2 1 3 1 1
class
0 2
1 2
2 2
3 2
4 2
在阅读“数据集”文档时,我意识到最后一列关于类的内容有两个选项:2和4。数字2用于良性肿瘤,数字4用于恶性肿瘤
我决定研究列unif_cel_大小,它以1到10的比例表示“细胞大小的均匀性”。因此,我绘制了以下柱状图:
import numpy as np
from sklearn import preprocessing, cross_validation, neighbors
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('breast-cancer-wisconsin.data.txt')
print(df.head())
df['unif_cel_size'].hist()
plt.show()
代码返回的图像是:
我决定,如果你把这些细胞分为恶性细胞和良性细胞,看看直方图是如何变化的,这将是一件有趣的事情。所以,我做到了:
import numpy as np
from sklearn import preprocessing, cross_validation, neighbors
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('breast-cancer-wisconsin.data.txt')
print(df.head())
df.groupby('class')['unif_cel_size'].hist()
plt.show()
输出为:
现在,我开始怀疑了。我对这个结果的解释是:细胞大小和肿瘤类型之间的关系是不对称的。其中一个类专注于小尺寸,另一个则专注于较大的单元尺寸
(i) 这个解释正确吗?我是不是搞错了
(ii)如何使用matplotlib指示哪个颜色代表哪个类别
提前谢谢。(i)你的解释是正确的。然而,如果你想更彻底,你可以做一些统计测试来评估这种差异有多大(可能非常显著)
(ii)如果您想要图例,此功能可以:
df.groupby('class')['unif\u cel\u size'].plot(kind='hist',legend=True)
如果你对进一步研究数据科学感兴趣,你可以试着看看一个预测因子有多好,那就是单元格大小的不确定性(可能还有其他因素)。在这种情况下,您可以将数据集拆分为训练和测试,并构建一个模型(例如,使用sklearn,并进行一些逻辑模型)