চূড়ান্ত মডেলটি প্রশিক্ষণের জন্য পুরো ডেটাসেট ব্যবহার করা কি সর্বদা ভাল?


24

পছন্দের মেশিন লার্নিং মডেলকে প্রশিক্ষণ, যাচাইকরণ এবং পরীক্ষার পরে একটি সাধারণ কৌশল হ'ল পরীক্ষার উপসেট সহ সম্পূর্ণ ডেটাसेट ব্যবহার করা, এটি কোনও পণ্য স্থাপনের জন্য একটি চূড়ান্ত মডেলকে প্রশিক্ষণ দেওয়ার জন্য , যেমন পণ্য।

আমার প্রশ্ন: এটি কি সর্বদা সর্বোত্তম করার জন্য? পারফরম্যান্স আসলে খারাপ হয়ে গেলে কী হবে?

উদাহরণস্বরূপ, আসুন আমরা একটি কেস ধরে নিই যেখানে পরীক্ষার উপসেটটিকে শ্রেণিবদ্ধকরণে মডেল প্রায় 65% স্কোর করে। এর অর্থ হ'ল হয় মডেলটি অপর্যাপ্তভাবে প্রশিক্ষিত হয় বা পরীক্ষার উপসেটটি বহিরাগতদের নিয়ে থাকে। পরবর্তী ক্ষেত্রে, তাদের সাথে চূড়ান্ত মডেলটির প্রশিক্ষণ দেওয়া এর কার্যকারিতা হ্রাস পাবে এবং আপনি এটি স্থাপন করার পরেই আবিষ্কার করতে পারবেন।

আমার প্রাথমিক প্রশ্নের পুনরায় বাক্য বানানো:

যদি আপনার কোনও মডেলটির একসময়ের প্রদর্শন যেমন এম্বেড করা ইলেকট্রনিক্সগুলি বোর্ডে ব্যয়বহুল রকেট পরীক্ষায় লাগানো থাকে, আপনি কি এমন কোনও মডেলকে বিশ্বাস করবেন যা পরীক্ষার উপসেটটি পুনরায় প্রশিক্ষণ না দিয়ে পুনরায় প্রশিক্ষণপ্রাপ্ত হয়েছে? তার নতুন পারফরম্যান্স পরীক্ষা?

উত্তর:


14

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

যাইহোক, আপনি আর পরীক্ষার ডেটাতে পরিসংখ্যান / পারফরম্যান্স দাবি করতে পারবেন না যেহেতু আপনার আর টেস্টের ডেটাसेट নেই।

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

তবে আপনি যদি নতুন ডেটার লক্ষ্যবস্তু জানতেন তবে কেন আপনি প্রথমে কোনও মডেলকে প্রশিক্ষণ দেবেন?

সাধারণভাবে, আমি বলব যদি আপনার কাছে যথেষ্ট পরিমাণে যথেষ্ট পরিমাণে ডেটা থাকে, তবে ডেটা বদলানো এবং বিভক্ত করা 80:20 প্রশিক্ষণ: একটি শক্তিশালী মডেলকে প্রশিক্ষণের জন্য পরীক্ষা পর্যাপ্ত হওয়া উচিত এবং জেনারালাইজেশন সম্পর্কিত সমস্যাগুলির বিষয়ে চিন্তা করতে হবে না (অবশ্যই ধরে নিই যে আপনি নিয়মিত করেন মডেল).


+1 ', উত্তরের জন্য ধন্যবাদ! 80/20 বিভক্ত হওয়ার আগে ডেটাসেটের এলোমেলো
শ্যাফাল

2
আপনার আউট-আউট টেস্ট সেটটির পারফরম্যান্সটি পুরো জনগণের মধ্যে সাধারণীকরণ হওয়ার কথা, যতক্ষণ আপনি এটি সঠিকভাবে করেছেন। যদিও পুরো ডেটাसेटটিতে আপনার পদ্ধতি প্রয়োগের পরে আপনার কাছে কোনও টেস্ট সেট নেই, তবে আপনার মূল ক্রস-ভ্যালিডেটেড ট্রেন / পরীক্ষা সেটগুলিতে পারফরম্যান্সটি আপনার প্রশিক্ষণের অ্যালগরিদমের পারফরম্যান্সের একটি নিরপেক্ষ অনুমানক। এটি সিভির পুরো বিষয় - কোনও মডেলকে প্রশিক্ষণ বা প্যারামিটারাইজ করতে নয়, বরং মডেল-বিল্ডিং প্রক্রিয়াটির পারফরম্যান্স অনুমান করার জন্য। পূর্ণ-ডেটা মডেলিংয়ের আগে যে কোনও পরীক্ষার সেটগুলিতে আপনার পারফরম্যান্স হ'ল সম্পূর্ণ ডেটাতে পারফরম্যান্সের অনুমান।
নিউক্লিয়ার ওয়াং

