Skip to main content

Multiple classification from many of directories

 # %%  Import nessacary libraries


import numpy as np
import pandas as pd
import cv2
import matplotlib.pyplot as plt
import os
import glob

# %%   Keras Tensorflow libraries

from keras import layers
from keras.models import Model
from keras.optimizers import RMSprop , Adam , Nadam
from keras.preprocessing.image import ImageDataGenerator
from keras.layers import Input, BatchNormalization, Dense, Dropout, Conv2D, Flatten, GlobalAveragePooling2D, LeakyReLU
from keras.preprocessing.image import ImageDataGenerator, img_to_array, load_img

# %%  Path

path = r'G:/Machine Learning/Project/Lego Mnifigures Classification/dataset'

open_dir = os.listdir(path)
open_dir


# %%  Visualization in array form

cv2.imread('G:/Machine Learning/Project/Lego Mnifigures Classification/marvel/0006/005.jpg'
# %%
pltpic = plt.imread('G:/Machine Learning/Project/Lego Mnifigures Classification/marvel/0006/005.jpg'
plt.imshow(pltpic)
# %%
# %%
cv2pic = cv2.imread('G:/Machine Learning/Project/Lego Mnifigures Classification/marvel/0006/005.jpg'
plt.imshow(cv2pic)


# %%

index = pd.read_csv('index.csv')
index
# %%
index.shape, index.columns
# %%

index.drop('Unnamed: 0'axis=1inplace=True)
index

# %%   Create name coloumn because we have to add name of charactors into the class id from index and metadata 
 
index['Name'= None
index
# %%

metadata = pd.read_csv(path + 'metadata.csv')
# metadata.drop(['Unnamed: 0', 'lego_ids', 'lego_names'], axis=1, inplace=True)
metadata

# %%
    
zipped_data = zip(metadata['class_id'], metadata['minifigure_name'])
zipped_data
# %% 

# loop in metadata
# loop in index
# if class id of both metadata and index, then add their name in empty name column

for id_, name in zipped_data :
    for sr , cl_id in enumerate(index['class_id']):
        if id_ == cl_id :
            index.iat[sr, 3= name
            

index
# %%  Create valid dataset A new dataset that copy of index dataset 

valid = index.copy()
valid
# %%  

# we have two catagories 'train' and 'valid' in index
# split the dataset into valid and index set, we will use 'where' function

true_train = index['train-valid'== 'train'
true_valid = valid['train-valid'== 'valid'

index.where( true_train , inplace=True)

valid.where( true_valid , inplace=True)

# %%  
 
# After run above the code you would seen there nan value in data sets
# so we have drop all nan values

# index.dropna(axis=0) # axis = 0 because we have to drop its row not whole column
# inplace = True is defualt, use when you don't want to make new variable

index.dropna(inplace=Trueaxis=0)
valid.dropna(inplace=Trueaxis=0

# %%  Load image

for i in range(len(open_dir)):
    images = load_img(path + '/' + open_dir[i] +'/')

# %%




Comments

Popular posts from this blog

Classification & Confusion Matrix & Accuracy Paradox

Classification  work on voting the object belongs from which classes has more probability  There are two types of classification : Binary classification : There are two classes we have ex: male-female , cat-dog , yes-not  Multiple classification :   There are classes more than two we have ex: traffic signs , face recognition , flower race  , Digit Recognition Confusion matrix :  Confusion matrix is one type of technique to evaluate the model accuracy for classification problem. In this technique we consider how many of positive and negative data points we predict correctly. The main consideration terms are accuracy, precision and recall The accuracy was an appealing matric, because it was a single number. Here precision and recall(sensitivity) are two numbers. So to get the final score (accuracy) of our model we use F1 score, so that we have a single number. Here is the F1 score's mathematical formula: F1 = 2x precision x recall / (precision ...

Digit Recognition

Here you can import digit dataset from scikit learn library which is in-built, So you don't need to download from other else Note: If you use visual code, I recommend you to turn your color theme to Monokai because it has a few extra and important keyword and attractive colors than other theme.   # %%  Import libraries import  numpy  as  np import  pandas  as  pd import  matplotlib.pyplot  as  plt import  random  # %%   Load dataset from  sklearn.datasets  import  load_digits dataset  =  load_digits() dataset.keys() output: d ict_keys(['data', 'target', 'target_names', 'images', 'DESCR']) You have to check all to direct print them Here DESCR is a description of dataset # %%   divide the dataset into input and target inputs  =  dataset.data target  =  dataset.target # %% ...