Индия е страната в света, която всяка година преживява най-катастрофалните наводнения. В големите градове ниско разположените райони са местата, където обикновено се случва наводняване. Освен това няколко съществени фактора, включително оттичане на пода, относителна надморска височина и недостатъчен път за изтичане на водата, са виновни за увеличаването на наводняването. Прогнозирането на наводнения е толкова важно. В Индия наводненията са тежко бедствие, което уврежда сериозно цялата биосфера. За прогнозиране и намаляване на риска от наводнения е важно да се разработи метод за прогнозиране на наводненията. За този проект те избраха KERALA STATE, за да се възползват максимално от вградената система, както е посочено в изследователския доклад.

flood-prediction-using-logistic-regression-for-kerala-state-IJERTCONV9IS03010.pdf (изследователска статия)

Новини на BBC

Защо наводненията в Керала се оказаха толкова смъртоносни — BBC News

Наводненията в южния индийски щат Керала убиха повече от 350 души от юни насам. Навин Сингх Кадка от BBC обяснява защо този път са били толкова смъртоносни.

Опустошителните наводнения в Керала достигнаха своя връх миналата седмица. Оттогава мусонните дъждове започнаха да намаляват и бяха изпратени спасителни екипи, но хиляди хора остават изоставени.

Държавата трябваше да е подготвена за това - само месец по-рано правителствен доклад предупреди, че Керала се представя най-зле сред южните индийски щати по отношение на ефективното управление на водните ресурси.

С 42 точки той беше класиран номер 12. Първите три щата бяха Гуджарат на запад, Мадхя Прадеш в центъра и Андхра Прадеш на юг, с резултати съответно от 79, 69 и 68.

Длъжностни лица и експерти казаха, че наводненията в Керала, през която протичат 44 реки, не биха били толкова тежки, ако властите бяха изпуснали постепенно водата от поне 30 язовира.

„Това можеше да бъде избегнато, ако операторите на язовирите бяха започнали да изпускат вода предварително, вместо да чакат язовирите да бъдат напълнени, когато нямат друга алтернатива, освен да изпускат вода“, каза Химаншу Таккар, експерт по водите в Южноазиатската мрежа на Язовири, реки и хора.

ИИ е необходим за прогнозиране на наводнения:

AI е необходим за прогнозиране на наводнение, за да се избегнат грешки при прогнозиране. Конвенционалните системи, използвани за прогнозиране на наводнения, не осигуряват точно прогнозиране на наводненията поради липсата на достатъчно информация. Понякога тази неточност води до вредни резултати, тъй като жителите не могат да вземат навреме решения за евакуация и излагат живота си на опасност.

Традиционни методи, използвани за прогнозиране на наводнения:

„Хидрологията“ използва едномерни конвенционални методи за прогнозиране на нивата на наводненията, но тази прогноза има проблеми с точността поради нелинейното поведение на наводненията и липсата на определени променливи.

Физически модел, включващ „хидравлични принципи“, е друг подход за прогнозиране на наводнения. Тези модели обаче могат да дадат и неточни резултати поради голям брой грешки и изискването за по-сложно и прецизно моделиране. Липсата на хидрометеорологични променливи като ниво на водата и отток, валежи и валежи също води до неточни прогнози.

Използването на машинно обучение ще помогне при прогнозирането на наводненията, така че да можем да предупредим жителите да предприемат ранни действия, като например бърза евакуация на по-безопасно и по-високо място. Най-важното е да предупредите операторите на язовирите да пуснат вода предварително, вместо да чакат язовирите да бъдат напълнени.

Идентифицирайте бизнес проблема:

нашият бизнес проблем е идентифициран от следната статия

Защо наводненията в Керала се оказаха толкова смъртоносни — BBC News

Една от повдигнатите точки беше, че властите трябваше постепенно да изпускат водата от поне 30 язовира. Като имат предвидено наводнение, правителствените органи и хората в района на потенциално наводнение ще могат да планират и вземат подходящи решения. В този случай животите, имуществото, инфраструктурата и околната среда могат да бъдат защитени и икономическите щети могат да бъдат смекчени.

Идентифициране на източника на данни

За да подготвим модели за машинно обучение, първо трябва да съберем необходимите данни. Трябва да има набор от данни за всеки тип изявление на проблема.
Най-важната информация в една система за прогнозиране на наводнения са непрекъснатите хидро-метеорологични възприятия, осигурени от климатичните радарни сателити и системите на автоматични хидрометеорологични станции. Тези данни в реално време могат да се използват по различни начини за оценка на рисковете от наводнения и предупрежденията за наводнения. В допълнение към данните от реалния свят, вероятностните прогнози за времето (Numerical Weather Prediction-NWP) играят важна роля при предоставянето на входни данни за хидроложки модели, които генерират предупредителни сценарии.

Изберете Данни

Предоставихме набор от данни, състоящ се от подробности за валежите в Керала за предходните 117 години, той ясно дефинира годишните, както и месечните данни за валежите, което доказва, че тази система е по-точна и потвърждава нейната надеждност, ефективност и уверена зависимост.

