ডেটা পরিষ্কার করার জন্য সংগঠিত প্রক্রিয়াগুলি


34

আর ব্যবহার করে ডেটা বিজ্ঞানের সাথে আমার সীমাবদ্ধ ছোঁড়াছুড়ি থেকে বুঝতে পেরেছিলাম যে খারাপ ডেটা পরিষ্কার করা বিশ্লেষণের জন্য ডেটা প্রস্তুতের একটি খুব গুরুত্বপূর্ণ অঙ্গ।

ডেটা প্রক্রিয়াকরণের আগে কোনও পরিষ্কার পদ্ধতি বা প্রক্রিয়া আছে? যদি তা হয় তবে এমন কোনও স্বয়ংক্রিয় বা অর্ধ-স্বয়ংক্রিয় সরঞ্জাম রয়েছে যা এই কয়েকটি সেরা অভ্যাস প্রয়োগ করে?


1
সম্ভবত কিছুটা সাফ করা ভাল ধারণা, আপনি কীভাবে ডেটা পরিষ্কারের অর্থ বোঝাতে চান তা আমার মতের জন্য কিছুটা বিভ্রান্ত দেখাচ্ছে
মোলবঅর্গ

2
ডেটা পরিষ্কার করার অর্থ কী তা আরও ব্যাখ্যা করা সহায়ক হবে। আমি যেখানে কাজ করি সেই প্রসঙ্গে, ফর্ম্যাট করার সাথে পরিষ্কারের কোনও সম্পর্ক নেই - আমি কেবল সেই পার্সিং / আমদানি কল করব - তবে এর অর্থ হ'ল শোরগোল ব্যবহারকারীর ডেটা কথা বলা এবং এটি সংহতির জন্য যাচাই করা উচিত। যে কৌশলগুলি ব্যবহার করা হয় তা হ'ল ডেটাসেট নির্দিষ্ট, সরল পরিসংখ্যান সংক্রান্ত নিয়ম থেকে अस्पष्ट অ্যালগরিদম, বিশেষত যখন ডেটা অপ্রয়োজনীয় হয়।
অ্যাড্রিয়ানআর

উত্তর:


21

আর কিছু রয়েছে মান ডেটা ম্যানিপুলেশন জন্য ফাংশন, কোন ডেটা পরিচ্ছন্নতার জন্য ব্যবহার করা যেতে পারে, তার মধ্যে বেস প্যাকেজ ( gsub, transformযেমন, ইত্যাদি), সেইসাথে বিভিন্ন তৃতীয় পক্ষের প্যাকেজ, stringr , পুনর্নির্মাণ / reshape2 এবং plyr / dplyr । এই প্যাকেজগুলির জন্য তাদের ব্যবহারের উদাহরণ এবং সর্বোত্তম অনুশীলনগুলি এবং তাদের কার্যাদি নিম্নলিখিত কাগজে বর্ণিত হয়েছে: http://vita.had.co.nz/papers/tidy-data.pdf

উপরন্তু, আর অফার কিছু প্যাকেজ বিশেষভাবে দৃষ্টি নিবদ্ধ করা ডেটা পরিষ্কার এবং রূপান্তর করুন:

আর- তে ডেটা পরিষ্কারের জন্য একটি বিস্তৃত এবং সুসংগত পদ্ধতির উদাহরণ এবং সম্পাদনা এবং ডিডুকুরেক্ট প্যাকেজগুলির উদাহরণ এবং ব্যবহারের পাশাপাশি আর-তে ডেটা পরিষ্কারের ওয়ার্কফ্লো ( ফ্রেমওয়ার্ক ) এর বর্ণনা সহ নিম্নলিখিত কাগজে উপস্থাপন করা হয়েছে, যা আমি অত্যন্ত সুপারিশ করছি: http : //cran.r-project.org/doc/contrib/de_Jonge+van_der_Loo- ভূমিকা_ থেকে_ডাটা_ক্লানিং_ও_আর.পিডিএফ


