মার্কিন হাউস মূল্য পূর্বাভাস

Markina Ha Usa Mulya Purbabhasa



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

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







রিগ্রেশন

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



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



1. লিনিয়ার রিগ্রেশন

লিনিয়ার রিগ্রেশন অ্যালগরিদম নির্ভরশীল অ্যাট্রিবিউট (Y) এবং স্বাধীন অ্যাট্রিবিউট (X) ভেরিয়েবলের মধ্যে একটি রৈখিক সম্পর্ক দেখায়। গাণিতিকভাবে, আমরা এটিকে নিম্নরূপ মূল্যায়ন করতে পারি:





এবং = aX+b

এখানে, 'a' এবং 'b' হল লিনিয়ার সহগ।

পাইথনে, LinearRegression() “sklearn.linear_model” মডিউলে পাওয়া যায়। প্রকল্পটি বাস্তবায়নের সময় আমরা কীভাবে এটি নির্দিষ্ট করতে পারি তা দেখব। নিম্নলিখিত প্যারামিটার সহ মডেল:



2. সিদ্ধান্ত গাছ

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

পাইথনে, DecisionTreeRegressor 'sklearn.tree' মডিউলে পাওয়া যায়। প্রকল্পটি বাস্তবায়নের সময় আমরা কীভাবে এটি নির্দিষ্ট করতে পারি তা দেখব। নিম্নলিখিত প্যারামিটার সহ মডেল:

3. এলোমেলো বন

র্যান্ডম ফরেস্ট একই কার্যকারিতা সম্পাদন করে যা একটি সিদ্ধান্ত গাছের মতো। তবে এটি একটি বন (সিদ্ধান্ত গাছের সংগ্রহ) নেয় এবং সিদ্ধান্ত গাছের সমস্ত আউটপুটকে একত্রিত করে (গড় মান)। উদাহরণস্বরূপ, র্যান্ডম ফরেস্টের আকার হল 3। তাই, অভ্যন্তরীণভাবে, তিনটি ডিসিশন ট্রি তৈরি করা হয়েছে এবং প্রথম ডিসিশন ট্রির হাউস প্রাইস ফলাফল হল 20000। দ্বিতীয় ডিসিশন ট্রির হাউস প্রাইস ফলাফল হল 20000। এবং বাড়ির দামের ফলাফল শেষ ডিসিশন ট্রি হল 10000। 16,666.666 হল চূড়ান্ত ফলাফল (20000+20000+10000)/3)।

পাইথনে, RandomForestRegressor “sklearn.ensemble” মডিউলে উপলব্ধ। নিম্নলিখিত পরামিতি সহ মডেল। আমরা 'n_estimators' প্যারামিটারে গাছের সংখ্যা নির্দিষ্ট করতে পারি। এটি ডিফল্টরূপে 100।

বাস্তবায়ন

ইউএস হাউসের দামের পূর্বাভাস দেওয়ার জন্য পদক্ষেপগুলি দ্রুত দেখুন। আমরা 2016 রেকর্ড সহ houses_train (CSV ফাইল) ডেটাসেট বিবেচনা করি (মেশিন লার্নিং মডেলকে প্রশিক্ষণ দিতে ব্যবহৃত)। তারপরে, আমরা বাড়ির মূল্য (505) রেকর্ডের পূর্বাভাস দিই যা house_test ফাইলে উপস্থিত রয়েছে।

1. ট্রেন এবং টেস্ট ডেটাসেট লোড করা হচ্ছে

পান্ডাস হল পাইথনের উপলব্ধ মডিউল যা ডেটা বিশ্লেষণের জন্য ব্যবহৃত হয়। আমরা পাইথন এনভায়রনমেন্টে ডেটাসেট লোড করতে এই মডিউলটি ব্যবহার করি। এখানে, আমরা ব্যবহার Google Co কোড এনভায়রনমেন্ট হিসাবে। এটি বিনামূল্যে পাওয়া যায়। শুধু একটি Google অ্যাকাউন্ট প্রয়োজন।

প্রথমে, আমাদের স্থানীয় PC থেকে Colab Env-এ ফাইল লোড করতে হবে। থেকে ডেটাসেট ডাউনলোড করুন এখানে .