13

আকর্ষণীয় প্রশ্ন। উত্পাদিত পণ্যগুলির জন্য আমি ব্যক্তিগতভাবে এটি দেখিনি, তবে যুক্তিটি বুঝতে পারি।

তাত্ত্বিকভাবে, আপনার মোতায়েন করা মডেল যত বেশি ডেটা দেখেছে, তত ভাল general সুতরাং আপনি যদি উপলভ্য ডেটা সম্পূর্ণ সেটটিতে মডেলটিকে প্রশিক্ষিত করেন তবে এটি এমন মডেলের চেয়ে ভাল করতে হবে যা পুরো ডেটা সেট থেকে কেবল উদাহরণস্বরূপ ট্রেন / ভ্যাল সেটগুলি (যেমন ~ 90%) দেখেছিল।

এটির সাথে সমস্যা (এবং যে কারণে আমরা প্রথম স্থানে ট্রেন / ভাল / পরীক্ষার সেটগুলিতে ডেটা বিভক্ত করি!) হ'ল আমরা অদেখা তথ্যের যথার্থতার বিষয়ে পরিসংখ্যানগত দাবি করতে সক্ষম হতে চাই। সমস্ত ডেটাতে আমরা আবার কোনও মডেলকে পুনরায় প্রশিক্ষণ দেওয়ার সাথে সাথে এই জাতীয় দাবি করা আর সম্ভব হবে না।

[সম্পাদনা]

ক্রস-ভ্যালিডেটেড সম্পর্কিত এখানে একটি সম্পর্কিত প্রশ্ন রয়েছে , যেখানে গৃহীত উত্তরটি আমার কাছে অনুরূপ পয়েন্ট দেয় এবং জিনিসগুলি করার অন্যান্য পদ্ধতির উল্লেখ করে।


আমরা লুপ উপর:

  1. একটি মডেল প্রশিক্ষণ
  2. মডেল পরিবর্তন
  3. পদক্ষেপ 1 এ যান
  4. পরীক্ষা সেট উপর কর্মক্ষমতা মূল্যায়ন
  5. পদক্ষেপ 5 এ পরীক্ষার নির্ভুলতার সাথে উপস্থিত মডেল

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

একটি স্যানিটি চেক হ'ল মূল পরীক্ষার সেটটিতে আবার চূড়ান্ত পুনরায় প্রশিক্ষিত মডেলটি পরীক্ষা করা হবে; মডেল যখন কেবল ট্রেন / ভাল সেট দেখেছিল তখন এটি তার চেয়ে বেশি স্কোরের প্রত্যাশা করে, কারণ এটি প্রশিক্ষণের সময় পরীক্ষার সেটটি আসলে দেখেছে। এটি আমার 100% আত্মবিশ্বাস বোধ করবে না যে ভবিষ্যতের সমস্ত ক্ষেত্রে এই চূড়ান্ত মডেলটি উন্নত, তবে কমপক্ষে এটি প্রদত্ত ডেটার সাথে যতটা সম্ভব ভাল।

আপনি যা বলছেন (সম্ভবত একাডেমিকভাবে মোটিভেটেড) করার বিরুদ্ধে সম্ভবত আরও কঠোর যুক্তি রয়েছে, তবে এটি ব্যবহারিক প্রয়োগগুলির জন্য আবেদনকারী বলে মনে হয় না!


+1 ', আপনার প্রচেষ্টা এবং পোস্টটি দেখানোর জন্য ধন্যবাদ, আমি এটি মিস করেছি! শেষ পর্যন্ত পুরো প্রশিক্ষণ ডেটাসেটে মডেলটি পরীক্ষা করার জন্য আপনার পরামর্শ হিসাবে, আমি মনে করি এর ফলাফলের দ্বারা আপনি কোনও মূল্যবান অন্তর্দৃষ্টি পাবেন না। কেবল কারণ অ্যালগরিদম প্রশিক্ষণ সাধারণত ব্যয় কার্যকারিতা অনুকূলিতকরণের উপর ভিত্তি করে হয়, তাই প্রশিক্ষণ প্রাপ্ত মডেলটিকে প্রশিক্ষণের ডেটা দেওয়া সর্বোত্তম। ট্রেনের ডেটাতে কম নির্ভুলতার অর্থ এটি সর্বোত্তম নয়, এর অর্থ হ'ল সেই ডেটাসেট এবং নির্বাচিত অ্যালগরিদম আর্কিটেকচারের কারণে এটি আরও ভালতর করতে পারে না। এর দ্বারা বাহ্যিক বৈধতার জন্য আপনি কোনও কিছু অনুমান করতে পারবেন না।
pcko1