2
আমি এটিও যুক্ত করব dplyr, যা নির্দিষ্ট plyrসরঞ্জামগুলির একটি অনুকূলিতকরণ পুনরায় কাজ , এবং data.tableযা ডেটা ম্যানিপুলেট করার জন্য সম্পূর্ণ ভিন্ন পদ্ধতির। দুজনেই হ্যাডলি উইকহাম।
শ্যাডট্যালকার

@ এসএসডেকট্রোল: আমি সম্মত - উত্তরটি আপডেট করেছি। হ্যাডলি রচয়িতা dplyrপ্যাকেজ, কিন্তু না data.tableএকটি।
আলেকসান্ডার ব্লেক 8

16

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

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

উদাহরণস্বরূপ, সোশ্যাল ওয়েবসাইটগুলি (টুইটার, ফেসবুক, ...) থেকে আসা ডেটা নিয়ে কাজ করে এমন লোকদের জন্য the তথ্য পুনরুদ্ধার সাধারণত খুব নির্দিষ্ট বিন্যাসযুক্ত ফাইলগুলি দেয় - যদিও সর্বদা সুন্দর কাঠামো নয়, কারণ তাদের মধ্যে হারিয়ে যাওয়া ক্ষেত্র থাকতে পারে এবং তাই । এই ক্ষেত্রেগুলির জন্য, একটি সাধারণ awkস্ক্রিপ্ট ডেটা পরিষ্কার করতে পারে, পরবর্তী প্রক্রিয়াজাতকরণের জন্য একটি বৈধ ইনপুট ফাইল তৈরি করে । জাদু সেট থেকে, এক এছাড়াও বাতলান পারে grep, sed, cut, join, paste, sort, এবং অন্যান্য সরঞ্জামের একটি পুরো বৃন্দ।

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

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


এইচএম - ডেটা পান, ফর্ম্যাট ডেটা পান (awk sed গ্রেপ স্টাফ), প্রথম ধাপ হিসাবে শব্দটি সরান, তারপরে আরও গভীরতর হন। তাই is't হার্ড প্রাক-প্রক্রিয়াকরণ প্রথমত, ব্যবহার আপনার therms আসে
MolbOrg

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

1
আহ হ্যাঁ, যথেষ্ট মনোযোগ দেওয়া হয়নি, কাঁচা ডেটা প্রিপ্রোসেসিং । এটিএম পরীক্ষিত - হ্যা পার্ল অনেলাইনার ৩০০ এমবিতে 3.5 কিলো স্ট্রিংয়ের জন্য 3 গুণ কম ধীরে ধীরে গ্রেপ), পার্লের জন্য গ্রেপ 0.31 সেকেন্ডের জন্য এটি 1.1 সেকেন্ড নিয়েছিল। আমি নিবন্ধটি দেখেছি যেখানে
প্যারেল রেজিএক্সপ্যাকগুলি

@ মলবঅর্গ চমৎকার রেফারেন্স! আফাইক, grepডিফল্টরূপে grep -Eপসিক্স বেসিক রেজেক্স ব্যবহার করে এবং যখন চালিত হয় তখন প্রসারণিত পসিক্স রেজেক্সের জন্য এবং পিসিআরই হিসাবে চালিত হওয়ার জন্য অনুমতি দেয় grep -P
রুবেনস

1
এটি একটি খুব ভাল পোস্ট। ডেটা ম্যানিপুলেশনের জন্য আর চমত্কার তবে ডেটা সাফের জন্য ভার্বোজ সিনট্যাক্স এবং ডেটা স্ট্রাকচারের জন্য তালিকা এবং ম্যাট্রিক্সের জন্য মোটামুটি কঠোর আনুগত্যের কারণে তথ্য পরিষ্কারের সাথে জটিল জটিল হতে পারে ।
শ্যাডএলকার 13

11

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

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

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

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

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


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

