ভূ-স্থান সংক্রান্ত ডেটা দিয়ে ভিজ্যুয়ালাইজেশন দক্ষতা বাড়ানো

আনস্প্ল্যাশে কাইল গ্লেনের ছবি

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

কী ভুল হয়েছে?

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

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

ডেটা বর্ণনা এবং প্রস্তুতি

এই ডেটা ভিজ্যুয়ালাইজেশন আইবিজিই ("ব্রাজিলিয়ান ভূগোল এবং পরিসংখ্যান ইনস্টিটিউট") থেকে একটি ডাটাবেস ব্যবহার করে [১], যা প্রতিটি ব্রাজিলিয়ান পৌরসভার জন্য স্যানিটেশন সম্পর্কিত তথ্য ধারণ করে ২০১ 2017 সাল থেকে।

  • স্যানিটেশন নীতি অস্তিত্ব। ডাটাবেসে তিনটি স্থিতি রিপোর্ট করা হয়েছে: "হ্যাঁ", "না" এবং "প্রস্তুতিতে"।
  • মৌলিক স্যানিটেশনের সাথে যুক্ত রোগের ঘটনাটি, গত 12 মাসে। চৌদ্দটি রোগের তালিকাভুক্ত করা হয়েছে (ডায়রিয়া, লেপটোস্পিরোসিস, কৃমি, কলেরা, ডিপথেরিয়া, ডেঙ্গু, জিকা, চিকুনগুনিয়া, টাইফাস, ম্যালেরিয়া, হেপাটাইটিস, ইয়েলো_ফাইভার, ডার্মাটাইটিস, রেসপিরেসি_সিসটেম_ফ্লোজারেস) এবং তাদের প্রত্যেকের জন্য চারটি অবস্থা রিপোর্ট করা হয়েছে: "হ্যাঁ", "না "," অবহিত নয় "এবং" কোনও ডেটা নেই "।

কোনও মানচিত্রে স্যানিটেশন সম্পর্কিত ডেটা প্রদর্শন করার জন্য, আমি সমস্ত ব্রাজিলের পৌরসভার একটি বহুভুজ ডাটাবেসও [২] থেকে ডাউনলোড করেছি। নীচের কোডে দেখানো হয়েছে এমনভাবে উভয় ডেটাসেটই একই জোজন ফাইলে একত্রিত হয়ে প্রতিটি পৌরসভার জিওজসনের বৈশিষ্ট্যে স্যানিটেশন বৈশিষ্ট্য যুক্ত করে adding

ড্যাশবোর্ড আর্কিটেকচার

এই ড্যাশবোর্ডটি তৈরি করতে, আমি [3] এর টিউটোরিয়াল দ্বারা অনুপ্রাণিত হয়েছি যারা কেগল "টকিং ডেটা মোবাইল ব্যবহারকারী ডেমোগ্রাফিক্স" চ্যালেঞ্জের জন্য একটি ইন্টারেক্টিভ ডেটা ভিজ্যুয়ালাইজেশন প্ল্যাটফর্ম তৈরি করেছিল। এটি করার জন্য, লেখক চার্ট সংজ্ঞায়নের জন্য DC.js এবং D3.js এর মতো বিভিন্ন জাভাস্ক্রিপ্ট লাইব্রেরি এবং মানচিত্রের ভিজ্যুয়ালাইজের জন্য লিফলেট.জেএস ব্যবহার করেছেন। লিফলেট.জেএস এর ব্যবহার আমাকে এই প্রকল্পে নিয়ে যায় কারণ আমি মানচিত্রে উপস্থাপনের জন্য একটি ওপেন সোর্স লাইব্রেরি ব্যবহার করতে আগ্রহী ছিলাম।

