Най-малки квадрати на NumPy

Naj Malki Kvadrati Na Numpy



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

Един от методите на Python lstsq() се използва за намиране на регресионната линия на известното линейно уравнение ax=b, което най-добре отговаря на това уравнение. Това означава, че трябва да определите линията, която правилно показва връзката между точките x и y, ако вашите данни показват, че има такава. Линията между двете точки е известна като линия на регресия, когато се използва за намиране на най-малкия квадрат чрез това уравнение, ax=b.

Синтаксис:

Нека започнем да изучаваме стила на изпълнение на функцията linalg.lstsq(). Първо, ние пишем името на библиотеката, което използваме в Python, което е „numpy“. След това конкатенираме функцията linalg() и конкатенираме функцията lstsq(). Функцията linalg() означава линейна алгебра. Винаги се използва с функцията lstsq(), защото е линеен алгебричен израз. След това предаваме аргументите във функционалните скоби.









Параметри:

Нека разберем параметрите на функцията linalg.lstsq():



точка 1: Това е матрицата на коефициента.





точка 2: Тази матрица или масив съдържа зависими променливи.

второ: Типът данни за него е float. Съотношението rcond служи като граница за по-малки единични стойности на point_1. Ако единична стойност е по-малка от rcond пъти най-големия сингулярен елемент на point_1, тя се счита за нула при определяне на ранга.



Върната стойност:

В замяна получаваме най-малкия квадрат на известната променлива x в уравнението ax=b.

Пример 1:

Нека започнем да прилагаме нашия първи пример за метод на най-малък квадрат от библиотеката на Python, NumPy. Първо, имаме нужда от компилатор на Python, за да можем да кодираме в него. Отворете компилатора. Трябва също така да инсталирате библиотеката NumPy, защото ние използваме една от функциите на NumPy, която е функцията lstsq(). След това трябва да импортирате пакета NumPy в него. Първо, напишете ключовата дума „import“, която казва на компилатора, че ще импортираме пакета. След това трябва да напишем името на пакета, което използваме във функцията, която е „numpy“. И след това, ние също пишем алтернативното име на NumPy „np“, защото много програмисти използват този подход. Това е добър програмен подход и спестява време.

След като импортираме пакета, започваме да пишем действителния ред код, който искаме да направим. Първо отпечатваме съобщенията, така че потребителят да може лесно да разбере какво правим в примера, използвайки командата print(). Ние създаваме едномерния масив „A“ с помощта на функцията array() и след това го отпечатваме, като извикваме командата print(). След това създаваме друг едномерен масив „B“ с помощта на функцията array() и го отпечатваме с помощта на функцията print().

импортиране numpy като напр.

печат ( „Внедряване на метода на най-малкия квадрат в NumPy:“ )

А = напр. масив ( [ 1 , две , 1 , 1 , 1 , две , две , 1 , 1 ] )

печат ( ' Масивът A е: ' , А )

б = напр. масив ( [ 4 , 3 , 5 , 4 , две , 3 , 6 , 3 , две ] )

печат ( ' Масивът B е: ' , б )

х = напр. ленено семе . lstsq ( напр. vstack ( [ А , напр. нечий ( само ( А ) ) ] ) . T , б , втора = Нито един ) [ 0 ]

печат ( ' Най-малкият квадрат е: ' , х )

След създаването на двете точки A и B, внедряваме функцията lstsq(). Но първо, ние използваме функцията vstack(), за да подредим елементите на „A“ в последователност. След това вземаме транспонирането на масив „A“. След това предаваме функцията vstack() като първи аргумент на функцията lstsq(). Вторият аргумент е масивът „B“, а третият аргумент е „rcond“, в който задаваме стойността на rcond като „none“. След това съхраняваме цялата функция в друг масив с име „x“, който показва, че това е известното линейно уравнение с променлива ax=b. След това показваме резултатите, така че използваме оператора print() за това и предаваме масива „x“ в него.

Пример 2:

Сега, нека започнем да прилагаме друг пример за най-малки квадрати на NumPy. Винаги първо импортираме библиотеката, която използваме в програмата, която е NumPy. Първо пишем ключовата дума „import“, за да получим пакета в програмата. Също така пишем името на пакета, което е „numpy“ и след това неговия псевдоним „np“. След това извикваме метода print(), за да можем да покажем съобщението на най-малките квадрати за повторно извеждане за по-добро разбиране на потребителя.

След това създаваме името на масива „x_axis“ и съхраняваме масива в него с помощта на функцията arange(). След това го отпечатваме с помощта на метода print(). След това създаваме друг масив с име „y_axis“ и съхраняваме масива в него, който създадохме на следващата илюстрация.

След като създадем и двата масива, внедряваме метода ones() в масива x_axis и го съхраняваме в друг масив, наречен „array_a“. И след това, ние също отпечатваме този масив. Създаваме друг масив с име “arg_reg_line” и прилагаме функция linalg.lstsq() върху него. След това предаваме параметрите на тази функция, за да можем да получим най-малките квадрати между два масива или точки. Първият параметър е, че вземаме транспонирането на array_a. Вторият параметър е втората точка, която е оста y. След това имаме 'rcond', който съдържа стойността 'none'. След това показваме масива с помощта на метода print().

импортиране numpy като напр.

печат ( 'Внедряване на функцията linalg.lstsq(): ' )

x_ос = напр. аранжирам ( 0 , 10 )

печат ( ' Стойностите на оста x са: ' , x_ос )

y_ос = [ 10.3 , 10.5 , единадесет , 11.5 , 13.2 , 13.9 , 14 , 15.5 , 16.6 , 17 ]

печат ( ' Стойностите на оста y са: ' , y_ос )

масив_а = напр. масив ( [ x_ос , напр. нечий ( 10 ) ] )

печат ( ' Масивът е: ' , масив_а )

arg_reg_line = напр. ленено семе . lstsq ( масив_а. T , y_ос , втора = Нито един ) [ 0 ]

печат ( ' Параметрите на регресионната линия са: ' , arg_reg_line )

reg_line = arg_reg_line [ 0 ] * x_ос + arg_reg_line [ 1 ]

импортиране matplotlib. pyplot като плт

плт. парцел ( x_ос , reg_line , 'р-' )

плт. парцел ( x_ос , y_ос , 'О' )

плт. заглавие ( 'Линия на линейна регресия' )

плт. xlabel ( 'Ос X' )

плт. ylabel ( 'Ос Y' )

плт. шоу ( )

Ето изхода от предишния имплементиран пример:

Импортираме друг пакет на NumPy, който е пакетът „matplotlib“, който се използва за начертаване на графиката. След това начертаваме стойностите на x_axis и y_axis_values. След това задаваме заглавието и етикетите на графиката. И накрая, показваме графиката с помощта на метода show().

Ето желаната графика на дадения пример:

Заключение

В тази статия научихме какво е най-малкият квадрат и как получаваме linalg.lstsq() на неизвестната променлива x, използвайки линейното уравнение ax=b. Използвахме множество функции на NumPy, за да намерим най-малките квадрати и внедрихме някои примери с подробни обяснения за по-добро разбиране на потребителя.