# আপনার Google Colab-এ houses_train.csv এবং house_test.csv ফাইল আপলোড করুন

# একটার পর একটা.

থেকে গুগল ইটি এএল আমদানি নথি পত্র

নথি পত্র. আপলোড ( )

read_csv() হল একটি ফাংশন যা একটি ভেরিয়েবলে CSV ডেটা লোড করতে ব্যবহৃত হয়। এটি প্যারামিটার হিসাবে ফাইলের নাম নেয়।

আমদানি পান্ডা

# ট্রেন_ডেটা ভেরিয়েবলে houses_train.csv লোড করুন

ট্রেন_ডেটা = পান্ডা read_csv ( 'houses_train.csv' )

# test_data ভেরিয়েবলে house_test.csv লোড করুন

টেস্ট_ডেটা = পান্ডা read_csv ( 'house_test.csv' )

# test_data টিকে test_data1 ভেরিয়েবলে সংরক্ষণ করুন

test_data1 = টেস্ট_ডেটা

আসুন প্রতিটি কলামে কলাম এবং নন-নাল রেকর্ড গণনা দেখি। এই তথ্য পেতে Pandas.DataFrame.info() ব্যবহার করা হয়।

ছাপা ( ট্রেন_ডেটা। তথ্য ( ) )

ছাপা ( test_data1. তথ্য ( ) )

আউটপুট:

2. ডেটা প্রিপ্রসেসিং

