Esempio n. 1
0
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)
Esempio n. 2
0
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)))
Esempio n. 3
0
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)

Esempio n. 4
0
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
Esempio n. 5
0
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,