কেরাসের ফিট ফাংশনটির বৈধতা_স্প্লিট পরামিতি কীভাবে কাজ করে?


17

কেরাস সিকোয়েন্সিয়াল মডেল ফিট ফাংশনটিতে বৈধতা-বিভক্তিকে https://keras.io/models/sequential/ এ নিম্নলিখিত হিসাবে নথিভুক্ত করা হয়েছে :

যাচাইকরণ_স্প্লিট: 0 এবং 1 এর মধ্যে ভাসান প্রশিক্ষণ ডেটা ভগ্নাংশ যাচাইকরণ ডেটা হিসাবে ব্যবহার করা। মডেল প্রশিক্ষণের ডেটাগুলির এই ভগ্নাংশটি পৃথক করবে, এটির উপর প্রশিক্ষণ দেবে না এবং প্রতিটি যুগের শেষে এই ডেটাতে হওয়া ক্ষয় এবং কোনও মডেল মেট্রিকের মূল্যায়ন করবে। বৈধতা ডেটা স্থানান্তরিত এক্স এবং ওয়াই ডেটার সর্বশেষ নমুনাগুলি থেকে বদলে যাওয়ার আগে নির্বাচন করা হয়।

শেষ লাইন নোট করুন:

বৈধতা ডেটা স্থানান্তরিত এক্স এবং ওয়াই ডেটার সর্বশেষ নমুনাগুলি থেকে বদলে যাওয়ার আগে নির্বাচন করা হয়।

এর অর্থ কী যে বৈধতা ডেটা সর্বদা স্থির হয় এবং মূল ডেটাসেটের নীচ থেকে নেওয়া হয়?

মূল ডেটাসেট থেকে প্রদত্ত ভগ্নাংশটি এলোমেলোভাবে নির্বাচন করার কোনও উপায় আছে কি?

উত্তর:


17

আপনি প্রতিটি পর্বের পরে আপনার বৈধতা সেটটি পুনরায় নমুনা দিতে চান না। আপনি যদি এটি করেন তবে আপনার মডেলটি আপনার ডেটাসেটের প্রতিটি একক নমুনায় প্রশিক্ষিত হবে এবং সুতরাং এটি অত্যধিক উপকারের কারণ হবে। আপনি প্রশিক্ষণ প্রক্রিয়া করার আগে সর্বদা আপনার ডেটা বিভক্ত করতে চান এবং তারপরে অ্যালগরিদম কেবল প্রশিক্ষণের জন্য ডেটাটির উপসেট ব্যবহার করে প্রশিক্ষণ দেওয়া উচিত।

এটি তৈরি করা ফাংশনটি নিশ্চিত করে যে ডেটাটি এমনভাবে পৃথক করা হয়েছে যাতে প্রতিটি পর্বের জন্য ডেটার একই অংশে সর্বদা প্রশিক্ষণ দেওয়া হয়। যদি বিকল্পটি চয়ন করা হয় তবে সমস্ত বদলানো যুগের মধ্যে প্রশিক্ষণের নমুনার মধ্যেই করা হয়।

যাইহোক, কিছু ডেটাসেটের জন্য শেষ কয়েকটি উদাহরণগুলি কার্যকর হয় না, বিশেষত যদি ডেটাসেটটি শ্রেণীর উপর ভিত্তি করে পুনরায় গোষ্ঠী হয়। তারপরে আপনার ক্লাসগুলির বিতরণ স্কিউ হবে। প্রশিক্ষণ এবং বৈধতা সেটগুলিতে ভারসাম্য বর্গ বিতরণ পেতে তথ্যের একটি উপসেটটি এক্সট্রাক্ট করার জন্য আপনাকে এ জাতীয় কিছু উপায়ের প্রয়োজন হবে। এর জন্য আমি সবসময় নীচের মতো স্কলার্ন ফাংশনটি ব্যবহার করতে চাই

from sklearn.model_selection import train_test_split

# Split the data
x_train, x_valid, y_train, y_valid = train_test_split(data, labels, test_size=0.33, shuffle= True)

এটি আপনার ব্যবহারের জন্য খুব সহজ ফাংশন যা আপনি যা চান তা করে। ভেরিয়েবলগুলি dataএবং labelsউদাহরণস্বরূপ প্রথম মাত্রা সহ স্ট্যান্ডার্ড নম্পি ম্যাট্রিক being


1
আমার অর্থ প্রতিটি পর্বের পরে আলাদা আলাদা পরীক্ষা করা উচিত নয়। আমি ডেটাসেটের শেষে থেকে ডেটা পাওয়ার বিষয়ে জিজ্ঞাসা করছিলাম যেহেতু ক্লাস অনুসারে অনেকগুলি ডেটাসেট সাজানো হতে পারে (যেমন আপনি উল্লেখ করেছেন)। আমি জানি train_test_splitএবং এখন আপনি নিশ্চিত করেছেন যে এটি একটি আরও ভাল পদ্ধতি যেহেতু এটি এলোমেলোভাবে ডেটাसेट থেকে পরীক্ষার / বৈধতার ডেটা পাবে।
rnso

@ আরএনএসো, দুর্ভাগ্যক্রমে কেরাস সেই বিকল্পটি সরবরাহ করে না। আমি অনুমান করি যে এটি সত্যিকার অর্থে তারা কী অফার করতে চায় তার মধ্যে নেই। নামে এলোমেলোভাবে 2 টি পৃথক পদ্ধতির ইনপুট রেখে প্রয়োগটিকে কিছুটা বিভ্রান্ত করে তুলবে।
JahKnows

আপনি সেই ট্রেন_স্টেস্ট_স্প্লি ব্যবহার করে বৈধতা এবং পরীক্ষার ডেটার সংজ্ঞাটি মিশ্রিত করেন নি?
ব্যাগস্ট্রিস

আপনি ব্যবহার করেন তাহলে shuffleপ্যারামিটার, এছাড়াও আপনি ব্যবহার করেন shuffle.fitএকটি keras মডেল জন্য?
শামুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.