#! /usr/bin/env python3 # def cancer_visualize_histogram ( ): #*****************************************************************************80 # ## cancer_visualize_histogram() histograms features for benign/malignant. # # Licensing: # # This code is distributed under the MIT license. # # Modified: # # 19 September 2023 # # Author: # # Andreas Mueller, Sarah Guido. # This version by John Burkardt. # # Reference: # # Andreas Mueller, Sarah Guido, # Introduction to Machine Learning with Python, # OReilly, 2017, # ISBN: 978-1-449-36941-5 # from sklearn.datasets import load_breast_cancer from sklearn.decomposition import PCA from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC import matplotlib.pyplot as plt import mglearn import numpy as np import platform import sklearn print ( '' ) print ( 'cancer_visualize_histogram():' ) print ( ' Python version: ' + platform.python_version ( ) ) print ( ' scikit-learn version: '+ sklearn.__version__ ) print ( ' Work with data from the cancer dataset.' ) print ( ' Make histograms of benign/malignant feature frequencies.' ) # # Generate the dataset. # print ( '' ) print ( ' Retrieve the cancer dataset, (X, y).' ) cancer = load_breast_cancer ( ) # # Split the dataset into benign and malignant subsets. # malignant = cancer.data[ cancer.target == 0 ] benign = cancer.data[ cancer.target == 1 ] # # Plot 30 histograms comparing malignant and benign feature frequencies. # fig, axes = plt.subplots ( 15, 2, figsize = ( 10, 20 ) ) ax = axes.ravel ( ) for i in range ( 30 ): _, bins = np.histogram ( cancer.data[:,i], bins = 59 ) ax[i].hist(malignant[:,i], bins=bins, color=mglearn.cm3(0), alpha = 0.5 ) ax[i].hist(benign[:,i], bins=bins, color=mglearn.cm3(2), alpha = 0.5 ) ax[i].set_title(cancer.feature_names[i] ) ax[i].set_yticks(()) ax[0].set_xlabel ( "Feature magnitude" ) ax[0].set_ylabel ( "Frequency" ) ax[0].legend ( [ "Malignant", "Benign" ], loc = "best" ) fig.tight_layout ( ) filename = "cancer_visualize_histogram.png" plt.savefig ( filename ) print ( " Graphics saved as '" + filename + "'" ) # # Terminate. # print ( '' ) print ( 'cancer_visualize_histogram():' ) print ( ' Normal end of execution.' ) return def timestamp ( ): #*****************************************************************************80 # ## timestamp() prints the date as a timestamp. # # Licensing: # # This code is distributed under the MIT license. # # Modified: # # 21 August 2019 # # Author: # # John Burkardt # import time t = time.time ( ) print ( time.ctime ( t ) ) return if ( __name__ == '__main__' ): timestamp ( ) cancer_visualize_histogram ( ) timestamp ( )