কম্পিউটার টিউটোরিয়াল

TensorFlow ব্যবহার করে Auto MPG ডেটাসেটে ফুয়েল এফিশিয়েন্সি পূর্বাভাসের জন্য ডেটা নরমালাইজ করা

TensorFlow হল Google প্রদত্ত একটি মেশিন লার্নিং ফ্রেমওয়ার্ক। এটি একটি ওপেন-সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে সংযোগে অ্যালগরিদম, ডিপ লার্নিং অ্যাপ্লিকেশন ইত্যাদি বাস্তবায়নে ব্যবহৃত হয়। 'tensorflow' প্যাকেজটি উইন্ডোজে নিচের কোড দিয়ে ইনস্টল করা যায়:

pip install tensorflow

টেনসর TensorFlow-এ ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি একটি ফ্লো ডায়াগ্রামে এজ সংযোগ করতে সাহায্য করে। এই ফ্লো ডায়াগ্রামকে 'Data flow graph' বলা হয়। টেনসরসমূহ আসলে মাল্টি-ডাইমেনশনাল অ্যারে বা একটি লিস্ট।

রিগ্রেশন সমস্যার উদ্দেশ্য হল একটি কন্টিনিউয়াস বা ডিসক্রিট ভেরিয়েবলের আউটপুট পূর্বাভাস করা, যেমন দাম, সম্ভাবনা, বৃষ্টি হবে কিনা ইত্যাদি।

আমরা যে ডেটাসেট ব্যবহার করছি তা 'Auto MPG' ডেটাসেট। এতে ১৯৭০ এবং ১৯৮০ দশকের অটোমোবাইলদের ফুয়েল এফিশিয়েন্সি রয়েছে। এতে ওজন, হর্সপাওয়ার, ডিসপ্লেসমেন্ট ইত্যাদি অ্যাট্রিবিউট রয়েছে। এর সাহায্যে আমাদের নির্দিষ্ট যানবাহনların ফুয়েল এফিশিয়েন্সি পূর্বাভাস করতে হবে।

নিচের কোড চালাতে আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারের মাধ্যমে পাইথন কোড চালাতে সাহায্য করে এবং এটি শূন্য কনফিগারেশনের সাথে ফ্রি GPU অ্যাক্সেস প্রদান করে (Graphical Processing Units)। Colaboratory Jupyter Notebook-এর উপরে তৈরি।

কোড স্নিপেট নিচে দেওয়া হল:

উদাহরণ

print("Separating the label from features")
train_features = train_dataset.copy()
test_features = test_dataset.copy()
train_labels = train_features.pop('MPG')
test_labels = test_features.pop('MPG')
print("The mean and standard deviation of the training dataset : ")
train_dataset.describe().transpose()[['mean', 'std']]
print("Normalize the features since they use different scales")
print("Creating the normalization layer")
normalizer = preprocessing.Normalization()
normalizer.adapt(np.array(train_features))
print(normalizer.mean.numpy())
first = np.array(train_features[3:4])
print("Every feature has been individually normalized")
with np.printoptions(precision=2, suppress=True):
    print('First example is :', first)
    print()
    print('Normalized data :', normalizer(first).numpy())

কোড ক্রেডিট: https://www.tensorflow.org/tutorials/keras/regression

আউটপুট

Separating the label from features
The mean and standard deviation of the training dataset :
Normalize the features since they use different scales
Creating the normalization layer
[ 5.467 193.847 104.135 2976.88 15.591 75.934 0.168 0.197 0.635]
Every feature has been individually normalized
First example is : [[ 4. 105. 63. 2125. 14.7 82. 0. 0. 1. ]]
Normalized data : [[-0.87 -0.87 -1.11 -1.03 -0.33 1.65 -0.45 -0.5 0.76]]

ব্যাখ্যা

  • টার্গেট ভ্যালু (লেবেল) ফিচার থেকে পৃথক করা হয়।

  • লেবেলটি वह মান যা পূর্বাভাসের জন্য ট্রেন করা হয়।

  • ফিচারগুলো নরমালাইজ করা হয় যাতে ট্রেনিং স্থিতিশীল হয়।

  • TensorFlow-এ 'Normalization' ফাংশন ডেটা প্রিপ্রসেস করে।

  • একটি প্রথম লেয়ার তৈরি হয়, এবং এই লেয়ারে মিন এবং ভ্যারিয়েন্স সংরক্ষিত হয়।

  • যখন এই লেয়ার কল করা হয়, এটি ইনপুট ডেটা রিটার্ন করে যেখানে প্রতিটি ফিচার নরমালাইজড হয়েছে।

  1. TensorFlow ব্যবহার করে Auto MPG ডেটাসেটে মডেলকে ডেটায় ফিট করা

  2. TensorFlow ব্যবহার করে Auto MPG ডেটাসেটে ফুয়েল এফিশিয়েন্সি পূর্বাভাস করা

  3. TensorFlow ব্যবহার করে Auto MPG ডেটাসেটে ফুয়েল এফিশিয়েন্সি পূর্বাভাসের জন্য ডেটা বিভক্ত ও পরিদর্শন করা

  4. TensorFlow ব্যবহার করে Fashion MNIST ডেটাসেটে প্রশিক্ষিত মডেল দিয়ে ভিন্ন ইমেজ পূর্বাভাস করা