Наборът от данни за тази задача е предоставен на Kerala Flood | Kaggle

Кратко резюме на данните

наборът от данни съдържа 118 реда и 16 колони. информацията в колоната е следната

Почистване на данните

Почистването на данни е процес на коригиране или премахване на неправилни, повредени, неправилно форматирани, дублирани или непълни данни в набор от данни.

Повечето от данните от реалния свят, които получаваме, са объркани, така че трябва да изчистим тези данни, преди да ги подадем в нашия модел за машинно обучение.

Трансформирайте данните

Има много различни начини за преобразуване на категориални променливи в числови характеристики, така че да могат да се използват в моделите за машинно обучение.

Можем да видим, че целта е категорична, така че първата стъпка е да преобразуваме целта в числова. Всички други функции, които са числени, така че няма да има нужда да ги трансформирате

Данни за баланса

нашите класове са балансирани

Анализирайте данните

  1. Коя година има най-много валежи в Керала?

През 1920 и 1961 г. има най-много валежи.

2.Кои месеци има максимални валежи?

  • Юли и август изглеждаше с повече валежи
  • През 1925 г. щатът имаше повече дъжд през юли

3. Каква е краткосрочната спрямо дългосрочната тенденция?

Използвахме 5-годишен интервал за краткосрочната тенденция на валежите, за да позволим по-добра визуализация. Графиката показва тенденция към намаляване, което показва, че валежите се изпаряват с времето. Данните от последните години показват тенденция към нарастване на валежите, поради което има шанс валежите да се увеличат през следващите 5 до 10 години.

10-годишна пълзяща средна се използва за определяне на дългосрочната тенденция на валежите. Има шанс валежите в Керала да се увеличат през следващите 10 до 20 години.

4.каква е връзката между екстремните валежи и наводненията?

Числото "0" означава липса на наводнение, докато "1" означава наличие на наводнение. Графиката предполага, че годишните валежи от 3000 cm са ключова стойност за прогнозиране на наводненията. По-голямата част от наводненията са причинени от годишни валежи над 3000 cm; под това е посочена безопасна зона.

Наборът от данни за наводнения се състои от етикетирани данни за обучение, които могат да бъдат класифицирани под двоична класификация. Можем да определим най-добрите параметри на модела, за да предвидим неизвестни етикети на други обекти (данни), като напаснем набора от данни за обучение. Това може да се постигне чрез използване на традиционни ML алгоритми като SVM, KNN и Naive Bayes.

СЪЗДАДЕТЕ МОДЕЛ ЗА МАШИННО ОБУЧЕНИЕ

  • Разделяне на набора от данни

Трябва да разделим набор от данни на набори за обучение и тестване, за да оценим колко добре се представя моделът ни за машинно обучение. Влаковата композиция се използва за монтиране на модела и статистиката на влаковата композиция е известна. Вторият набор се нарича набор от тестови данни, този набор се използва единствено за прогнози.

Библиотеката scikit-learn ни предоставя модула model_selection, в който имаме функцията за разделител train_test_split().

from sklearn import neighbors
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(data_inputs,data_outputs,test_size=0.3,random_state=0)

ХАРАКТЕРИСТИКА МАЩАБИРАНЕ НА ДАННИ (нормализиране)

За да могат моделите за машинно обучение да интерпретират нашите характеристики в същия мащаб, трябва да извършим мащабиране на функции.

Нормализацията, известна още като минимално-максимално мащабиране, е техника за мащабиране, при която стойностите в колона се изместват така, че да са ограничени между фиксиран диапазон от 0 и 1.

Необходимо е мащабиране на функции, защото:

  • Коефициентите на линейните модели се влияят от мащаба на променливата.
  • Променливите с по-голяма величина доминират над тези с по-малка величина
  • Градиентното спускане се сближава много по-бързо при мащабирани данни
  • Мащабирането на функции намалява времето за намиране на поддържащи вектори за SVM
  • Евклидовите разстояния са чувствителни към големината на характеристиките.
  • PCA изисква функциите да бъдат центрирани на 0. — изчисляване на данни

MinMaxScaler е функцията за обучение на Scikit за нормализиране.

from sklearn.preprocessing import MinMaxScaler
minmax = MinMaxScaler()
x_train_normal = minmax.fit_transform(x_train)
x_test_normal = minmax.transform(x_test)

Моделите на машинно обучение, засегнати от мащаба на характеристиките, са: — Линейна и логистична регресия — Невронни мрежи — Поддържащи векторни машини — KNN — Клъстеризиране на K-означава — Анализ на главните компоненти (PCA)

Стандартизация

От друга страна, стандартизацията или нормализирането на Z-резултат е друга техника за мащабиране, при която стойностите в колона се премащабират, така че да демонстрират свойствата на стандартно разпределение на Гаус, което е средно = 0 и дисперсия = 1.

