নিউরাল জাল: এক-গরম ভেরিয়েবল অপ্রতিরোধ্য ক্রমাগত?


13

আমার কাছে কাঁচা ডেটা রয়েছে যার প্রায় 20 টি কলাম রয়েছে (20 টি বৈশিষ্ট্য)। এর মধ্যে দশটি অবিচ্ছিন্ন ডেটা এবং তাদের 10 টি শ্রেণিবদ্ধ। কিছু শ্রেণিবদ্ধ ডেটাতে 50 টির মতো আলাদা মান (মার্কিন যুক্তরাষ্ট্র) থাকতে পারে। আমি ডেটা প্রাক-প্রক্রিয়া করার পরে 10 ধারাবাহিক কলামগুলি 10 প্রস্তুত কলাম হয়ে যায় এবং 10 শ্রেণিবদ্ধ মানগুলি 200 ওয়ান-হট এনকোডেড ভেরিয়েবলের মতো হয়ে যায়। আমি উদ্বিগ্ন যে আমি যদি এই 200 + 10 = 210 টি বৈশিষ্ট্যগুলি নিউরাল জালে রেখে দিই তবে 200-ওয়ান-হট বৈশিষ্ট্যগুলি (10 শ্রেণীবদ্ধ কলামগুলি) 10-ক্রমাগত বৈশিষ্ট্যগুলিকে পুরোপুরি আধিপত্য করবে।

সম্ভবত একটি পদ্ধতি হ'ল এক সাথে কলামগুলি "গ্রুপ" করা বা কিছু something এটি কি একটি বৈধ উদ্বেগ এবং এই সমস্যাটি মোকাবেলার কোনও মানক উপায় আছে?

(আমি কেরাস ব্যবহার করছি, যদিও আমি মনে করি না যে এটি খুব বেশি গুরুত্ব দেয়))


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

শুধু আমি যা খুঁজছিলাম। অবদান রাখার জন্য ধন্যবাদ।
ব্যবহারকারী 1367204

আমি এটি চেষ্টা করেছি এবং এনসেম্বলের ভাল_লসটি (মডেল_1, মডেল_2) মডেল_1 এর ভ্যাল_লাসের চেয়ে বেশি এবং মডেল ৩ এর ভাল_লসের চেয়ে বেশি।
ব্যবহারকারী 1367204

আপনি কি প্রকৃতপক্ষে এটি চেষ্টা করেছেন এবং স্থির করেছেন যে এই সমস্যাটি আসলে ঘটে? এই পয়েন্টটি পরীক্ষা করতে আপনি কী পরীক্ষা করেছেন? ফলাফল কি ছিল?
হিউ পারকিনস

উত্তর:


5

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

উভয়ই https://github.com/scikit-learn-contrib/categorical-encoding এ প্রয়োগ করা হয়েছে , বা নিজেকে বাস্তবায়নের জন্য মোটামুটি সোজা এগিয়ে।


4

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

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

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