বর্তমান প্রকল্পে, আমি নিম্নলিখিত কাঠামোটির জন্য [3] এর আর্কিটেকচারটি রূপান্তর করেছি:

  • ইনপুট: উত্স স্যানিটেশন এবং পৌরসভা জিওজসন ফাইল
  • নোটবুক: ডেটা প্রস্তুতির জন্য পাইথন নোটবুক
  • স্ট্যাটিক: জাভাস্ক্রিপ্ট ফাইল গ্রাফ.জেএস রয়েছে যেখানে সমস্ত চার্ট তৈরি করা হয়েছে পাশাপাশি জাভাস্ক্রিপ্ট এবং সিএসএস লাইব্রেরি রয়েছে
  • টেমপ্লেটস: ফলস্বরূপ সূচক। htl
  • অ্যাপ.পি: সার্ভার তৈরির জন্য, এইচটিএমএল পৃষ্ঠাগুলি রেন্ডারিং এবং ডেটা সরবরাহ করার জন্য রুটিন। আপনার টার্মিনালে পাইথন অ্যাপ.পি চালানোর সময়, ডেটা ভিজ্যুয়ালাইজেশনটি আপনার লোকালহোস্টের 5001 গেটে চলবে। সমস্ত দরকারী বৈশিষ্ট্যযুক্ত জিওজসন ডেটা ফাইলটি “/ জিওজসন” রুটে অ্যাক্সেসযোগ্য।

মানচিত্র এবং চার্ট

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

ডেটা ভিজ্যুয়ালাইজেশনের অঙ্কনচূড়ান্ত ডেটা ভিজ্যুয়ালাইজেশন

সম্মুখ-প্রান্তটি তৈরি করতে, আমি [3] এর পরামর্শ অনুসারে, keen.io থেকে প্রাক-বিল্ট টেম্পলেটটি রূপান্তর করেছি। এই কাঠামোটি বিভিন্ন সহজে ব্যবহারযোগ্য ড্যাশবোর্ড কাঠামোর একটি তালিকা সরবরাহ করে। নীচের স্নিপেটে, আপনি এইচটিএমএল পৃষ্ঠার কাঠামোটি সিএসএস লাইব্রেরি ঘোষণার সাথে শুরু করে ম্যাপ এবং বিভিন্ন চার্ট সহ পৃষ্ঠা বিভাগগুলি সহ এবং জাভাস্ক্রিপ্ট উত্স ফাইলগুলির সাথে শেষ করে দেখতে পাবেন। একটি গুরুত্বপূর্ণ টিপ মনে রাখবেন যে জাভাস্ক্রিপ্ট ফাইলের ক্রমটি গুরুত্বপূর্ণ!

নীচে, প্রতিটি চার্ট সম্পর্কিত আরও বিশদ কোডের নমুনাগুলি সহ দেওয়া হবে।

  • ইন্টারেক্টিভ মানচিত্র:

যেমন পূর্বে উল্লেখ করা হয়েছে, আমি ইন্টারেক্টিভ মানচিত্রের জন্য লিফলেট কাঠামো গ্রহণ করেছি। এটি একটি জাভাস্ক্রিপ্ট লাইব্রেরি যা আপনার ভিজ্যুয়ালাইজেশন কাস্টমাইজ করতে প্রচুর প্লাগইন ধারণ করে। বেস ম্যাপের বিভিন্ন ধরণের অ্যাক্সেস করা সম্ভব (দেখুন [৪]) যেখান থেকে আমি একটি ওপেনস্ট্রিটম্যাপ স্তরটি বেছে নিয়েছি। পুরো মানচিত্রটি পর্যবেক্ষণ করতে সক্ষম হওয়ার জন্য মানচিত্রটি ব্রাজিলকে কেন্দ্র করে, বিশেষত অক্ষাংশ / দ্রাঘিমাংশ স্থানাঙ্কগুলিতে [-14.5, -54] পুরো মানচিত্রটি পর্যবেক্ষণ করতে সক্ষম হতে 4 এর একটি জুম রয়েছে।

চোরোলেথ ব্যবহার করে ইন্টারেক্টিভ মানচিত্র

