কর্মপ্রবাহে আমাদের কোথায় হারিয়ে যাওয়া ডেটা নিয়ে কাজ করা উচিত?


16

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

পাইথনে এটি করার জন্য যথেষ্ট সহজ, হয় sklearn.preprocessing.Imputerক্লাসের সাথে, pandas.DataFrame.fillnaপদ্ধতিটি ব্যবহার করে , বা হাতে (ব্যবহৃত প্রত্যাহার পদ্ধতির জটিলতার উপর নির্ভর করে)। তবে যেহেতু আমি কয়েক মিলিয়ন রেকর্ড জুড়ে কয়েক ডজন বা কয়েক কলামের জন্য এটি ব্যবহার করব, আমি অবাক হয়েছি এসকিউএল এর মাধ্যমে সরাসরি এটি করার আরও কার্যকর উপায় আছে কিনা। ভার্টিকার মতো বিতরণ প্ল্যাটফর্মে এটি করার সম্ভাব্য দক্ষতাগুলি বাদ দিয়ে, এতে আমাদের সারণির "সম্পূর্ণ" সংস্করণ তৈরি করার জন্য একটি স্বয়ংক্রিয় পাইপলাইন তৈরি করার অনুমতি দেওয়ার অতিরিক্ত সুবিধা হবে, সুতরাং আমাদের নতুন সেট পূরণ করার দরকার নেই প্রতিবার আমরা একটি মডেল চালাতে চাই স্ক্র্যাচ থেকে মূল্যবোধ হারিয়েছে।

আমি এ সম্পর্কে খুব বেশি গাইডেন্স পাইনি, তবে আমি ধারণা করি যে আমরা পারলাম:

  1. প্রতিটি অসম্পূর্ণ কলামের জন্য বিকল্প মানের একটি টেবিল তৈরি করুন (উদাহরণস্বরূপ, গড় / মিডিয়ান / মোড, সামগ্রিকভাবে বা গোষ্ঠী অনুসারে)
  2. প্রতিটি সারি এবং অসম্পূর্ণ কলামের জন্য বিকল্প মান নির্ধারণ করতে মূল টেবিলের সাথে বিকল্প মান সারণীতে যোগ দিন
  3. উপলব্ধ হলে আসল মান এবং অন্যথায় বিকল্প মানটি নিতে কেস স্টেটমেন্টগুলির একটি সিরিজ ব্যবহার করুন

ভার্টিকা / এসকিউএল এ করা কি যুক্তিসঙ্গত জিনিস, বা এর পরিবর্তে পাইথনে এটি বিরক্ত করার এবং কেবল এটি পরিচালনা করার কোনও উপযুক্ত কারণ নেই? এবং যদি দ্বিতীয়টি হয় তবে স্ক্যান্ডার্ন বা তদ্বিপরীত পরিবর্তে পান্ডাসে এটি করার জন্য কি কোনও শক্ত মামলা আছে? ধন্যবাদ!

উত্তর:


14

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

অবশ্যই, কোন ধরণের প্রয়োগের প্রয়োগ করতে হবে তা সিদ্ধান্ত নেওয়ার পরে এটি স্বয়ংক্রিয়ভাবে করা যেতে পারে (এই ধারণার অধীনে নতুন ডেটার একই আকার / সমস্যা রয়েছে)।

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

এর পরে আপনাকে বুঝতে হবে যে কোনও ধরণের কাজের জন্য আপনার ডেটা থেকে প্রাপ্ত তথ্য আরও ভাল মিলে যায়। এটি প্রায়শই মনে হয় ঠিক তার চেয়ে করা খুব কঠিন do

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


1
+1 অটোমেশন অগত্যা জিনিসগুলি আরও ভাল করে না, কেবল আরও ধারাবাহিকভাবে এবং প্রায়শই দ্রুত!
জেমস

4

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

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