ট্রেন ও পরীক্ষায় বিভক্ত হওয়ার আগে বা পরে অনুগতি?


18

আমার কাছে এন ~ 5000 দিয়ে একটি ডেটা সেট রয়েছে এবং কমপক্ষে একটি গুরুত্বপূর্ণ ভেরিয়েবলের প্রায় 1/2 অনুপস্থিত। মূল বিশ্লেষণ পদ্ধতিটি কক্স আনুপাতিক বিপদ হবে।

আমি একাধিক অনুমান ব্যবহার করার পরিকল্পনা করছি plan আমি ট্রেন এবং পরীক্ষার সেটেও বিভক্ত হব।

আমার কি ডেটা বিভক্ত করা উচিত এবং তারপরে পৃথকভাবে ইমপুট করা উচিত, বা ইমপুট এবং তারপরে বিভক্ত হওয়া উচিত?

যদি এটা গুরুত্বপূর্ণ, আমি ব্যবহার করা হবে PROC MISAS


2
একটি গুরুত্বপূর্ণ ভেরিয়েবলের জন্য 50% অনুপস্থিত মান? বিতৃষ্ণা। গণ্য করার পরিবর্তে, চলকটির জন্য কেন 'অনুপস্থিত' বিভাগ তৈরি করা হচ্ছে না?
রবার্টএফ

কোনও ভেরিয়েবলের 50% অনুপস্থিত নেই তবে কমপক্ষে একটিতে প্রায় 50% অনুপস্থিত। এছাড়াও, এগুলি অবিচ্ছিন্ন, সুতরাং "অনুপস্থিত" জিনিসগুলি গোলমেলে করবে।
পিটার ফ্লুম - মনিকা পুনরায়

আহ। অভিশাপ ব্যবহার করে আমি নার্ভাস হয়ে যাই। কনটকে রূপান্তরিত করে 50% মান অভিহিত করে একটি ধ্রুবক পরিবর্তনশীল থাকার যোগ্যতা সম্পর্কে আমি অবাক হই। একটি 'মিসিং' বিভাগের সাথে শ্রেণীবদ্ধে পরিবর্তনশীল এবং অনুপস্থিত মানগুলি আচরণ ক্যাপচারের জন্য পর্যাপ্ত বিন্দু?
রবার্টএফ

আমি ধারাবাহিক পরিবর্তনশীল বিনিং পছন্দ করি না।
পিটার ফ্লুম - মনিকা পুনরায়

উত্তর:


20

প্রাক-প্রসেসিং বা ইমপুট করার আগে আপনার বিভক্ত হওয়া উচিত।

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

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

মন্তব্যগুলি থেকে যুক্ত করা: আপনি যদি প্রশিক্ষণের ডেটা প্রভাবিত করতে পরীক্ষার ডেটা ব্যবহার করেন তবে পরীক্ষার ডেটাটি আপনার মডেলটি তৈরি করতে ব্যবহৃত হচ্ছে, তাই এটি পরীক্ষার ডেটা হয়ে যায় এবং আপনার মডেলের সুষ্ঠু পরীক্ষা সরবরাহ করে না। আপনি অতিমাত্রায় ঝুঁকিপূর্ণ, এবং এটি হতাশ করার জন্য আপনি পরীক্ষার ডেটা প্রথম স্থানে আলাদা করেছিলেন


আপনি যখন "উভয় সেটে একইভাবে করেন" বলছেন, তখন আপনার অর্থ কি: "পরীক্ষার সেটে অনুপস্থিত ডেটা গণ্য করার জন্য একই পদ্ধতি ব্যবহার করুন, তবে একই ডেটা নয়"?
টিমউইজ

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

যদি আপনি "প্রশিক্ষণ ডেটা থেকে আপনি যা শিখেছেন তা অন্তর্ভুক্ত করতে মুক্ত হন", তবে অনুমান করার আগে বিভক্ত না হওয়া থেকে এটি কীভাবে আলাদা ।
টিমউইজ

1
@ কলরলেস: সেই চূড়ান্ত বিষয়টি আমি যা বলছি তা হ'ল: আপনি প্রশিক্ষণের তথ্য দিয়ে যা কিছু করবেন তা পরীক্ষার ডেটা দ্বারা অবহিত করা উচিত (উপমাটি হ'ল ভবিষ্যতে অতীতকে প্রভাবিত করা উচিত নয়), তবে আপনি পরীক্ষার ডেটা দিয়ে যা করেন প্রশিক্ষণের তথ্য দ্বারা অবহিত করা যেতে পারে (সাদৃশ্যটি হ'ল আপনি ভবিষ্যতের ভবিষ্যদ্বাণী করতে সহায়তা করতে অতীতকে ব্যবহার করতে পারেন)
হেনরি

1
@ কলরলেস - আপনি যদি প্রশিক্ষণের ডেটা প্রভাবিত করতে পরীক্ষার ডেটা ব্যবহার করেন তবে পরীক্ষার ডেটাটি আপনার মডেলটি তৈরি করতে ব্যবহৃত হচ্ছে, তাই এটি পরীক্ষার ডেটা হয়ে যায় এবং আপনার মডেলের সুষ্ঠু পরীক্ষা সরবরাহ করে না। আপনি অত্যধিক ঝুঁকি নিয়ে ঝুঁকছেন, এবং এটি হতাশ করার জন্য আপনি পরীক্ষার ডেটা প্রথম স্থানে আলাদা করেছিলেন
হেনরি

1

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

তবে আপনি জিজ্ঞাসা করতে পারেন, আমি যদি বিভাজনের পরে অভিযুক্ত করি তবে আমার যখন ক্রস বৈধকরণের প্রয়োজন হয় তখন এটি খুব ক্লান্তিকর হতে পারে। এর জন্য আমার পরামর্শ হ'ল স্ক্লার্ন পাইপলাইন ব্যবহার করা। এটি আপনার কোডটি সত্যই সরল করে দেয় এবং ভুল করার সুযোগকে কমিয়ে দেয়। পাইপলাইন দেখুন


0

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

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

আমি মনে করি r তে ক্যারেট প্যাকেজটি সেটিংয়ে খুব কার্যকর। আমি সেই পোস্টটিতে সুনির্দিষ্টভাবে খুঁজে পেয়েছি যে https://topepo.github.io/care/model-training-and-tuning.html

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