1
আপনাকে স্বাগতম! আমি আপনার বক্তব্যের সাথে পুরোপুরি একমত (যদিও আমি ট্রেন নয়, মূল পরীক্ষার ডেটাতে চূড়ান্ত প্রশিক্ষিত মডেলটি পরীক্ষা করতে বলেছিলাম ) যাইহোক, আমি এখনও দেখতে চাই যে চূড়ান্ত মডেল সম্পূর্ণ অপ্রত্যাশিত কিছু করেনি। তত্ত্ব এবং অনুশীলন সর্বদা প্রান্তিক থাকে না :)
n1k31t4

6

একটি পরিসংখ্যান যা পরিসংখ্যান মেশিন লার্নিং সম্পর্কে জোর দেওয়া প্রয়োজন তা হল কোনও গ্যারান্টি নেই । যখন আপনি একটি আউট-আউট সেট ব্যবহার করে পারফরম্যান্স অনুমান করেন, এটি কেবলমাত্র অনুমান । অনুমান ভুল হতে পারে।

এটি কিছুটা অভ্যস্ত হয়ে যায়, তবে এটি এমন কিছু যা আপনার সাথে স্বাচ্ছন্দ্য বোধ করতে হবে। আপনি যখন বলেন "যদি পারফরম্যান্সটি আসলে খারাপ হয়?", উত্তরটি নিশ্চিত যে এটি ঘটতে পারে। আসল পারফরম্যান্স আপনার অনুমান / পূর্বাভাসের চেয়ে খারাপ হতে পারে। এটি আরও ভাল হতে পারে। দুটোই সম্ভব। এটা অনিবার্য। কিছু সহজাত, অপরিবর্তনীয় অনিশ্চয়তা আছে।

যখন আপনি একটি আউট-আউট টেস্ট সেট ব্যবহার করে পারফরম্যান্স মূল্যায়ন করেন, আপনি ভবিষ্যতের পারফরম্যান্সের পূর্বাভাস দেওয়ার চেষ্টা করার জন্য অতীত থেকে ডেটা ব্যবহার করছেন। তারা যেমন বলেছে, অতীত কর্মক্ষমতা ভবিষ্যতের ফলাফলের কোনও গ্যারান্টি নয় । এটি জীবনের সত্য যা আমাদের কেবল গ্রহণ করতে হবে।

আপনি এটি স্থির রাখতে পারবেন না। আপনার পূর্বাভাসের চেয়েও খারাপ কাজ করা সম্ভব এই তথ্যটি ডেটা সম্পর্কে প্রশিক্ষিত কোনও মডেল তৈরিতে এড়ানো কোনও কারণ নয়। বিশেষত, যদি আপনি এটি না করেন তবে খারাপ কাজ করাও সম্ভব। এটি সম্ভব যে সমস্ত ডেটাতে প্রশিক্ষিত একটি মডেল (ট্রেন + বৈধকরণ + পরীক্ষা) কেবল ট্রেন + বৈধতার অংশে প্রশিক্ষিত কোনও মডেলের চেয়ে খারাপ হবে। এটি আরও ভাল হবে যে সম্ভব। সুতরাং, গ্যারান্টি খোঁজার পরিবর্তে আমাদের নিজেদের জিজ্ঞাসা করতে হবে: আমাদের সাফল্যের সর্বোত্তম সুযোগটি কী দেয়? সবচেয়ে কার্যকর হওয়ার সম্ভাবনা কী?

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

