{"id":1149,"date":"2023-07-27T12:04:19","date_gmt":"2023-07-27T12:04:19","guid":{"rendered":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/"},"modified":"2023-07-27T12:04:19","modified_gmt":"2023-07-27T12:04:19","slug":"prosta-regresja-liniowa-w-pythonie","status":"publish","type":"post","link":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/","title":{"rendered":"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w pythonie (krok po kroku)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/pl\/regresja-liniowa-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Prosta regresja liniowa<\/a> to technika, kt\u00f3rej mo\u017cemy u\u017cy\u0107 do zrozumienia zwi\u0105zku pomi\u0119dzy pojedyncz\u0105 <a href=\"https:\/\/statorials.org\/pl\/zmienne-odpowiedzi-wyjasniajace\/\" target=\"_blank\" rel=\"noopener noreferrer\">zmienn\u0105 obja\u015bniaj\u0105c\u0105<\/a> a pojedyncz\u0105 <a href=\"https:\/\/statorials.org\/pl\/zmienne-odpowiedzi-wyjasniajace\/\" target=\"_blank\" rel=\"noopener noreferrer\">zmienn\u0105 odpowiedzi<\/a> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Technika ta znajduje lini\u0119, kt\u00f3ra najlepiej \u201epasuje\u201d do danych i przyjmuje nast\u0119puj\u0105c\u0105 posta\u0107:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>\u0177 = b <sub>0<\/sub> + b <sub>1<\/sub> x<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Z\u0142oto:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>\u0177<\/strong> : Szacowana warto\u015b\u0107 odpowiedzi<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>b <sub>0<\/sub><\/strong> : Pocz\u0105tek linii regresji<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>b <sub>1<\/sub><\/strong> : Nachylenie linii regresji<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">R\u00f3wnanie to mo\u017ce pom\u00f3c nam zrozumie\u0107 zwi\u0105zek pomi\u0119dzy zmienn\u0105 obja\u015bniaj\u0105c\u0105 a zmienn\u0105 odpowiedzi oraz (zak\u0142adaj\u0105c, \u017ce jest istotne statystycznie) mo\u017ce zosta\u0107 wykorzystane do przewidywania warto\u015bci zmiennej odpowiedzi, bior\u0105c pod uwag\u0119 warto\u015b\u0107 zmiennej obja\u015bniaj\u0105cej.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ten samouczek zawiera szczeg\u00f3\u0142owe wyja\u015bnienie sposobu przeprowadzania prostej regresji liniowej w j\u0119zyku Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><b>Krok 1: Za\u0142aduj dane<\/b><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Na potrzeby tego przyk\u0142adu utworzymy fa\u0142szywy zbi\u00f3r danych zawieraj\u0105cy dwie zmienne dla 15 uczni\u00f3w:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">\u0141\u0105czna liczba godzin po\u015bwi\u0119conych na niekt\u00f3re egzaminy<\/span><\/li>\n<li> <span style=\"color: #000000;\">Wynik egazminu<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Spr\u00f3bujemy dopasowa\u0107 prosty model regresji liniowej, wykorzystuj\u0105c <em>godziny<\/em> jako zmienn\u0105 obja\u015bniaj\u0105c\u0105 i <em>wyniki bada\u0144<\/em> jako zmienn\u0105 odpowiedzi.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Poni\u017cszy kod pokazuje, jak utworzy\u0107 ten fa\u0142szywy zbi\u00f3r danych w Pythonie:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd<\/span>\n\n#create dataset<\/span>\ndf = pd. <span style=\"color: #3366ff;\">DataFrame<\/span> ({' <span style=\"color: #993300;\">hours<\/span> ': [1, 2, 4, 5, 5, 6, 6, 7, 8, 10, 11, 11, 12, 12, 14],\n                   ' <span style=\"color: #993300;\">score<\/span> ': [64, 66, 76, 73, 74, 81, 83, 82, 80, 88, 84, 82, 91, 93, 89]})\n      \n\n<span style=\"color: #008080;\">#view first six rows of dataset\n<\/span>df[0:6]\n\n    hours score\n0 1 64\n1 2 66\n2 4 76\n3 5 73\n4 5 74\n5 6 81\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><b>Krok 2: Wizualizuj dane<\/b><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Przed dopasowaniem prostego modelu regresji liniowej musimy najpierw wizualizowa\u0107 dane, aby je zrozumie\u0107.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Po pierwsze, chcemy mie\u0107 pewno\u015b\u0107, \u017ce zwi\u0105zek mi\u0119dzy <em>godzinami<\/em> a <em>wynikiem<\/em> jest w przybli\u017ceniu liniowy, poniewa\u017c jest to <a href=\"https:\/\/statorials.org\/pl\/za\u0142ozenia-regresji-liniowej\/\" target=\"_blank\" rel=\"noopener noreferrer\">podstawowe za\u0142o\u017cenie<\/a> prostej regresji liniowej.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Mo\u017cemy utworzy\u0107 prosty wykres rozrzutu, aby zwizualizowa\u0107 zwi\u0105zek mi\u0119dzy dwiema zmiennymi:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008000;\">import<\/span> matplotlib.pyplot <span style=\"color: #008000;\">as<\/span> plt\n\nplt. <span style=\"color: #3366ff;\">scatter<\/span> (df.hours, df.score)\nplt. <span style=\"color: #3366ff;\">title<\/span> (' <span style=\"color: #008000;\">Hours studied vs. Exam Score<\/span> ')\nplt. <span style=\"color: #3366ff;\">xlabel<\/span> (' <span style=\"color: #008000;\">Hours<\/span> ')\nplt. <span style=\"color: #3366ff;\">ylabel<\/span> (' <span style=\"color: #008000;\">Score<\/span> ')\nplt. <span style=\"color: #3366ff;\">show<\/span> ()\n<\/strong><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11539\" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/simpleregpython1.png\" alt=\"Chmura punkt\u00f3w w Pythonie\" width=\"421\" height=\"297\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Z wykresu wida\u0107, \u017ce zale\u017cno\u015b\u0107 wydaje si\u0119 by\u0107 liniowa. Wraz ze wzrostem <em>liczby godzin<\/em> <em>wynik<\/em> r\u00f3wnie\u017c ma tendencj\u0119 do zwi\u0119kszania si\u0119 liniowo.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Nast\u0119pnie mo\u017cemy utworzy\u0107 wykres pude\u0142kowy, aby zwizualizowa\u0107 rozk\u0142ad wynik\u00f3w egzaminu i sprawdzi\u0107 <a href=\"https:\/\/statorials.org\/pl\/usun-wartosci-odstajace-w-pythonie\/\" target=\"_blank\" rel=\"noopener noreferrer\">warto\u015bci odstaj\u0105ce<\/a> . Domy\u015blnie Python definiuje obserwacj\u0119 jako warto\u015b\u0107 odstaj\u0105c\u0105, je\u015bli jest 1,5-krotno\u015bci\u0105 rozst\u0119pu mi\u0119dzykwartylowego powy\u017cej trzeciego kwartyla (Q3) lub 1,5-krotno\u015bci rozst\u0119pu mi\u0119dzykwartylowego poni\u017cej pierwszego kwartyla (Q1).<\/span><\/p>\n<p> <span style=\"color: #000000;\">Je\u015bli obserwacja jest odstaj\u0105ca, na wykresie pude\u0142kowym pojawi si\u0119 ma\u0142e k\u00f3\u0142ko:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong>df. <span style=\"color: #3366ff;\">boxplot<\/span> (column=[' <span style=\"color: #008000;\">score<\/span> '])<\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11540 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/simpleregpython2.png\" alt=\"Wykres pude\u0142kowy w Pythonie\" width=\"374\" height=\"247\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Na wykresie pude\u0142kowym nie ma ma\u0142ych okr\u0119g\u00f3w, co oznacza, \u017ce w naszym zbiorze danych nie ma warto\u015bci odstaj\u0105cych.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><b>Krok 3: Wykonaj prost\u0105 regresj\u0119 liniow\u0105<\/b><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Kiedy ju\u017c potwierdzimy, \u017ce zwi\u0105zek mi\u0119dzy naszymi zmiennymi jest liniowy i nie ma \u017cadnych warto\u015bci odstaj\u0105cych, mo\u017cemy przyst\u0105pi\u0107 do dopasowania prostego modelu regresji liniowej, wykorzystuj\u0105c <em>godziny<\/em> jako zmienn\u0105 obja\u015bniaj\u0105c\u0105 i <em>wynik<\/em> jako zmienn\u0105 odpowiedzi:<\/span><\/p>\n<p> <em><span style=\"color: #000000;\"><strong>Uwaga:<\/strong> Do dopasowania modelu regresji u\u017cyjemy<\/span> <a href=\"https:\/\/www.statsmodels.org\/devel\/generated\/statsmodels.regression.linear_model.OLS.html\" target=\"_blank\" rel=\"noopener noreferrer\">funkcji OLS()<\/a> <span style=\"color: #000000;\">z biblioteki statsmodels.<\/span><\/em><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008000;\">import<\/span> statsmodels.api <span style=\"color: #008000;\">as<\/span> sm\n\n<span style=\"color: #008080;\">#define response variable\n<\/span>y = df[' <span style=\"color: #008000;\">score<\/span> ']\n\n<span style=\"color: #008080;\">#define explanatory variable\n<\/span>x = df[[' <span style=\"color: #008000;\">hours<\/span> ']]\n\n<span style=\"color: #008080;\">#add constant to predictor variables\n<\/span>x = sm. <span style=\"color: #3366ff;\">add_constant<\/span> (x)\n\n<span style=\"color: #008080;\">#fit linear regression model\n<\/span>model = sm. <span style=\"color: #3366ff;\">OLS<\/span> (y,x). <span style=\"color: #3366ff;\">fit<\/span> ()\n\n<span style=\"color: #008080;\">#view model summary\n<\/span><span style=\"color: #008000;\">print<\/span> ( <span style=\"color: #3366ff;\">model.summary<\/span> ())\n\n                            OLS Regression Results                            \n==================================================== ============================\nDept. Variable: R-squared score: 0.831\nModel: OLS Adj. R-squared: 0.818\nMethod: Least Squares F-statistic: 63.91\nDate: Mon, 26 Oct 2020 Prob (F-statistic): 2.25e-06\nTime: 15:51:45 Log-Likelihood: -39,594\nNo. Observations: 15 AIC: 83.19\nDf Residuals: 13 BIC: 84.60\nModel: 1                                         \nCovariance Type: non-robust                                         \n==================================================== ============================\n                 coef std err t P&gt;|t| [0.025 0.975]\n-------------------------------------------------- ----------------------------\nconst 65.3340 2.106 31.023 0.000 60.784 69.884\nhours 1.9824 0.248 7.995 0.000 1.447 2.518\n==================================================== ============================\nOmnibus: 4,351 Durbin-Watson: 1,677\nProb(Omnibus): 0.114 Jarque-Bera (JB): 1.329\nSkew: 0.092 Prob(JB): 0.515\nKurtosis: 1.554 Cond. No. 19.2\n==================================================== ============================<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Z podsumowania modelu widzimy, \u017ce dopasowane r\u00f3wnanie regresji ma posta\u0107:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Wynik = 65,334 + 1,9824*(godziny)<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Oznacza to, \u017ce ka\u017cda dodatkowa godzina nauki wi\u0105\u017ce si\u0119 ze \u015brednim wzrostem wyniku z egzaminu o <strong>1,9824<\/strong> pkt. Oryginalna warto\u015b\u0107 <strong>65 334<\/strong> m\u00f3wi nam, jaki jest \u015bredni oczekiwany wynik egzaminu dla studenta studiuj\u0105cego przez zero godzin.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Mo\u017cemy r\u00f3wnie\u017c u\u017cy\u0107 tego r\u00f3wnania, aby znale\u017a\u0107 oczekiwany wynik egzaminu na podstawie liczby godzin sp\u0119dzonych przez studenta. Przyk\u0142adowo student studiuj\u0105cy 10 godzin powinien uzyska\u0107 na egzaminie wynik <strong>85,158<\/strong> :<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Wynik = 65,334 + 1,9824*(10) = 85,158<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Oto jak zinterpretowa\u0107 pozosta\u0142\u0105 cz\u0119\u015b\u0107 podsumowania modelu:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>P&gt;|t| :<\/strong> Jest to warto\u015b\u0107 p powi\u0105zana ze wsp\u00f3\u0142czynnikami modelu. Poniewa\u017c warto\u015b\u0107 p dla <em>godzin<\/em> (0,000) jest znacznie mniejsza ni\u017c 0,05, mo\u017cemy powiedzie\u0107, \u017ce istnieje statystycznie istotny zwi\u0105zek pomi\u0119dzy <em>godzinami<\/em> a <em>wynikiem<\/em> .<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>R-kwadrat:<\/strong> liczba ta m\u00f3wi nam, \u017ce procent zr\u00f3\u017cnicowania wynik\u00f3w egzaminu mo\u017cna wyja\u015bni\u0107 liczb\u0105 godzin nauki. Og\u00f3lnie rzecz bior\u0105c, im wi\u0119ksza warto\u015b\u0107 R-kwadrat modelu regresji, tym lepiej zmienne obja\u015bniaj\u0105ce s\u0105 w stanie przewidzie\u0107 warto\u015b\u0107 zmiennej odpowiedzi. W tym przypadku <strong>83,1%<\/strong> zr\u00f3\u017cnicowania wynik\u00f3w wynika z przepracowanych godzin.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Statystyka F i warto\u015b\u0107 p:<\/strong> Statystyka F ( <strong>63,91<\/strong> ) i odpowiadaj\u0105ca jej warto\u015b\u0107 p ( <strong>2.25e-06<\/strong> ) m\u00f3wi\u0105 nam o og\u00f3lnym znaczeniu modelu regresji, tj. czy zmienne obja\u015bniaj\u0105ce w modelu s\u0105 przydatne w wyja\u015bnianiu zmienno\u015bci . w zmiennej odpowiedzi. Poniewa\u017c warto\u015b\u0107 p w tym przyk\u0142adzie jest mniejsza ni\u017c 0,05, nasz model jest istotny statystycznie i <em>godziny<\/em> uwa\u017ca si\u0119 za przydatne do wyja\u015bnienia zmienno\u015bci <em>wyniku<\/em> .<\/span><\/li>\n<\/ul>\n<h3> <span style=\"color: #000000;\"><strong>Krok 4: Utw\u00f3rz dzia\u0142ki resztkowe<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Po dopasowaniu prostego modelu regresji liniowej do danych ostatnim krokiem jest utworzenie wykres\u00f3w reszt.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Jednym z kluczowych za\u0142o\u017ce\u0144 regresji liniowej jest to, \u017ce reszty modelu regresji maj\u0105 w przybli\u017ceniu rozk\u0142ad normalny i s\u0105 <a href=\"https:\/\/statorials.org\/pl\/regresja-heteroskedastycznosci\/\" target=\"_blank\" rel=\"noopener noreferrer\">homoskedastyczne<\/a> na ka\u017cdym poziomie zmiennej obja\u015bniaj\u0105cej. Je\u017celi te za\u0142o\u017cenia nie zostan\u0105 spe\u0142nione, wyniki naszego modelu regresji mog\u0105 wprowadza\u0107 w b\u0142\u0105d lub by\u0107 niewiarygodne.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Aby sprawdzi\u0107, czy za\u0142o\u017cenia te s\u0105 spe\u0142nione, mo\u017cemy utworzy\u0107 nast\u0119puj\u0105ce wykresy reszt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Wykres reszt w funkcji dopasowanych warto\u015bci:<\/strong> Wykres ten jest przydatny do potwierdzenia homoskedastyczno\u015bci. O\u015b x wy\u015bwietla dopasowane warto\u015bci, a o\u015b y wy\u015bwietla reszty. Dop\u00f3ki reszty wydaj\u0105 si\u0119 by\u0107 losowo i r\u00f3wnomiernie rozmieszczone na wykresie wok\u00f3\u0142 warto\u015bci zerowej, mo\u017cemy za\u0142o\u017cy\u0107, \u017ce homoskedastyczno\u015b\u0107 nie jest naruszona:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define figure size\n<\/span>fig = plt. <span style=\"color: #3366ff;\">figure<\/span> (figsize=(12.8))\n\n<span style=\"color: #008080;\">#produce residual plots\n<\/span>fig = sm.graphics. <span style=\"color: #3366ff;\">plot_regress_exog<\/span> (model, ' <span style=\"color: #008000;\">hours<\/span> ', fig=fig)\n<\/strong><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11541 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/simpleregpython3.png\" alt=\"Wykresy resztowe w Pythonie\" width=\"665\" height=\"442\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Produkowane s\u0105 cztery dzia\u0142ki. Ten w prawym g\u00f3rnym rogu przedstawia wykres rezydualny w por\u00f3wnaniu z wykresem skorygowanym. O\u015b x na tym wykresie pokazuje rzeczywiste warto\u015bci <em>punkt\u00f3w<\/em> zmiennych predykcyjnych, a o\u015b y pokazuje reszt\u0119 dla tej warto\u015bci.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Poniewa\u017c reszty wydaj\u0105 si\u0119 by\u0107 losowo rozproszone wok\u00f3\u0142 zera, oznacza to, \u017ce heteroskedastyczno\u015b\u0107 nie jest problemem w przypadku zmiennej obja\u015bniaj\u0105cej.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Wykres QQ:<\/strong> Ten wykres jest przydatny do okre\u015blenia, czy reszty maj\u0105 rozk\u0142ad normalny. Je\u015bli warto\u015bci danych na wykresie przebiegaj\u0105 mniej wi\u0119cej po linii prostej pod k\u0105tem 45 stopni, w\u00f3wczas dane maj\u0105 rozk\u0142ad normalny:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define residuals\n<\/span>res = model. <span style=\"color: #3366ff;\">reside<\/span>\n\n<span style=\"color: #008080;\">#create QQ plot\n<\/span>fig = sm. <span style=\"color: #3366ff;\">qqplot<\/span> (res, fit= <span style=\"color: #008000;\">True<\/span> , line=\" <span style=\"color: #008000;\">45<\/span> \")\nplt.show() \n<\/strong><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11542 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/simpleregpython4.png\" alt=\"Wykres QQ w Pythonie\" width=\"415\" height=\"277\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Warto\u015bci resztkowe odbiegaj\u0105 nieco od linii 45 stopni, ale nie na tyle, aby powodowa\u0107 powa\u017cne obawy. Mo\u017cna za\u0142o\u017cy\u0107, \u017ce za\u0142o\u017cenie normalno\u015bci jest spe\u0142nione.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Poniewa\u017c reszty maj\u0105 rozk\u0142ad normalny i homoskedastyczny, sprawdzili\u015bmy, czy spe\u0142nione s\u0105 za\u0142o\u017cenia prostego modelu regresji liniowej. Zatem wynik naszego modelu jest niezawodny.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><em>Pe\u0142ny kod Pythona u\u017cyty w tym samouczku mo\u017cna znale\u017a\u0107 <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/simple_linear_regression.py\" target=\"_blank\" rel=\"noopener noreferrer\">tutaj<\/a> .<\/em><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prosta regresja liniowa to technika, kt\u00f3rej mo\u017cemy u\u017cy\u0107 do zrozumienia zwi\u0105zku pomi\u0119dzy pojedyncz\u0105 zmienn\u0105 obja\u015bniaj\u0105c\u0105 a pojedyncz\u0105 zmienn\u0105 odpowiedzi . Technika ta znajduje lini\u0119, kt\u00f3ra najlepiej \u201epasuje\u201d do danych i przyjmuje nast\u0119puj\u0105c\u0105 posta\u0107: \u0177 = b 0 + b 1 x Z\u0142oto: \u0177 : Szacowana warto\u015b\u0107 odpowiedzi b 0 : Pocz\u0105tek linii regresji b 1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1149","post","type-post","status-publish","format-standard","hentry","category-przewodnik"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w Pythonie (krok po kroku)<\/title>\n<meta name=\"description\" content=\"W tym samouczku wyja\u015bniono, jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w j\u0119zyku Python, na przyk\u0142adzie krok po kroku.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w Pythonie (krok po kroku)\" \/>\n<meta property=\"og:description\" content=\"W tym samouczku wyja\u015bniono, jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w j\u0119zyku Python, na przyk\u0142adzie krok po kroku.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T12:04:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/simpleregpython1.png\" \/>\n<meta name=\"author\" content=\"Benjamin Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/\",\"url\":\"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/\",\"name\":\"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w Pythonie (krok po kroku)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pl\/#website\"},\"datePublished\":\"2023-07-27T12:04:19+00:00\",\"dateModified\":\"2023-07-27T12:04:19+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965\"},\"description\":\"W tym samouczku wyja\u015bniono, jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w j\u0119zyku Python, na przyk\u0142adzie krok po kroku.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\",\"item\":\"https:\/\/statorials.org\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w pythonie (krok po kroku)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/pl\/#website\",\"url\":\"https:\/\/statorials.org\/pl\/\",\"name\":\"Statorials\",\"description\":\"Tw\u00f3j przewodnik po kompetencjach statystycznych!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/pl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965\",\"name\":\"Benjamin Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"caption\":\"Benjamin Anderson\"},\"description\":\"Cze\u015b\u0107, jestem Benjamin i jestem emerytowanym profesorem statystyki, kt\u00f3ry zosta\u0142 oddanym nauczycielem Statorials. Dzi\u0119ki bogatemu do\u015bwiadczeniu i wiedzy specjalistycznej w dziedzinie statystyki ch\u0119tnie dziel\u0119 si\u0119 swoj\u0105 wiedz\u0105, aby wzmocni\u0107 pozycj\u0119 uczni\u00f3w za po\u015brednictwem Statorials. Wiedzie\u0107 wi\u0119cej\",\"sameAs\":[\"https:\/\/statorials.org\/pl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w Pythonie (krok po kroku)","description":"W tym samouczku wyja\u015bniono, jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w j\u0119zyku Python, na przyk\u0142adzie krok po kroku.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w Pythonie (krok po kroku)","og_description":"W tym samouczku wyja\u015bniono, jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w j\u0119zyku Python, na przyk\u0142adzie krok po kroku.","og_url":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/","og_site_name":"Statorials","article_published_time":"2023-07-27T12:04:19+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/simpleregpython1.png"}],"author":"Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Benjamin Anderson","Szacowany czas czytania":"6 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/","url":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/","name":"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w Pythonie (krok po kroku)","isPartOf":{"@id":"https:\/\/statorials.org\/pl\/#website"},"datePublished":"2023-07-27T12:04:19+00:00","dateModified":"2023-07-27T12:04:19+00:00","author":{"@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965"},"description":"W tym samouczku wyja\u015bniono, jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w j\u0119zyku Python, na przyk\u0142adzie krok po kroku.","breadcrumb":{"@id":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pl\/prosta-regresja-liniowa-w-pythonie\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom","item":"https:\/\/statorials.org\/pl\/"},{"@type":"ListItem","position":2,"name":"Jak wykona\u0107 prost\u0105 regresj\u0119 liniow\u0105 w pythonie (krok po kroku)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/pl\/#website","url":"https:\/\/statorials.org\/pl\/","name":"Statorials","description":"Tw\u00f3j przewodnik po kompetencjach statystycznych!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/pl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965","name":"Benjamin Anderson","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/pl\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","caption":"Benjamin Anderson"},"description":"Cze\u015b\u0107, jestem Benjamin i jestem emerytowanym profesorem statystyki, kt\u00f3ry zosta\u0142 oddanym nauczycielem Statorials. Dzi\u0119ki bogatemu do\u015bwiadczeniu i wiedzy specjalistycznej w dziedzinie statystyki ch\u0119tnie dziel\u0119 si\u0119 swoj\u0105 wiedz\u0105, aby wzmocni\u0107 pozycj\u0119 uczni\u00f3w za po\u015brednictwem Statorials. Wiedzie\u0107 wi\u0119cej","sameAs":["https:\/\/statorials.org\/pl"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts\/1149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/comments?post=1149"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts\/1149\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/media?parent=1149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/categories?post=1149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/tags?post=1149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}