হ্যাঁ! ডেটা ত্রুটিগুলি প্রায়শই প্রক্রিয়া সমস্যার লক্ষণ। প্রক্রিয়াটিতে ত্রুটিগুলি কোথায় এবং কীভাবে প্রক্রিয়াটি প্রবর্তন করা হয়েছিল তা জেনে রাখা পরিষ্কার করার প্রক্রিয়াতে ব্যাপক সহায়তা করবে। তবে আরও ভাল প্রক্রিয়া সমস্যাগুলি ঠিক করা যাতে তারা পরিষ্কার (বা ক্লিনার) ডেটা তৈরি করে।
মিঃ মেরিটোলজি

5

স্বয়ংক্রিয় পরিষ্কার সম্পর্কে: আপনি সত্যই ডেটা স্বয়ংক্রিয়ভাবে পরিষ্কার করতে পারবেন না কারণ ত্রুটির সংখ্যা এবং একটি ত্রুটির সংজ্ঞা প্রায়শই ডেটার উপর নির্ভর করে। উদাহরণস্বরূপ: আপনার কলাম "ইনকাম" এ নেতিবাচক মান থাকতে পারে যা একটি ত্রুটি - আপনাকে কেসগুলি সম্পর্কে কিছু করতে হবে। অন্যদিকে একটি কলাম "মাসিক সঞ্চয়" যুক্তিসঙ্গতভাবে নেতিবাচক মান থাকতে পারে।

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

যেখানে আপনি করতে পারেন এবং স্বয়ংক্রিয় করা উচিত পুনরাবৃত্তি প্রকল্পগুলি। যেমন একটি প্রতিবেদন যা মাসিক উত্পাদিত হয়। যদি আপনি ত্রুটিগুলি চিহ্নিত করেন তবে আপনার কিছু স্বয়ংক্রিয় প্রক্রিয়া করা উচিত যা পরবর্তী সময়গুলিতে এই ধরণের ত্রুটিগুলি স্পষ্ট করতে পারে, আপনার সময়কে মুক্ত করে।


5

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

এখানে রয়েছে দুর্দান্ত আর প্যাকেজ নাইটার যা প্রজননযোগ্য গবেষণায় অনেক সাহায্য করে a

অবশ্যই, সমস্ত গবেষণা পুরোপুরি পুনরুত্পাদন করা যাবে না (উদাহরণস্বরূপ লাইভ টুইটার ডেটা) তবে কমপক্ষে আপনি পরিষ্কার, ফর্ম্যাটিং এবং প্রাক পদক্ষেপগুলি সহজেই নথিভুক্ত করতে পারেন document

আপনি কোর্সেরায় প্রজননযোগ্য গবেষণা কোর্সের জন্য প্রস্তুত আমার মূল্যায়নটি পরীক্ষা করতে পারেন ।


3

ওপেনসিফাইন (পূর্বে গুগল রিফাইন) একটি দুর্দান্ত সরঞ্জাম যেখানে আপনি ইন্টারেক্টিভভাবে ডেটা ক্লিনআপ এবং রূপান্তর সম্পাদন করতে পারেন। আপনার চূড়ান্ত আউটপুট বিভিন্ন স্ট্যান্ডার্ড ফর্ম্যাটগুলিতে (json, csv) বা যে কোনও কাস্টম বিন্যাসে (যেমন: উইকি) রফতানি করা যায়।

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


1
এটি একটি দুর্দান্ত, আন্ডার-রিপোর্ট করা সরঞ্জাম।
ধন্যবাদ_ইন_আডভান্স

2

কোর্সেরাতে এটি নিবেদিত একটি সম্পূর্ণ কোর্স রয়েছে। আপনি যে কৌশলগুলি উল্লেখ করেছেন তার উপর আপনি যেতে চান এবং গুরুত্বপূর্ণ অংশটি কখন কী ব্যবহার করবেন তা জানা উচিত।

https://www.coursera.org/learn/data-cleaning

প্রতিটি ডেটাসেটের নিজস্ব সমস্যা এবং সমস্যা রয়েছে এবং সমস্ত ডেটাসেটের ক্ষেত্রে সমস্ত পদক্ষেপ প্রযোজ্য নয়, সেহেতু এটি স্বয়ংক্রিয়তার পরিবর্তে ম্যানুয়ালি করা সর্বদা ভাল better

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