বিশেষত, আদর্শ অনুশীলনটি নিম্নরূপ:

  1. আপনার কিছু ডেটা হোল্ড-আউট টেস্ট সেটে সংরক্ষণ করুন। কোন ভগ্নাংশটি ব্যবহার করবেন সে সম্পর্কে কোনও কঠোর এবং দ্রুত নিয়ম নেই, তবে উদাহরণস্বরূপ, আপনি পরীক্ষার জন্য 20% সংরক্ষণ করতে পারবেন এবং বাকি 80% প্রশিক্ষণ এবং বৈধতার জন্য রাখবেন। সাধারণত, সমস্ত বিভাজন এলোমেলো হওয়া উচিত।

  2. এরপরে, একাধিক আর্কিটেকচার এবং হাইপারপ্যারামিটার চেষ্টা করার জন্য প্রশিক্ষণ ও বৈধতা ডেটা ব্যবহার করুন, আপনি পারেন সেরা মডেলটি সন্ধানের জন্য পরীক্ষামূলক। প্রশিক্ষণ এবং বৈধতা জন্য 80% ধরে রাখা, এবং এটি একটি প্রশিক্ষণ সেট এবং একটি বৈধতা সেট বিভক্ত করুন, এবং প্রশিক্ষণ সেট ব্যবহার করে একটি মডেল প্রশিক্ষণ এবং তারপরে যাচাইকরণ সেটটিতে তার নির্ভুলতা পরিমাপ করুন। আপনি যদি ক্রস-বৈধতা ব্যবহার করে থাকেন তবে আপনি এই বিভাজনটি বহুবার করবেন এবং বৈধতা সেটটিতে ফলাফল গড় করবেন; আপনি যদি না হন তবে আপনি একটি একক বিভাজন (উদাহরণস্বরূপ, 80% এর 70% / 30% বিভাজন বা এর মতো কিছু) করবেন এবং বৈধতা সেটটিতে পারফরম্যান্স মূল্যায়ন করবেন। আপনার যদি চেষ্টা করার মতো অনেক হাইপারপ্যারামিটার থাকে তবে হাইপারপ্যারামিটারের প্রতিটি পরীক্ষার্থীর সেটিংয়ের জন্য এটি একবার করুন। আপনার যদি চেষ্টা করার মতো অনেক আর্কিটেকচার থাকে তবে প্রতিটি পরীক্ষার্থী আর্কিটেকচারের জন্য এটি করুন। আপনি যা ব্যবহার করে তা নিয়ে পুনরাবৃত্তি করতে পারেন

  3. আপনি খুশি হয়ে গেলে আপনি আর্কিটেকচার, হাইপারপ্যারামিটার ইত্যাদির পছন্দ হিমশীতল করুন এখন আপনার পরীক্ষা-নিরীক্ষা শেষ। আপনি এই পয়েন্টটি আঘাত করার পরে, আপনি আর কোনও বিকল্প আর চেষ্টা করতে পারবেন না (নতুন নতুন পরীক্ষা সেট না পেয়ে) - সুতরাং আপনি প্রস্তুত না হওয়া অবধি এই পয়েন্টটিতে আঘাত করবেন না।

  4. আপনি যখন প্রস্তুত হন, তারপরে আপনি পূর্বে নির্বাচিত আর্কিটেকচার এবং হাইপারপ্যারামিটার ব্যবহার করে সম্পূর্ণ প্রশিক্ষণ + বৈধতা সেট (যে 80%) তে একটি মডেলকে প্রশিক্ষণ দিন। তারপরে, অনুষ্ঠিত আউট টেস্ট সেটটিতে এর যথার্থতাটি মাপুন। এই মডেলিং পদ্ধতিটি কতটা সঠিক হবে তার জন্য এটিই আপনার অনুমান / পূর্বাভাস। আপনি এখানে একটি একক নম্বর পাবেন। এই সংখ্যাটি এটি যা: আপনি যদি এতে সন্তুষ্ট না হন তবে আপনি 1 এবং 2 ধাপে ফিরে যেতে পারবেন না এবং আরও পরীক্ষা-নিরীক্ষা করতে পারবেন না; এটি অবৈধ হবে।

  5. পরিশেষে, উত্পাদন ব্যবহারের জন্য, আপনি পুরো ডেটা সেট, প্রশিক্ষণ + বৈধতা + পরীক্ষা সেট, এবং এটিকে উত্পাদন ব্যবহারে রাখতে একটি মডেলকে প্রশিক্ষণ দিতে পারেন। নোট করুন যে আপনি কখনই এই উত্পাদন মডেলের যথার্থতা পরিমাপ করেন না, কারণ এটি করার জন্য আপনার কাছে কোনও ডেটা নেই; আপনি ইতিমধ্যে সমস্ত ডেটা ব্যবহার করেছেন। আপনি যদি এটি কতটা ভাল সঞ্চালন করবেন তার একটি প্রাক্কলন চান, তবে আপনি উত্পাদন সম্পর্কে এটি কতটা ভাল পারফরম্যান্স করবেন তার ভবিষ্যদ্বাণী হিসাবে আপনি চতুর্থ পদক্ষেপ থেকে আনুমানিক নির্ভুলতা ব্যবহারের অধিকারী হবেন, কারণ এটি তার ভবিষ্যতের পারফরম্যান্সের সেরা উপলভ্য পূর্বাভাস। সর্বদা হিসাবে, কোনও গ্যারান্টি নেই - আমাদের কাছে উপলভ্য তথ্য প্রদত্ত এটি কেবলমাত্র সেরা অনুমান। এটি অবশ্যই সম্ভব যে এটি আপনার পূর্বাভাসের চেয়ে খারাপ, বা আপনি পূর্বাভাসের চেয়ে ভাল করতে পারে - এটি সর্বদা সত্য।


