Trending February 2024 # Simple Image Classification Using Fastai.jl # Suggested March 2024 # Top 10 Popular

You are reading the article Simple Image Classification Using Fastai.jl updated in February 2024 on the website Eastwest.edu.vn. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested March 2024 Simple Image Classification Using Fastai.jl

The fastai library is now on Julia with similar features available in Python. In this project, we are going to train the Resnet-18 model to classify images from the ImageNet dataset in simple steps.

 Source: Author

Introduction to FastAI.jl

The chúng tôi library is similar to the chúng tôi library in Python and it’s the best way to experiment with your deep learning projects in Julia. The library allows you to use state-of-the-art models that you can modify, train, and evaluate by using few lines of code. The chúng tôi provides a complete ecosystem for deep learning which includes computer vision, Natural Language processing, tabular data, and more submodules are added every month FastAI (fluxml.ai).

Image 1

Getting Started with chúng tôi in Julia

For more detail visit Quickstart (fluxml.ai) as the code used in this project is driven from fastai documentation.

Local Setup

If you have Julia installed in your system, then type:

using Pkg Pkg.add("FastAI") Pkg.add("CairoMakie")

As shown in the image below 👇

Image by author

Deepnote

For the Deepnote environment, you have to create a docker file and add:

FROM gcr.io/deepnote-200602/templates/deepnote tar -xvzf julia-1.6.2-linux-x86_64.tar.gz && sudo mv julia-1.6.2 /usr/lib/ && sudo ln -s /usr/lib/julia-1.6.2/bin/julia /usr/bin/julia && rm julia-1.6.2-linux-x86_64.tar.gz && julia -e "using Pkg;pkg"add IJulia LinearAlgebra SparseArrays Images MAT"" ENV DEFAULT_KERNEL_NAME "julia-1.6.2" Google Colab

For Google Colab you can follow my repo on GitHub or just create a Julia environment by adding an additional cell shown below. Installing Julia packages may take up to 15 minutes.

Change Runtime to GPU for faster results.

Execute the code below.

Reload this page by pressing F5.

%%shell set -e JULIA_VERSION="1.6.2" export JULIA_PACKAGES="CUDA IJulia CairoMakie" JULIA_NUM_THREADS="2" if [ -n "$COLAB_GPU" ] && [ -z `which julia` ]; then # Install Julia JULIA_VER=`cut -d '.' -f -2 <<< "$JULIA_VERSION"` echo "Installing Julia $JULIA_VERSION on the current Colab Runtime..." URL="$BASE_URL/$JULIA_VER/julia-$JULIA_VERSION-linux-x86_64.tar.gz" wget -nv $URL -O chúng tôi # -nv means "not verbose" tar -x -f chúng tôi -C /usr/local --strip-components 1 rm /tmp/julia.tar.gz # Install Packages echo "Installing Julia packages, this may take up to 15 minutes. " # Install kernel and rename it to "julia" echo "Installing IJulia kernel..." julia -e 'using IJulia; IJulia.installkernel("julia", env=Dict( KERNEL_DIR=`julia -e "using IJulia; print(IJulia.kerneldir())"` KERNEL_NAME=`ls -d "$KERNEL_DIR"/julia*` mv -f $KERNEL_NAME "$KERNEL_DIR"/julia echo '' echo "Success! Please reload this page and jump to the next section." fi Implementation of Image Classification Using FastAI.jl

Checking the version to make sure you have a similar version as mine.

