糖尿病视网膜病变(Diabetic Retinopathy)是糖尿病性微血管病变中最重要的表现,是一种具有特异性改变的眼底病变,是糖尿病的严重并发症之一。基于Diabetic Retinopathy数据集[1]
数据是长这个模样的:
编写Python代码,制作x6和y,x7和y,x12和y及x13和y的交叉报表,图形化交叉报表,代码实现如下
from scipy.io import arff
import pandas as pd
import matplotlib.pyplot as plt
df = arff.loadarff("messidor_features.arff")
data = pd.DataFrame(df[0])
Cnames = ['x1', 'x2', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10', 'x11',
'x12', 'x13', 'x14', 'x15', 'x16', 'x17', 'x18', 'x19', 'x3', 'y']
data.columns = Cnames
def crossReport(flag):
print("《=========",flag," and y=============")
cross_data = pd.qcut(data[flag], [0, 0.25, 0.5, 0.75, 1])
cross = pd.crosstab(cross_data, data['y'])
print(flag, " 和 y 的交叉报表:\n", cross)
cross.plot(kind='bar')
plt.show()
print("=========end=============》")
if __name__ == "__main__":
flagList = ['x6','x7','x12','x13']
for flag in flagList:
crossReport(flag)