প্রয়াসটির জন্য +1 করেছি, যদিও আমি পুরোপুরি একমত নই :) যেমন আপনি যখন "প্রত্যাশিত পারফরম্যান্সের দিক থেকে উল্লেখ করেন তখন সমস্ত ডেটা ব্যবহার করা কিছু ডেটা ব্যবহার করার চেয়ে খারাপ নয় এবং সম্ভাব্যতর উন্নত।" আমি এর পিছনে যুক্তি দেখতে পাচ্ছি না। অন্যদিকে, আপনি যে ২ য় পয়েন্টটি উল্লেখ করেছেন তা অত্যন্ত গুরুত্বপূর্ণ বলে মনে হচ্ছে, ক্রস বৈধকরণ! সুতরাং প্রয়োজনীয়ভাবে আপনি সমস্ত নমুনা দিয়ে প্রশিক্ষণ / বৈধতা দিন, এইভাবে আপনি নির্বাচিত চূড়ান্ত মডেলটিতে বিদেশী প্রত্যাখাত হন। আপনার উত্তরের জন্য ধন্যবাদ.
pcko1

@ pcko1, নীতিটি সহজ। যদি আপনার কাছে ডেটা থাকে, আপনার কি এটি সমস্ত ব্যবহার করা উচিত, বা এর কিছু? কেন? সম্ভবত যখন আমরা ডেটা পাই, আমাদের কিছু করার আগে, আমাদের কেবল এটির 10% নেওয়া উচিত এবং এটিকে ফেলে দেওয়া উচিত এবং কখনই এটির দিকে নজর দেওয়া উচিত নয়। আসলে, যদি কিছু ফেলে দেওয়া ভাল হয় তবে আরও বেশি ছুঁড়ে ফেলা আরও ভাল, তাই সম্ভবত আমাদের আমাদের সমস্ত ডেটা ফেলে দেওয়া উচিত। এটা অবাস্তব, তাই না? কেন? আপনি কেন বুঝতে পারেন কিনা তা দেখুন এবং তারপরে এই পরিস্থিতিতে এটি প্রয়োগ করার চেষ্টা করুন। আশা করি এটি আপনার চিন্তাভাবনা করে!
DW

3

ডেটা সেট থাকার অন্যতম কারণ হ'ল অতিরিক্ত মানা এড়ানো। যদি আপনি ক্রস-বৈধকরণ নিয়োগ করেন তবে আপনি মূলত পুরো ডেটাসেটকে প্রশিক্ষণ সেট হিসাবে কাজ করার অনুমতি দিন, তবে পুনরায় প্রশিক্ষণ আপনাকে ওভারফিট করার লক্ষণ রয়েছে কিনা তা বৈধ করতে দেয় না। আমি অনুমান করি যে কোনওভাবেই (সম্পূর্ণ ডেটা সেট সহ ক্রস বৈধকরণ বা পুনরায় প্রশিক্ষণ) আপনার ফলাফলটি নাটকীয়ভাবে পরিবর্তন করতে হবে না (আমার অশিক্ষিত অনুমান থেকে), তবে আপনি হাইপারপ্যারমিটার টিউনিং করতে পারবেন না বা আপনার মডেলটির কার্য সম্পাদনকে যাচাই করতে পারবেন না একটি পরীক্ষা সেট আছে। এটি আরও ভাল হওয়া শেষ হয়েছে কিনা তা বলা শক্ত, তবে আমি অনুমান করি একমাত্র উপায়টি হ'ল সময়ের সাথে সাথে দুটি মডেলের A / B করা real

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