quality_labelthis is derived attribute from the quality attribute we bucket or group wine quality scores into three qualitative bucketsnamely lowmediumand high wines with quality score of and are low qualityscores of and are medium qualityand scores of and are high quality wines we will also build another model in this to predict this wine quality label based on other wine attributes now that you have solid foundation on the dataset as well as its featureslet' analyze and visualize various features and their interactions descriptive statistics we will start by computing some descriptive statistics of our various features of interest in our dataset this involves computing aggregation metrics like meanmedianstandard deviationand so on if you remember one of our primary objectives is to build model that can correctly predict if wine is red or white wine based on its attributes let' build descriptive summary table on various wine attributes separated by wine type in [ ]subset_attributes ['residual sugar''total sulfur dioxide''sulphates''alcohol''volatile acidity''quality'rs round(red_wine[subset_attributesdescribe(), ws round(white_wine[subset_attributesdescribe(), pd concat([rsws]axis= keys=['red wine statistics''white wine statistics']figure - descriptive statistics for wine attributes separated by wine type the summary table depicted in figure - shows us descriptive statistics for various wine attributes do you notice any interesting propertiesfor startersmean residual sugar and total sulfur dioxide content in white wine seems to be much higher than red wine alsothe mean value of sulphates and volatile acidity seem to be higher in red wine as compared to white wine try including other features too and see if you can find more interesting comparisonsconsidering wine quality levels as data subsetslet' build some descriptive summary statistics with the following snippet in [ ]subset_attributes ['alcohol''volatile acidity''ph''quality'ls round(wines[wines['quality_label'='low'][subset_attributesdescribe(), ms round(wines[wines['quality_label'='medium'][subset_attributesdescribe(), hs round(wines[wines['quality_label'='high'][subset_attributesdescribe(), pd concat([lsmshs]axis= keys=['low quality wine''medium quality wine''high quality wine']