Един от методите на 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, за да намерим най-малките квадрати и внедрихме някои примери с подробни обяснения за по-добро разбиране на потребителя.