versioninfo() Julia Version 1.6.2 Commit 1b93d53fc4 (2024-07-14 15:36 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: Intel(R) Xeon(R) CPU @ 2.30GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-11.0.1 (ORCJIT, haswell) Environment: JULIA_NUM_THREADS = 2 Import the libraries using FastAI import CairoMakie Download the Dataset

We are using `loaddataset` function to import the local dataset from fastai. As you can see using a single line of code can download the dataset and provide you with access to all images location with labels.

data, blocks = loaddataset("imagenette2-160", (Image, Label)) ┌ Info: Downloading │ dest = /root/.julia/datadeps/fastai-imagenette2-160/imagenette2-160.tgz │ progress = 1.0 │ time_taken = 2.69 s │ time_remaining = 0.0 s │ average_speed = 35.138 MiB/s │ downloaded = 94.417 MiB │ remaining = 0 bytes │ total = 94.417 MiB └ @ HTTP /root/.julia/packages/HTTP/5e2VH/src/download.jl:128

The data contains the location of images, and the block contains structure and images labels.

data (mapobs(loadfile, ["/root/.julia/datadeps/fastai-imagenette2-160/imagenette2-160/train/n01440764/I…]), mapobs(parentname, ["/root/.julia/datadeps/fastai-imagenette2-160/imagenette2-160/train/n01440764/I…])) blocks (Image{2}(), Label{String}(["n01440764", "n02102040", "n02979186", "n03000684", "n03028079", "n03394916", "n03417042", "n03425413", "n03445777", "n03888257"])) Exploring Image for Image Classification Using FastAI.jl

By using getobs we can check a single sample from our data and check the class. In our case the class name is n01440764 you can also rename the class as fish but for simplicity, we will be using a unique Id for the class. We can also see the image in sample 500.

image, class = sample = getobs(data, 500) @show class image

OR

We can check multiple photos with labels by using `getobs` and `plotsamples`.

idxs = rand(1:nobs(data), 9) samples = [getobs(data, i) for i in idxs] plotsamples(method, samples) Image Classification Function

In order to load our Image data, we need to first create a function that will transform images to 128X128 and preprocesses them to randomly augmentation (sheer, stretch, rotate, flip). For labels, it will use one-hot encoding to convert string labels into integers.

method = BlockMethod( blocks, ( ProjectiveTransforms((128, 128)), ImagePreprocessing(), OneHot() ) )

OR

You can just use the ImageClassificationSingle function to reproduce equivalent results.

method = ImageClassificationSingle(blocks) Building model for Image Classification Using FastAI.jl

First, we need to use a data loader to load image links and use the transformation method. This will convert images and Labels into integer data.

`methodmodel` takes the method from the image loader and ResNet architect to build a model for training.

we can simply create a loss function by adding the method into `metholossfn`. By default, the loss function is `CrossEntropy`.

By using `Learner` we combine, method, data loader, optimizer which is ADAM, loss function, and Metric which is accuracy in our case.

dls = methoddataloaders(data, method) model = methodmodel(method, Models.xresnet18()) lossfn = methodlossfn(method) learner = Learner(model, dls, ADAM(), lossfn, ToGPU(), Metrics(accuracy))

OR

We can simply do all the above steps by using a single line of code as shown below.

learner = methodlearner(method, data, Models.xresnet18(), ToGPU(), Metrics(accuracy)) Training and Evaluation of Image Classification Model

We will be training our model on 10 Epochs with a 0.002 learning rate. As we can see our training and validation loss have decreased with every iteration but after the 5th Epoch, the validation loss has become steady.

Final Metrics:

Training = Loss:  0.07313 │ Accuracy:  98.38%

Validation = Loss: 0.59254 │ Accuracy: 83.27%

This is not bad as we haven’t cleaned our data or performed hyperparameters tuning.

fitonecycle!(learner, 10, 0.002)

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 1.0 │ 1.75345 │ 0.43189 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 1.0 │ 1.54432 │ 0.53701 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 2.0 │ 1.37105 │ 0.56158 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 2.0 │ 1.23731 │ 0.62673 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 3.0 │ 1.09463 │ 0.65127 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 3.0 │ 1.11761 │ 0.65932 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 4.0 │ 0.87518 │ 0.71549 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 4.0 │ 0.95252 │ 0.6995 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 5.0 │ 0.70251 │ 0.77235 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 5.0 │ 0.77653 │ 0.75314 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 6.0 │ 0.52883 │ 0.82565 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 6.0 │ 0.76827 │ 0.7698 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 7.0 │ 0.35174 │ 0.88405 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼────────┼──────────┤

│ ValidationPhase │ 7.0 │ 0.7575 │ 0.77955 │

└─────────────────┴───────┴────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 8.0 │ 0.20262 │ 0.93675 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 8.0 │ 0.63952 │ 0.81444 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 9.0 │ 0.11359 │ 0.96763 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 9.0 │ 0.59102 │ 0.82806 │

└─────────────────┴───────┴─────────┴──────────┘

┌───────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├───────────────┼───────┼─────────┼──────────┤

│ TrainingPhase │ 10.0 │ 0.07313 │ 0.98377 │

└───────────────┴───────┴─────────┴──────────┘

┌─────────────────┬───────┬─────────┬──────────┐

│ Phase │ Epoch │ Loss │ Accuracy │

├─────────────────┼───────┼─────────┼──────────┤

│ ValidationPhase │ 10.0 │ 0.59254 │ 0.83267 │

└─────────────────┴───────┴─────────┴──────────┘

Evaluating the model Prediction

As we can see all four photos were predicted correctly. You can also see the prediction but using `plotprediction` method.

plotpredictions(method, learner) Conclusion

In this project, we have built an image classifier model in ImageNet data by using few lines of code and our model has performed above our expectations. We have also discovered different methods to do similar tasks in image classification and how fastai the library is powerful in exploring and predicting images. Overall, I have enjoyed using this library and there is so much to it that I didn’t discuss in this article.

I hope you experiment with this library and showcase amazing projects that are production-ready.

Source Code

The source code is available at GitHub and Deepnote.

You can follow me on LinkedIn and Polywork where I post amazing articles on data science and machine learning.

Image Sources

The media shown in this article are not owned by Analytics Vidhya and are used at the Author’s discretion.

Related

You're reading Simple Image Classification Using Fastai.jl

How To Find An Image Source And Details Using Google

Google is the popular option whenever you need to find out information about any subject under the sun. In addition, you can also use the search engine giant to look for any photo ever published online. But what if you already have a photo but desire more information about its source? Fortunately, Google offers a method of reverse-engineering an image search to find out the details regarding when and where an image was originally published, the contents of the image and any other detail found online.

Finding an Image’s Source

1. Go to the Google Image search page.

Paste image URL: Use this option when searching for an image you found online.

Once the image is open in a new page, copy the URL of the page and paste it into the search image bar under the “Paste image URL” option and hit Enter.

Google will analyze the image to determine all the available data regarding its previous appearances on the Internet.

Upload an image: Use this option when searching for an image that is saved on your device.

Once the image has been uploaded, the search will start automatically, and within seconds Google will show you the search results relating to the image you uploaded.

Fine-Tuning the Results Conclusion

With so many interesting images floating anonymously around the Internet, Google’s image search option is a useful tool for tracking the original source of an image or simply finding out greater details regarding the contents of the image.

Neeraj Chand

Content writer with a keen interest in global technology and pop culture trends.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Sign up for all newsletters.

By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time.

Simplewall Is A Simple Tool To Block Applications From Using The Internet

A Firewall is a very useful piece of software that monitors all incoming and outgoing network activity. By monitoring, you can set up rules and blocklists to filter network activity and ban any application or service from accessing the internet. Firewalls have always been a little difficult to configure and use. The main question always remains, how to block an application from accessing the internet. To answer this question, we’ve covered an awesome tool called SimpleWall that makes it super simple to setup your Firewall settings.

SimpleWall software for Windows PC

SimpleWall is not a firewall software; rather it uses Windows Filtering Platform under the hood. Which means, it is configuring the Windows Firewall with your settings behind the scenes.

Using SimpleWall is quite easy, first, you need to decide the mode you want to run this program in. Either you can run it in whitelist mode, which means only the application you select will be allowed to use the internet. Or you can run it in blacklist mode, which would block the applications that you’ve selected.

Once the filtering has been enabled, no application in the blocked list can access the internet. If any such application tries connecting to the internet, you will be notified with a small notification just above the system tray. The notification itself will give you a lot of information and provide buttons for relevant actions. You can allow an application from the notification or continue to block it. Or you may create an outbound rule for an IP address or port. And lastly, you can completely disable notifications for an app.

The application also comes with a purge option. Where you can set a purge timer and all the unused and invalid applications will be removed from SimpleWall after a given duration of time.

There are great import/export features available as well. You can export your application list and rules and later import them into a different or same computer. The import/export functionality can help you maintain a various set of configurations for different scenarios you might face daily. For instance, you can create one set of configuration when kids are using the computer and the other one when you are using.

Just like its name, the interface is also quite simple to use as well. It comes with various highlighting options to highlight different types of applications such as system, signed the application, windows service, etc. Moreover, you can enable other features such as Always on top, Load on system startup and Start minimized.

The application also maintains a log for dropped packages which can be accessed at a specified location. You can also enable notifications for dropped packages and finally, you can customize notification sound and its display timeout.

SimpleWall is a very simple firewall tool. If you want to block some applications from using the internet, you can quickly do that using SimpleWall. It is simple, convenient and gets the job done quickly. Additionally, the features such as notifications, purge timer, and system rules make this tool more preferable over its counterparts.

How To Find The Original Size Of An Image Using Fabricjs?

In this tutorial, we are going to learn how to find the original size of an Image using FabricJS. We can create an Image object by creating an instance of fabric.Image. Since it is one of the basic elements of FabricJS, we can also easily customize it by applying properties like angle, opacity etc. In order to find the original size of an Image, we use the getOriginalSize method.

Syntax getOriginalSize(): Object Using the getOriginalSize metho Example

In this example, we have used the getOriginalSize method to obtain the width and height values of the image. Here, the width and height values being returned are 311 and 82 respectively.

You can open the console from dev tools to see that the logged output contains the height and width

of

the Image

var

canvas

=

new

fabric

.

Canvas

(

“canvas”

)

;

canvas

.

setWidth

(

document

.

body

.

scrollWidth

)

;

canvas

.

setHeight

(

250

)

;

var

imageElement

=

document

.

getElementById

(

“img1”

)

;

var

image

=

new

fabric

.

Image

(

imageElement

,

{

top

:

50

,

left

:

110

,

skewX

:

15

,

}

)

;

canvas

.

add

(

image

)

;

console

.

log

(

“The original size of the Image object is: “

,

image

.

getOriginalSize

(

)

)

;

Using the getOriginalSize method along with cropX property Example

Let’s see a code example of the logged output when the getOriginalSize method is used in conjunction with the cropX property. Here, we have passed a value of 50 to cropX. Due to this, our Image object will have a 50px crop from the original image size in the xdirection. However, when we use the getOriginalSize method we are returned the width and height values as 311 and 82 respectively which goes on to prove that getOriginalSize will only return the original size of the image.

You can open the console from dev tools to see that the original size

of

the image will be returned regardless

of

having applied image cropping

in

xdirection

<

img id

=

“img1”

style

=

“display: none”

var

canvas

=

new

fabric

.

Canvas

(

“canvas”

)

;

canvas

.

setWidth

(

document

.

body

.

scrollWidth

)

;

canvas

.

setHeight

(

250

)

;

var

imageElement

=

document

.

getElementById

(

“img1”

)

;

var

image

=

new

fabric

.

Image

(

imageElement

,

{

top

:

50

,

left

:

110

,

skewX

:

15

,

cropX

:

50

,

}

)

;

canvas

.

add

(

image

)

;

console

.

log

(

“The original size of the Image object is: “

,

image

.

getOriginalSize

(

)

)

;

Product Portfolio Classification And Analysis

What is a Product Portfolio?

Start Your Free Investment Banking Course

Download Corporate Valuation, Investment Banking, Accounting, CFA Calculator & others

Product Portfolio Classification

One of the most popularly used classifications of the product portfolio is the BCG growth-market share matrix developed by Boston Consulting Group’sthen CEO and Founder, Mr. Bruce Doolin Henderson, in the 1970s. The BCG matrix consists of two axes –the X-axis representing the relative market share and the Y-axis representing the expected market growth rate.

Based on the two axes, the entire matrix divide into four quadrants, where each represents a particular stage of the product in its life cycle. The four quadrants are – Cash cows, Stars, Question marks, and Dogs.

Cash Cows: This quadrant represents those products that enjoy a high market share in a slowly growing market. The products in this category can generate maximum revenue because of their high market share in a market that is not growing. As such, the Cash cow products require the least amount of investment while it has the potential to give higher returns, which helps enhance the company’s overall profitability.

Stars: This quadrant represents products with a low market share in a high growth rate market. As such, an organization faces steep competition for the products in this segment, and thus it can’t afford to be complacent even when it is among the top few. However, if the organization can plan properly, Star products can potentially become Cash cows in the longer term.

Question Marks: This quadrant represents those products that may have a high market share in a market that is growing fast. However, it is not sure whether the market for the product will go up or down in the future. If the product loses customer attention, it won’t be able to gain market share, the growth rate will fall, and the product will eventually become a Dog. On the other hand, if the product can grab more customer interest to gain a higher market share, it can become a Cash cow. This uncertainty results in the dilemma of investing more money into it. An organization is unsure if the investment will give adequate returns or become a waste of money.

Product Portfolio Analysis

For instance, for Apple Inc., the iPhone is the most profitable segment and mostly drives the company’s top-line. Hence, the iPhone segment can categorize as the company’s Star product. On the other hand, the MacBook and the iPad can categorize as Cash cows.

How to Manage a Product Portfolio?

Product portfolio management is an important part of any business strategy as it helps achieve the organization’s overall objectives by planning future tactics for different product lines. Below, we discuss some of the strategy for the above-mentioned product categories:

Cash Cows: Companies intend to retain their market share for this segment as it isn’t growing much. They introduce customer loyalty programs and similar promotions to ensure high customer retention.

Question Marks: For this segment, the best strategy is to acquire new customers so that the question marks can be converted to the stars or the cash cows. Also, it is important to monitor the market to understand consumer psychology, which can be used to enhance the market share for the products in this category.

Dogs: For this segment, the companies may need to take the hard decision of divestment. Otherwise, they can also revamp the products in this category through rebranding, innovation, etc. Nevertheless, converting the Dogs into Stars or Cash cows is difficult.

Key Takeaways

The product portfolio is the ensemble of a company’s product offerings, which can break down into different product categories, product lines, or simply individual products.

Based on the relative market share and the expected market growth rate, a company’s product offerings can be divided into four categories – Cash cows, Stars, Question marks, and Dogs.

Product portfolio analysis and management help a company achieve its increased sales and profits objectives.

Recommended Articles

This is a guide to Product Portfolio. Here we also discuss the introduction and how to manage a product portfolio. Along with key takeaways. You may also have a look at the following articles to learn more –

Data Classification: Overview, Types, And Examples

Data classification defines and categorizes business data, information, and files. It is used by organizations that are required to follow stringent compliance guidelines. The primary purpose of data classification is to understand the sensitivity of stored information to build a robust security system using the right cybersecurity tools.

By classifying data, organizations can determine the following −

Who is authorized to access specific data?

What protection policies to use for storing and transferring those data?

What are regulatory standards applicable to specific data?

Data classification empowers an organization to manage its data with privacy, secured by cyberattacks, and in compliance with regulatory standards.

Types of Data Classification

Data can be classified into three types,

Content-based Classification − Classifying data based on their content, such as files, format type, etc.

Context-based Classification − Classifying data based on Metadata such as the application used to create a file, the person who made the document, or the location of the data.

User-based Classification − Classifying data based on the personal judgment of the user. You can classify the data using your decision.

Data Sensitivity Levels

You can assign sensitivity levels to data and determine their value.

High sensitive data − It includes data that can have a catastrophic impact on the organization if they are compromised, deleted, or falls into the hand of hackers. This could consist of financial records, authentication data, and intellectual property.

Example − Suppose your company collects credit card information from customers buying products or services. Data like this should follow strict authorization controls, encryption, and stringent auditing for detecting access requests. A data breach is likely to ruin the reputation of the organization and can cost a significant financial loss.

Medium sensitivity data − These data are only for internal use but can significantly impact the organization or the individual if compromised or destroyed. This includes emails, documents, and files with no high-sensitive data.

Example − Whenever you deal with a third-party vendor, you involve in a contract containing signatures of the agreement. Although a breach of these data may not harm your customers, it can divulge sensitive information about your business details.

Low-sensitive data − It is intended for public use, such as the content on a public website.

Example − You upload content, such as blogs, pictures, etc., on your website for marketing purposes. These data are not highly sensitive, so you may not need strict controls as it is publicly available for audiences.

Data Classification Levels

Once you determine the sensitivity of the data, you need to assign levels to these data that answer the questions −

Who can access these data?

How long do these data need to stay in the system?

Levels of data classification

Public data − These data are accessible to the public and are freely used, shared, and reused without any legal persecution.

Example − first and last name of an individual, job descriptions, press releases, etc.

Internal-only data − These are accessible only to specific personnel or employees of an organization who are given special access.

Examples − Internal memos, internal communications, marketing plans, etc.

Confidential data − Accessibility is only granted through special authorization or clearance.

Examples − Cardholder data, social security numbers, data protected under HIPPA, PCI DSS, etc.

Examples − Proprietary information, research, and development data protected by state and federal regulations.

Data Classification Process

To classify data to meet compliance standards, the first step is to conduct procedures involving data locations, classification, and determining adequate cybersecurity measures. Each system must be executed depending on your company’s compliance standards and infrastructure.

Steps for Data Classification Step 1: Analyse Risk Assessment

Conduct a risk assessment to determine the sensitivity level of the data. Also, you need to identify security loopholes through which a hacker can breach your network defenses.

Step 2: Develop Classification Policies and Standards

A classification policy and standard can help you streamline the process of adding data in the future to the same category to minimize mistakes.

Step 3: Categorize Your Data

Once you set the classification policies and standards, you need to assign categories to data based on their sensitivity. Also, mention penalties for non-compliance with these policies and standards.

Step 4: Find a Location to Store Data

Make sure to find a safe and secure location for data storage before deploying cybersecurity defenses. Allotting data to their site makes it easier for you to deploy the proper cybersecurity protection.

Step 5: Classify Your Data

You can do it manually or use third-party software to identify and classify data and track them.

Step 6: Employ Controls

Employ controls so that the individual must require authentication to access the data. The person must send authorization access requests to the respective authority and can only access the data if their request is approved. It will be better if an individual is only permitted to access the information if they need it to perform a task in their job.

Step 7: Monitor Data and its Access

Monitoring data is a crucial step for compliance and maintaining privacy. Without regular monitoring, you couldn’t know whether there was an unauthorized attempt to access the data. With proper monitoring controls, you can detect loopholes and anomalies in your security system and remain vigilant to eradicate a threat from the network before it could happen.

Conclusion

With accurate data classification, organizations get a crystal-clear picture of all data in the organization’s control. It gives a clear understanding of the storage location of the data, ways to access them seamlessly, and the best ways to protect them from unauthorized access. It streamlines your organization’s security framework and facilitates top-level data protection measures while promoting employing compliance with the company’s data security policies and regulations.

Update the detailed information about Simple Image Classification Using Fastai.jl on the Eastwest.edu.vn website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!