from sklearn.model_selection import train_test_split from tensorflow.keras.utils import plot_model from tensorflow.keras.models import Sequential, Model, load_model from tensorflow.keras.layers import Dense, UpSampling2D, Conv2D, Input, BatchNormalization, MaxPooling2D from tensorflow.keras.optimizers import Adam import utils import numpy as np import matplotlib.pyplot as plt from keras.utils.np_utils import to_categorical from keras.preprocessing.image import ImageDataGenerator import tensorflow.keras np.random.seed(123) inputData = utils.GetInputData((100, 100)) imageSize = (100, 100, 3) nevi = inputData[inputData['cellTypeId'] == 4] features = nevi.drop(columns=['cellTypeId'], axis=1) target = nevi['cellTypeId'] xTrainSplit, xTest, yTrainSplit, yTest = train_test_split(features, target, test_size=0.05, random_state=123) xTrain, xValidate, yTrain, yValidate = train_test_split(xTrainSplit, yTrainSplit, test_size=0.35, random_state=123)
from keras.utils.np_utils import to_categorical from keras.preprocessing.image import ImageDataGenerator import tensorflow.keras from tensorflow.keras.callbacks import ReduceLROnPlateau from tensorflow.keras.optimizers import Adam from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPool2D from tensorflow.keras.models import Sequential from tensorflow.keras.utils import plot_model from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix np.random.seed(123) inputData = utils.GetInputData((100, 75)) akiec = inputData[inputData['cellTypeId'] == 0] bcc = inputData[inputData['cellTypeId'] == 1] bkl = inputData[inputData['cellTypeId'] == 2] df = inputData[inputData['cellTypeId'] == 3] nv = inputData[inputData['cellTypeId'] == 4] mel = inputData[inputData['cellTypeId'] == 5] vasc = inputData[inputData['cellTypeId'] == 6] print('akiec: {0}'.format(len(akiec))) print('bcc: {0}'.format(len(bcc))) print('bkl: {0}'.format(len(bkl))) print('df: {0}'.format(len(df))) print('nv: {0}'.format(len(nv))) print('mel: {0}'.format(len(mel)))
from keras import regularizers from keras.utils.np_utils import to_categorical from keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint, ReduceLROnPlateau from tensorflow.keras.optimizers import Adam, SGD from tensorflow.keras.layers import Dense, Dropout, Flatten from tensorflow.keras.models import Sequential from tensorflow.keras.applications import ResNet50 from tensorflow.keras.utils import plot_model from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix np.random.seed(123) inputData = utils.GetInputData((150, 112)) inputData['num_images'] = inputData.groupby( 'lesion_id')["image_id"].transform("count") # Split inputData in Single & Multiple images per lesion vars sgLesImg = inputData[inputData['num_images'] == 1] mltLesImg = inputData[inputData['num_images'] != 1] # Remove Nevi values from sgLesImgs melanocyticNevi = sgLesImg[sgLesImg['cellTypeId'] == 4] sgLesImg = sgLesImg.drop( sgLesImg[sgLesImg['cellTypeId'] == 4].iloc[:len(sgLesImg)].index)
from keras.utils.np_utils import to_categorical import tensorflow.keras from tensorflow.keras import regularizers from tensorflow.keras.callbacks import ReduceLROnPlateau from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.optimizers import Adam from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPool2D from tensorflow.keras.models import Sequential from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix np.random.seed(123) inputData = utils.GetInputData((32, 32)) # utils.PrintClassesInfo(inputData) # Remove some nevi images inputData = inputData.drop( inputData[inputData['cellTypeId'] == 4].iloc[:3500].index) # Display new distribution of data fig, ax1 = plt.subplots(1, 1, figsize=(10, 5)) inputData['cellType'].value_counts().plot(kind='bar', ax=ax1) plt.show() # What we know features = inputData.drop(columns=['cellTypeId'], axis=1) # What we want to predict
from keras.utils.np_utils import to_categorical from keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint, ReduceLROnPlateau from tensorflow.keras.optimizers import Adam, SGD from tensorflow.keras.layers import Dense, Dropout, Flatten from tensorflow.keras.models import Sequential from tensorflow.keras.applications import InceptionV3, Xception from tensorflow.keras.utils import plot_model from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix np.random.seed(123) inputData = utils.GetInputData((185, 150)) inputData['num_images'] = inputData.groupby('lesion_id')["image_id"].transform( "count") # Split inputData in Single & Multiple images per lesion vars sgLesImg = inputData[inputData['num_images'] == 1] mltLesImg = inputData[inputData['num_images'] != 1] # Remove Nevi values from sgLesImgs melanocyticNevi = sgLesImg[sgLesImg['cellTypeId'] == 4] sgLesImg = sgLesImg.drop( sgLesImg[sgLesImg['cellTypeId'] == 4].iloc[:len(sgLesImg)].index) # Shuffle & Split Dataset train1, validateSet = train_test_split(sgLesImg, test_size=0.35,