অনেকগুলি উদাহরণ সন্ধানের পরে, আমি ভৌগলিক ডেটা উপস্থাপন করার জন্য কোরোপলথ মানচিত্রটি বেছে নিয়েছি [5]। একটি কোরোপলথ ম্যাপ ভৌগলিক উপ-বিভাগগুলি, বর্তমান গবেষণায় বহুভুজগুলি, একটি সংখ্যার ভেরিয়েবল দ্বারা বর্ণিত প্রদর্শন করে। বর্তমান দৃশ্যায়নে, রঙের কোডটি পৌরসভায় প্রতি লক্ষিত রোগের মোট সংখ্যার প্রতিনিধিত্ব করে। মানচিত্রটি ঘোরাফেরা করার সময়, পৌরসভাগুলি হাইলাইট করা হয় এবং উপরের ডানদিকে অবস্থিত বক্স কিংবদন্তি পৌরসভার নাম এবং সম্পর্কিত মোট রোগের সংখ্যা দেখায় তথ্যকে পরিবর্তনশীল করে। মানচিত্রে ক্লিক করার সময়, আমরা আগ্রহের পৌরসভাতে জুম করতে পারি। এবং আসল দৃশ্যে ফিরে আসতে আপনি উপরের বাম দিকে হোম বোতামে ক্লিক করতে পারেন। চোরোপ্লেথ রেফারেন্স মডেলে এটিই আমি যুক্ত করেছি new

  • স্পাইডার চার্ট:

স্পাইডার বা রাডার চার্টগুলি দ্বি-মাত্রিক চার্ট যা একই বিন্দু থেকে শুরু করে বিভিন্ন অক্ষের সাথে বহুবিধ ডেটা প্রদর্শন করতে সক্ষম। আমি [6] এবং [7] এর কাজটি ব্যবহার করেছি যারা কিংবদন্তির সাথে রাডারচার্ট.জেএস ফাংশনটি বিকাশ করেছিলেন। এর মধ্যে, আমি স্যানিটেশন নীতি অস্তিত্ব বিবেচনা করার সময় পুরো দেশের জন্য, রোগ পর্যবেক্ষণের শতকরা শতাংশ প্রদর্শন করা বেছে নিয়েছি। নীচের চিত্রটিতে, স্যানিটেশন নীতি সহ এবং ছাড়াই পৌরসভাগুলির অনুপাত যথাক্রমে হলুদ এবং লাল বর্ণিত হয়। নীতিমালা যে নীতিমালাটি প্রস্তুত রয়েছে তাদের সবুজ বিন্দু দ্বারা প্রতিনিধিত্ব করা হয়।

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

  • বার চার্ট:
স্যানিটেশন নীতি অস্তিত্ব চার্ট

এটি ডেটা ভিজ্যুয়ালাইজেশনের শেষ চার্ট। এই সারির চার্টটি ইন্টারেক্টিভ ডেটা ভিজ্যুয়ালাইজেশন তৈরি করতে DC.js জাভাস্ক্রিপ্ট চার্টিং লাইব্রেরিটিকে জাভাস্ক্রিপ্ট লাইব্রেরি ক্রসফিল্টার.জে এবং d3.js ব্যবহার করে। এটি ব্রাজিলে স্যানিটেশন নীতি অস্তিত্ব দ্বারা ভাঙা তথ্য দেখায়। কোড স্নিপেটে, আপনি বিভিন্ন ইনপুট ('স্যানিটেশনডিম' এবং 'স্যানিটেশনগ্রুপ') পাশাপাশি চিত্রের আকার, পরিবর্তনশীল ক্রম এবং রঙের জন্য প্রয়োজনীয় প্যারামিটারগুলি দেখতে পারেন।

উপসংহার

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

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

দয়া করে, আপনার যদি কোনও প্রশ্ন থাকে তবে নির্দ্বিধায় কিছু জিজ্ঞাসা করুন!

জোয়াও রাফায়েল ম্যাসিডো, গ্যাব্রিয়েলা টিউনস, রিকার্ডো সান্টোস এবং বিয়াতিরিজ আলবিয়েরোকে ধন্যবাদ।

তথ্যসূত্র

[1] https://www.ibge.gov.br/estatisticas/downloads-estatisticas.html

[2] https://github.com/tbrugz/geodata-br

[3] https://github.com/adilmoujahid/kaggle-talkingdata- ভিজুয়ালাইজেশন

[৪] https://leaflet-extras.github.io/leaflet-providers/preview/

[5] https://leafletjs.com/example/choropleth/

[]] Http://bl.ocks.org/nbremer/21746a9668ffdf6d8242

[]] Https://gist.github.com/micahstubbs/a772306d6fd49874ec92#file-thumbnail-png