StandardScaler е функцията за обучение на Scikit за стандартизация.

from sklearn.preprocessing import MinMaxScaler
minmax = MinMaxScaler()
x_train_normal = minmax.fit_transform(x_train)
x_test_normal = minmax.transform(x_test)

Алгоритмите за машинно обучение, използвани за този проект:

KNN, логистична регресия и класификация на поддържащи вектори,

В изследователската статия данните са обучени с помощта на логистична регресия. Така че за тази статия ще проверим най-добре представящия се модел между трите модела.

KNN КЛАСИФИКАТОР

Простата версия на алгоритмите на K-най-близкия класификатор на съседи е да се предвиди целевият етикет чрез намиране на най-близкия съседен клас. Най-близкият клас ще бъде идентифициран с помощта на мерките за разстояние като евклидово разстояние.

Алгоритъм за най-близък съсед:

Най-близкият съсед е специален случай на клас k-най-близък съсед. Където стойността на k е 1 (k = 1). В този случай нов целеви клас на точка от данни ще бъде присвоен на първия най-близък съсед.

Метрики за алгоритмично сравнение

Прилагането на различни алгоритми за машинно обучение като SVM, Bayes, KNN и логистична регресия се сравняват, за да се идентифицира най-добрият алгоритъм за прогнозиране на появата на наводнение.

По-долу е дадено кратко обяснение за различните показатели, използвани за сравнителен анализ.

Матрица на объркването

Това е двоичен класификатор. Матрицата на объркване може да бъде с произволен размер в зависимост от различния брой въведени параметри (етикети в нашия случай). Матрицата на объркване в нашия случай е матрица 2 × 2.

TP FN FP TN където TP ¼ истински положителен; FN ¼ фалшиво отрицателен; FP ¼ фалшиво положителен; TN ¼ истински отрицателен. TP и TN означават броя на случаите, които са правилно класифицирани съответно като липса на наводнение и възникване на наводнение. FP и FN означават броя на случаите, които са били погрешно класифицирани съответно като липса на наводнение и възникване на наводнение

AUC (площ под ROC кривата)

е мярка за ефективността на двустранно класиране. В машинното обучение измерването на ефективността е основна задача. Така че, когато става въпрос за проблем с класификацията, можем да разчитаме на AUC — ROC крива. Когато трябва да проверим или визуализираме ефективността на проблема с многокласовата класификация, ние използваме кривата AUC (Площ под кривата) ROC (Работни характеристики на приемника). Това е един от най-важните показатели за оценка за проверка на ефективността на всеки класификационен модел. Изписва се също като AUROC (Зона под Работни характеристики на приемника)

Един отличен модел има AUC близо до 1, което означава, че има добра мярка за разделимост. Един лош модел има AUC близо до 0, което означава, че има най-лошата мярка за разделимост. Всъщност това означава, че реципрочен резултат. Той предвижда 0s като 1s и 1s като 0s. И когато AUC е 0,5, това означава, че моделът няма никакъв капацитет за разделяне на класове.

прецизност и извикване

Успехът на прогнозирането се изчислява чрез прецизно припомняне, когато класовете са небалансирани. Уместността на резултата се изразява като прецизност, докато броят на върнатите истински уместни резултати се изразява като припомняне. Ниският процент на фалшиво положителни резултати и ниският процент на фалшиво отрицателни резултати са свързани съответно с висока прецизност и високо извикване.

ЛОГИСТИЧНА РЕГРЕСИЯ

Логистичната регресия е класификационен алгоритъм. Използва се за прогнозиране на двоичен резултат въз основа на набор от независими променливи.

Добре, какво означава това? Двоичен резултат е такъв, при който има само два възможни сценария — или събитието се случва (1), или не се случва (0). Независими променливи са онези променливи или фактори, които могат да повлияят на резултата (или зависима променлива)

Точност на данните от теста

За тази задача винаги трябва да сме сигурни, че избягваме фалшиви положителни резултати. случаят, който класифицираме като липса на наводнение, но наводнение се случва

Точност на данните за влака

За тази задача винаги трябва да сме сигурни, че избягваме фалшиви положителни резултати. случаят, който класифицираме като липса на наводнение, но наводнение се случва

Класификация на поддържащи вектори

Целта на машинния алгоритъм на опорния вектор е да намери хиперравнина в N-измерно пространство (N — броят характеристики), която ясно класифицира точките от данни.

Окончателна точност на нашите модели: Сравняване на всички модели за прогнозиране

Логистичната регресия изглежда се представя по-добре.

използвани научни документи

jwc0111766.pdf

flood-prediction-using-logistic-regression-for-kerala-state-IJERTCONV9IS03010.pdf

Заключение:

Тази система за прогнозиране осигурява 94% от точността. Следователно този модел се оказва доста полезен за по-нататъшни изследвания и прилагане на превенция или ранно предупреждение за наводнения

Можете да се свържете тук

Хареса ли ви тази статия? След това ме последвайте в среда, за да получите повече проницателни статии.