উভয় ডেটাসেটে, 'lot_size' কলামে sqft এবং acre এর মান রয়েছে (আপনি 'lot_size_unit's' কলামের সারিগুলি দেখে পার্থক্যটি খুঁজে পাবেন)। কিন্তু বিন্যাস বর্গফুট হতে হবে। সুতরাং, আমাদের 'লট_সাইজ' কলামের মানগুলিকে একর থেকে বর্গফুটে রূপান্তর করতে হবে। একইভাবে, এটি 'test_data1' এর জন্য করা উচিত।

DataFrame.loc[] এখানে ব্যবহার করা হয়েছে 'lot_size_units' খুঁজে পেতে 'acre' দিয়ে এবং 'lot_size'-এ উপস্থিত মানটিকে 43560 দিয়ে গুণ করতে।

# ট্রেন_ডেটাতে লট_সাইজ একর মানকে বর্গফুটে রূপান্তর করুন

ট্রেন_ডেটা। স্থান [ ( ট্রেন_ডেটা [ 'অনেক_আকার_ইউনিট' ] == 'একর' ) , 'অনেক আকার' ] = ট্রেন_ডেটা [ 'অনেক আকার' ] * 43560

# test_data1 এ লট_সাইজ একর মানকে বর্গফুটে রূপান্তর করুন

test_data1. স্থান [ ( test_data1 [ 'অনেক_আকার_ইউনিট' ] == 'একর' ) , 'অনেক আকার' ] = test_data1 [ 'অনেক আকার' ] * 43560

ছাপা ( ট্রেন_ডেটা। মাথা ( ) )

ছাপা ( test_data1. মাথা ( ) )

আউটপুট:

এখন, আপনি দেখতে পাবেন যে 'lot_size' কলামের সমস্ত মান sqft মান।

আপনি এই কলামে কিছু অনুপস্থিত মান দেখতে পাচ্ছেন। উভয় ডেটাসেটের একই কলামের গড় দিয়ে কলামে উপস্থিত NaN মানগুলি প্রতিস্থাপন করা যাক।

DataFrame[‘column_name’].fillna() ব্যবহার করা হয় মিসিং ভ্যালু পূরণ করার জন্য mean() ফাংশন ব্যবহার করে। DataFrame[‘column_name’].mean() finna() ফাংশনে প্যারামিটার হিসেবে পাস করা হয়। আসুন গড় প্রদর্শন করি এবং এখন গণনা দেখি:

# বিদ্যমান মানের গড় দিয়ে lot_size কলামে উপস্থিত অনুপস্থিত মানগুলি পূরণ করুন

ট্রেন_ডেটা [ 'অনেক আকার' ] = ট্রেন_ডেটা [ 'অনেক আকার' ] . অনুভব করা ( ট্রেন_ডেটা [ 'অনেক আকার' ] . মানে ( ) )

# প্রদর্শন গড়

ছাপা ( 'ট্রেন ডেটা গড় মান: ' , ট্রেন_ডেটা [ 'অনেক আকার' ] . মানে ( ) )

ছাপা ( কেবল ( ট্রেন_ডেটা [ 'অনেক আকার' ] ) )

# বিদ্যমান মানের গড় দিয়ে lot_size কলামে উপস্থিত অনুপস্থিত মানগুলি পূরণ করুন

test_data1 [ 'অনেক আকার' ] = test_data1 [ 'অনেক আকার' ] . অনুভব করা ( test_data1 [ 'অনেক আকার' ] . মানে ( ) )

# প্রদর্শন গড়

ছাপা ( 'পরীক্ষার ডেটা গড় মান:' , test_data1 [ 'অনেক আকার' ] . মানে ( ) )

ছাপা ( কেবল ( test_data1 [ 'অনেক আকার' ] ) )

আউটপুট:

'লট_সাইজ' কলামের ট্রেন ডেটাসেটে যে অনুপস্থিত মানগুলি রয়েছে তা 18789.95194 এর গড় মান দ্বারা প্রতিস্থাপিত হয়েছে এবং 'লট_সাইজ' কলামে উপস্থিত অনুপস্থিত মানগুলি টেস্ট ডেটাসেট 8961.0 এর গড় মান দ্বারা প্রতিস্থাপিত হয়েছে

3. ডেটা ক্লিনিং

মডেল প্রশিক্ষণের সময়, কিছু অপ্রয়োজনীয় বৈশিষ্ট্য রয়েছে যা ফলাফলের পূর্বাভাস দেওয়ার জন্য প্রয়োজন হয় না। আমাদের ক্ষেত্রে, তিনটি অ্যাট্রিবিউট রয়েছে যা হল 'লট_সাইজ_ইউনিট', 'জিপ_কোড', এবং 'সাইজ_ইউনিট' উভয় ডেটাসেট থেকে মুছে ফেলা হবে। pandas.DataFrame.drop() উভয় ডেটাসেট থেকে এই তিনটি কলাম অপসারণ করতে ব্যবহৃত হয়।

ট্রেন_ডেটা = ট্রেন_ডেটা। ড্রপ ( [ 'অনেক_আকার_ইউনিট' , 'zip_code' , 'আকার_ইউনিট' ] , অক্ষ = 1 )

test_data1 = test_data1. ড্রপ ( [ 'অনেক_আকার_ইউনিট' , 'zip_code' , 'আকার_ইউনিট' ] , অক্ষ = 1 )

ছাপা ( ট্রেন_ডেটা। তথ্য ( ) )

ছাপা ( test_data1. তথ্য ( ) )

আউটপুট:

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

4. ডেটা ভিজ্যুয়ালাইজেশন

আসুন ট্রেন ডেটার কলামগুলির জন্য একটি হিস্টোগ্রাম তৈরি করি। pandas.DataFrame.hist() ফাংশনটি সমস্ত বৈশিষ্ট্যের জন্য হিস্টোগ্রাম তৈরি করতে ব্যবহৃত হয়।

ট্রেন_ডেটা। হিস্ট ( figsize = ( 4 , 9 ) )

আউটপুট:

হিস্টোগ্রামটি ট্রেনের ডেটার জন্য বিছানা, স্নান, আকার, লট_সাইজ এবং মূল্য কলামের জন্য তৈরি করা হয়।

আসুন একে অপরের প্রতি সম্মানের সাথে সমস্ত ক্ষেত্রের জন্য পারস্পরিক সম্পর্ক তৈরি করি। Plotly.express মডিউলটি পারস্পরিক সম্পর্কযুক্ত মানগুলি প্লট করার জন্য ব্যবহার করা হয়।

আমদানি চক্রান্তে প্রকাশ করা

কর = ট্রেন_ডেটা। কর ( )

# পারস্পরিক সম্পর্কযুক্ত ডেটা প্লট করুন

ভিউ_ডুমুর = চক্রান্তে প্রকাশ করা . imshow ( কর , টেক্সট_অটো = সত্য )

# প্রদর্শন

ভিউ_ডুমুর প্রদর্শন ( )

আউটপুট:

  1. বেড 0.2935 মূল্যের সাথে সম্পর্কিত, -0.059 লট_সাইজের সাথে সম্পর্কিত, 0.77 আকারের সাথে সম্পর্কিত এবং 0.65 স্নানের সাথে সম্পর্কিত।
  2. স্নানগুলি 0.3173 মূল্যের সাথে সম্পর্কিত, -0.054 লট_সাইজের সাথে সম্পর্কিত, 0.667 স্নানের সাথে সম্পর্কিত এবং 0.771 বিছানার সাথে সম্পর্কিত।
  3. আকার 0.444 মূল্যের সাথে সম্পর্কিত, -0.044 লট_সাইজের সাথে সম্পর্কিত, 0.667 আকারের সাথে সম্পর্কিত এবং 0.652 বিছানার সাথে সম্পর্কিত।

5. মডেল প্রস্তুতি

আমরা ট্রেন_ডেটা থেকে এটিকে সরিয়ে টার্গেট হিসাবে দাম সেট করতে হবে। নিশ্চিত করুন যে ট্রেন এবং পরীক্ষার ডেটাতে উপস্থিত বৈশিষ্ট্যগুলি এই পর্বে একই হওয়া উচিত।

লক্ষ্য = ট্রেন_ডেটা [ 'দাম' ]

ট্রেন_ডেটা = ট্রেন_ডেটা। ড্রপ ( [ 'দাম' ] , অক্ষ = 1 )

ছাপা ( ট্রেন_ডেটা। তথ্য ( ) )

ছাপা ( test_data1. তথ্য ( ) )

আউটপুট:

এখন, চারটি স্বতন্ত্র বৈশিষ্ট্য রয়েছে (শয্যা, স্নান, আকার এবং লট_সাইজ) এবং মূল্য হল নির্ভরশীল বৈশিষ্ট্য যা এই চারটি বৈশিষ্ট্যের উপর নির্ভর করে।

6. মডেল প্রশিক্ষণ

প্রথমত, আমরা RandomForestRegressor অ্যালগরিদম প্রয়োগ করি। এটি 'sklearn.ensemble' প্যাকেজ থেকে আমদানি করুন। এটি একটি এনসেম্বলিং টেকনিক।

  1. RandomForestRegressor() থেকে একটি মডেল তৈরি করুন। আমরা এই মডেলে কোনো প্যারামিটার পাস করছি না। সুতরাং, ডিসিশন ট্রির সংখ্যা ডিফল্টরূপে 100।
  2. মডেল ফিট করতে fit() পদ্ধতি ব্যবহার করুন। এটি দুটি পরামিতি লাগে। প্রথম প্যারামিটারটি নির্ভরশীল বৈশিষ্ট্য এবং দ্বিতীয় প্যারামিটারটি ক্লাস লেবেল/লক্ষ্য।
  3. মডেল সঠিকতা দেখতে স্কোর() পদ্ধতি ব্যবহার করুন। এটি fit() পদ্ধতির অনুরূপ একই পরামিতিগুলিও নেয়।
থেকে শিখেছি ensemble আমদানি র‍্যান্ডম ফরেস্ট রিগ্রেসর

# মডেলটি সংজ্ঞায়িত করুন

মডেল1 = র‍্যান্ডম ফরেস্ট রিগ্রেসর ( )

# মডেলের সাথে মানানসই

মডেল1 ফিট ( ট্রেন_ডেটা , লক্ষ্য )

# মডেল নির্ভুলতা

ছাপা ( মডেল1 স্কোর ( ট্রেন_ডেটা , লক্ষ্য ) * 100 )

আউটপুট:

86.08400889419033

7. মডেল পরীক্ষা করুন এবং ফলাফল সংরক্ষণ করুন

এটি চূড়ান্ত পদক্ষেপ যেখানে আমাদের ফলাফলের পূর্বাভাস দিতে হবে এবং সেগুলি সংরক্ষণ করতে হবে।

  1. ভবিষ্যদ্বাণী() পদ্ধতি পরীক্ষা ডেটার পূর্বাভাস দিতে ব্যবহৃত হয়। এটি মডেলের সাথে ব্যবহার করা হয় এবং মান/ডেটাফ্রেমের নেস্টেড তালিকা নেয়।
  2. CSV ফাইলে ফলাফল সংরক্ষণ করতে to_csv() পদ্ধতি ব্যবহার করুন।
  3. পাইথন পরিবেশ (গুগল কোলাব) থেকে ফাইলটি ডাউনলোড করুন।
# মডেল1 দিয়ে টেস্ট_ডেটা1 এর ভবিষ্যদ্বাণী করুন।

টেস্ট_ডেটা [ 'দাম' ] = মডেল1 ভবিষ্যদ্বাণী ( test_data1 )

# test_results.csv-এ test_data সংরক্ষণ করুন

টেস্ট_ডেটা। to_csv ( 'test_results.csv' )

# Colab থেকে এই ফাইলটি ডাউনলোড করুন

নথি পত্র. ডাউনলোড ( 'test_results.csv' )

আউটপুট:

505টি রেকর্ডের মধ্যে 20টি রেকর্ড দেখাই। আপনি দেখতে পারেন যে মূল্য কলাম প্রতিটি বাড়ির জন্য পূর্বাভাসিত মান ধারণ করে।

অন্যান্য মডেল

আসুন DecisionTreeRegressor ব্যবহার করে বাড়ির ভবিষ্যদ্বাণী করি। আপনি এটি 'sklearn.tree' মডিউল থেকে আমদানি করতে সক্ষম।

থেকে শিখেছি গাছ আমদানি DecisionTreeRegressor

# মডেলটি সংজ্ঞায়িত করুন

মডেল2 = DecisionTreeRegressor ( )

# মডেলের সাথে মানানসই

মডেল2 ফিট ( ট্রেন_ডেটা , লক্ষ্য )

# মডেল নির্ভুলতা

ছাপা ( মডেল2 স্কোর ( ট্রেন_ডেটা , লক্ষ্য ) * 100 )

# মডেল1 দিয়ে টেস্ট_ডেটা1 এর ভবিষ্যদ্বাণী করুন।

টেস্ট_ডেটা [ 'দাম' ] = মডেল2 ভবিষ্যদ্বাণী ( test_data1 )

# test_results.csv-এ test_data সংরক্ষণ করুন

টেস্ট_ডেটা। to_csv ( 'test_results.csv' )

# Colab থেকে এই ফাইলটি ডাউনলোড করুন

নথি পত্র. ডাউনলোড ( 'test_results.csv' )

আউটপুট:

99.94183165335028

আপনি এখানে পূর্বাভাসিত ফলাফল দেখতে পারেন:

আসুন LinearrEgression ব্যবহার করে ঘরগুলির ভবিষ্যদ্বাণী করি। 'sklearn.linear_model' মডিউল থেকে মডেলটি আমদানি করুন।

থেকে শিখেছি লিনিয়ার_মডেল আমদানি লিনিয়ার রিগ্রেশন

# মডেলটি সংজ্ঞায়িত করুন

মডেল3 = লিনিয়ার রিগ্রেশন ( )

# মডেলের সাথে মানানসই

মডেল3 ফিট ( ট্রেন_ডেটা , লক্ষ্য )

# মডেল1 দিয়ে টেস্ট_ডেটা1 এর ভবিষ্যদ্বাণী করুন।

টেস্ট_ডেটা [ 'দাম' ] = মডেল3 ভবিষ্যদ্বাণী ( test_data1 )

# test_results.csv-এ test_data সংরক্ষণ করুন

টেস্ট_ডেটা। to_csv ( 'test_results.csv' )

# Colab থেকে এই ফাইলটি ডাউনলোড করুন

নথি পত্র. ডাউনলোড ( 'test_results.csv' )

আপনি এখানে পূর্বাভাসিত ফলাফল দেখতে পারেন:

উপসংহার

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