{"id":1204,"date":"2023-07-27T07:20:18","date_gmt":"2023-07-27T07:20:18","guid":{"rendered":"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/"},"modified":"2023-07-27T07:20:18","modified_gmt":"2023-07-27T07:20:18","slug":"regresja-glownych-skladnikow-w-pythonie","status":"publish","type":"post","link":"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/","title":{"rendered":"Regresja g\u0142\u00f3wnych komponent\u00f3w w pythonie (krok po kroku)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Bior\u0105c pod uwag\u0119 zbi\u00f3r <em>p<\/em> zmiennych predykcyjnych i zmienn\u0105 odpowiedzi, <a href=\"https:\/\/statorials.org\/pl\/wielokrotna-regresja-liniowa\/\" target=\"_blank\" rel=\"noopener noreferrer\">wielokrotna regresja liniowa<\/a> wykorzystuje metod\u0119 znan\u0105 jako metoda najmniejszych kwadrat\u00f3w, aby zminimalizowa\u0107 resztow\u0105 sum\u0119 kwadrat\u00f3w (RSS):<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS = \u03a3(y <sub>i<\/sub> \u2013 \u0177 <sub>i<\/sub> ) <sup>2<\/sup><\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Z\u0142oto:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>\u03a3<\/strong> : Grecki symbol oznaczaj\u0105cy <em>sum\u0119<\/em><\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>y <sub>i<\/sub><\/strong> : rzeczywista warto\u015b\u0107 odpowiedzi dla <sup>i-tej<\/sup> obserwacji<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>\u0177 <sub>i<\/sub><\/strong> : Przewidywana warto\u015b\u0107 odpowiedzi na podstawie modelu wielokrotnej regresji liniowej<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Jednak\u017ce, gdy zmienne predykcyjne s\u0105 silnie skorelowane,<\/span> <a href=\"https:\/\/statorials.org\/pl\/regresja-wieloliniowa\/\" target=\"_blank\" rel=\"noopener noreferrer\">wsp\u00f3\u0142liniowo\u015b\u0107<\/a> <span style=\"color: #000000;\">mo\u017ce sta\u0107 si\u0119 problemem. Mo\u017ce to sprawi\u0107, \u017ce szacunki wsp\u00f3\u0142czynnik\u00f3w modelu b\u0119d\u0105 niewiarygodne i b\u0119d\u0105 wykazywa\u0107 du\u017c\u0105 wariancj\u0119.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Jednym ze sposob\u00f3w unikni\u0119cia tego problemu jest zastosowanie <a href=\"https:\/\/statorials.org\/pl\/regresja-g\u0142ownych-sk\u0142adnikow\/\" target=\"_blank\" rel=\"noopener noreferrer\">regresji g\u0142\u00f3wnych sk\u0142adowych<\/a> , kt\u00f3ra znajduje <em>M<\/em> kombinacji liniowych (zwanych \u201eg\u0142\u00f3wnymi sk\u0142adowymi\u201d) oryginalnych predyktor\u00f3w <em>p<\/em> , a nast\u0119pnie wykorzystuje metod\u0119 najmniejszych kwadrat\u00f3w do dopasowania modelu regresji liniowej, wykorzystuj\u0105c g\u0142\u00f3wne sk\u0142adowe jako predyktory.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ten samouczek zawiera przyk\u0142ad krok po kroku wykonywania regresji g\u0142\u00f3wnych sk\u0142adnik\u00f3w w j\u0119zyku Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Krok 1: Zaimportuj niezb\u0119dne pakiety<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\"><span style=\"color: #000000;\">Najpierw zaimportujemy pakiety potrzebne do przeprowadzenia regresji g\u0142\u00f3wnych sk\u0142adowych (PCR) w Pythonie:<\/span><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008000;\">import<\/span> numpy <span style=\"color: #008000;\">as<\/span> np\n<span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<span style=\"color: #008000;\">import<\/span> matplotlib. <span style=\"color: #3366ff;\">pyplot<\/span> <span style=\"color: #008000;\">as<\/span> plt\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">preprocessing<\/span> <span style=\"color: #008000;\">import<\/span> scale \n<span style=\"color: #008000;\">from<\/span> sklearn <span style=\"color: #008000;\">import<\/span> model_selection\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> RepeatedKFold\n<span style=\"color: #008000;\">from<\/span> sklearn.model_selection <span style=\"color: #008000;\">import<\/span> train_test_split\n<span style=\"color: #008000;\">from<\/span> sklearn. PCA <span style=\"color: #008000;\">import<\/span> <span style=\"color: #3366ff;\">decomposition<\/span>\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> LinearRegression\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">metrics<\/span> <span style=\"color: #008000;\">import<\/span> mean_squared_error\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Krok 2: Za\u0142aduj dane<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">W tym przyk\u0142adzie u\u017cyjemy zbioru danych o nazwie <strong>mtcars<\/strong> , kt\u00f3ry zawiera informacje o 33 r\u00f3\u017cnych samochodach. U\u017cyjemy <strong>hp<\/strong> jako zmiennej odpowiedzi i nast\u0119puj\u0105cych zmiennych jako predyktor\u00f3w:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg<\/span><\/li>\n<li> <span style=\"color: #000000;\">wy\u015bwietlacz<\/span><\/li>\n<li> <span style=\"color: #000000;\">g\u00f3wno<\/span><\/li>\n<li> <span style=\"color: #000000;\">waga<\/span><\/li>\n<li> <span style=\"color: #000000;\">sek<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\"><span style=\"color: #000000;\">Poni\u017cszy kod pokazuje, jak za\u0142adowa\u0107 i wy\u015bwietli\u0107 ten zestaw danych:<\/span><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define URL where data is located\n<\/span>url = \"https:\/\/raw.githubusercontent.com\/Statorials\/Python-Guides\/main\/mtcars.csv\"\n\n<span style=\"color: #008080;\">#read in data\n<\/span>data_full = pd. <span style=\"color: #3366ff;\">read_csv<\/span> (url)\n\n<span style=\"color: #008080;\">#select subset of data\n<\/span>data = data_full[[\"mpg\", \"disp\", \"drat\", \"wt\", \"qsec\", \"hp\"]]\n\n<span style=\"color: #008080;\">#view first six rows of data\n<\/span>data[0:6]\n\n\n        mpg disp drat wt qsec hp\n0 21.0 160.0 3.90 2.620 16.46 110\n1 21.0 160.0 3.90 2.875 17.02 110\n2 22.8 108.0 3.85 2.320 18.61 93\n3 21.4 258.0 3.08 3.215 19.44 110\n4 18.7 360.0 3.15 3.440 17.02 175\n5 18.1 225.0 2.76 3.460 20.22 105<\/strong><\/span><\/pre>\n<h3> <strong>Krok 3: Dostosuj model PCR<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Poni\u017cszy kod pokazuje, jak dopasowa\u0107 model PCR do tych danych. Zwr\u00f3\u0107 uwag\u0119 na nast\u0119puj\u0105ce kwestie:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>pca.fit_transform(scale(X))<\/strong> : Informuje Pythona, \u017ce ka\u017cda zmienna predykcyjna powinna zosta\u0107 przeskalowana tak, aby mia\u0142a \u015bredni\u0105 0 i odchylenie standardowe 1. Dzi\u0119ki temu \u017cadna zmienna predykcyjna nie b\u0119dzie mia\u0142a zbyt du\u017cego wp\u0142ywu na model, je\u015bli to si\u0119 dzieje. mierzy\u0107 w r\u00f3\u017cnych jednostkach.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>cv = RepeatedKFold()<\/strong> : M\u00f3wi Pythonowi, aby u\u017cy\u0142 <a href=\"https:\/\/statorials.org\/pl\/k-krotna-walidacja-krzyzowa\/\" target=\"_blank\" rel=\"noopener noreferrer\">k-krotnej walidacji krzy\u017cowej<\/a> do oceny wydajno\u015bci modelu. W tym przyk\u0142adzie wybieramy k = 10 fa\u0142d, powt\u00f3rzonych 3 razy.<\/span> <\/li>\n<\/ul>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = data[[\"mpg\", \"disp\", \"drat\", \"wt\", \"qsec\"]]\ny = data[[\"hp\"]]\n\n<span style=\"color: #008080;\">#scale predictor variables\n<\/span>pca = pca()\nX_reduced = pca. <span style=\"color: #3366ff;\">fit_transform<\/span> ( <span style=\"color: #3366ff;\">scale<\/span> (X))\n\n<span style=\"color: #008080;\">#define cross validation method\n<\/span>cv = RepeatedKFold(n_splits= <span style=\"color: #008000;\">10<\/span> , n_repeats= <span style=\"color: #008000;\">3<\/span> , random_state= <span style=\"color: #008000;\">1<\/span> )\n\nregr = LinearRegression()\nmse = []\n\n<span style=\"color: #008080;\"># Calculate MSE with only the intercept\n<\/span>score = -1*model_selection. <span style=\"color: #3366ff;\">cross_val_score<\/span> (regr,\n           n.p. <span style=\"color: #3366ff;\">ones<\/span> ((len(X_reduced),1)), y, cv=cv,\n           scoring=' <span style=\"color: #008000;\">neg_mean_squared_error<\/span> '). <span style=\"color: #3366ff;\">mean<\/span> ()    \nmse. <span style=\"color: #3366ff;\">append<\/span> (score)\n\n<span style=\"color: #008080;\"># Calculate MSE using cross-validation, adding one component at a time\n<\/span><span style=\"color: #008000;\">for<\/span> i <span style=\"color: #008000;\">in<\/span> np. <span style=\"color: #3366ff;\">arange<\/span> (1, 6):\n    score = -1*model_selection. <span style=\"color: #3366ff;\">cross_val_score<\/span> (regr,\n               X_reduced[:,:i], y, cv=cv, scoring=' <span style=\"color: #008000;\">neg_mean_squared_error<\/span> '). <span style=\"color: #3366ff;\">mean<\/span> ()\n    mse. <span style=\"color: #3366ff;\">append<\/span> (score)\n    \n<span style=\"color: #008080;\"># Plot cross-validation results    \n<\/span>plt. <span style=\"color: #3366ff;\">plot<\/span> (mse)\nplt. <span style=\"color: #3366ff;\">xlabel<\/span> ('Number of Principal Components')\nplt. <span style=\"color: #3366ff;\">ylabel<\/span> ('MSE')\nplt. <span style=\"color: #3366ff;\">title<\/span> ('hp')<\/strong><\/span> <\/pre>\n<h3><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11950 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/pcrpython1.png\" alt=\"Regresja g\u0142\u00f3wnych komponent\u00f3w w Pythonie\" width=\"424\" height=\"285\" srcset=\"\" sizes=\"auto, \"><\/h3>\n<p> <span style=\"color: #000000;\">Wykres przedstawia liczb\u0119 g\u0142\u00f3wnych sk\u0142adnik\u00f3w wzd\u0142u\u017c osi x oraz test MSE (\u015bredni b\u0142\u0105d kwadratowy) wzd\u0142u\u017c osi y.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Z wykresu widzimy, \u017ce MSE testu maleje po dodaniu dw\u00f3ch g\u0142\u00f3wnych sk\u0142adnik\u00f3w, ale zaczyna rosn\u0105\u0107 po dodaniu wi\u0119cej ni\u017c dw\u00f3ch g\u0142\u00f3wnych sk\u0142adnik\u00f3w.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Zatem optymalny model obejmuje tylko dwa pierwsze g\u0142\u00f3wne elementy.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Mo\u017cemy r\u00f3wnie\u017c u\u017cy\u0107 poni\u017cszego kodu, aby obliczy\u0107 procent wariancji zmiennej odpowiedzi wyja\u015bnionej poprzez dodanie ka\u017cdego g\u0142\u00f3wnego sk\u0142adnika do modelu:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong>n.p. <span style=\"color: #3366ff;\">cumsum<\/span> (np. <span style=\"color: #3366ff;\">round<\/span> (pca. <span style=\"color: #3366ff;\">explained_variance_ratio_<\/span> , decimals= <span style=\"color: #008000;\">4<\/span> )* <span style=\"color: #008000;\">100<\/span> )\n\narray([69.83, 89.35, 95.88, 98.95, 99.99])\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Mo\u017cemy zobaczy\u0107 co nast\u0119puje:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">U\u017cywaj\u0105c tylko pierwszego sk\u0142adnika g\u0142\u00f3wnego, mo\u017cemy wyja\u015bni\u0107 <strong>69,83%<\/strong> zmienno\u015bci zmiennej odpowiedzi.<\/span><\/li>\n<li> <span style=\"color: #000000;\">Dodaj\u0105c drugi g\u0142\u00f3wny sk\u0142adnik, mo\u017cemy wyja\u015bni\u0107 <strong>89,35%<\/strong> zmienno\u015bci zmiennej odpowiedzi.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Nale\u017cy zauwa\u017cy\u0107, \u017ce nadal b\u0119dziemy w stanie wyja\u015bni\u0107 wi\u0119ksz\u0105 wariancj\u0119, u\u017cywaj\u0105c wi\u0119kszej liczby g\u0142\u00f3wnych sk\u0142adnik\u00f3w, ale widzimy, \u017ce dodanie wi\u0119cej ni\u017c dw\u00f3ch g\u0142\u00f3wnych sk\u0142adnik\u00f3w w rzeczywisto\u015bci nie zwi\u0119ksza znacz\u0105co procentu wyja\u015bnionej wariancji.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Krok 4: U\u017cyj ostatecznego modelu do przewidywania<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Mo\u017cemy wykorzysta\u0107 ostateczny dwug\u0142\u00f3wny model PCR do przewidywania nowych obserwacji.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Poni\u017cszy kod pokazuje, jak podzieli\u0107 oryginalny zbi\u00f3r danych na zbi\u00f3r ucz\u0105cy i testowy oraz u\u017cy\u0107 modelu PCR z dwoma g\u0142\u00f3wnymi sk\u0142adnikami do przewidywania zbioru testowego.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#split the dataset into training (70%) and testing (30%) sets\n<\/span>X_train,X_test,y_train,y_test = <span style=\"color: #3366ff;\">train_test_split<\/span> (X,y,test_size= <span style=\"color: #008000;\">0.3<\/span> , random_state= <span style=\"color: #008000;\">0<\/span> ) \n\n<span style=\"color: #008080;\">#scale the training and testing data\n<\/span>X_reduced_train = pca. <span style=\"color: #3366ff;\">fit_transform<\/span> ( <span style=\"color: #3366ff;\">scale<\/span> (X_train))\nX_reduced_test = pca. <span style=\"color: #3366ff;\">transform<\/span> ( <span style=\"color: #3366ff;\">scale<\/span> (X_test))[:,:1]\n\n<span style=\"color: #008080;\">#train PCR model on training data \n<\/span>regr = LinearRegression()\nreg. <span style=\"color: #3366ff;\">fit<\/span> (X_reduced_train[:,:1], y_train)\n\n<span style=\"color: #008080;\">#calculate RMSE\n<\/span>pred = regr. <span style=\"color: #3366ff;\">predict<\/span> (X_reduced_test)\nn.p. <span style=\"color: #3366ff;\">sqrt<\/span> ( <span style=\"color: #3366ff;\">mean_squared_error<\/span> (y_test, pred))\n\n40.2096\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Widzimy, \u017ce test RMSE okazuje si\u0119 wynosi\u0107 <strong>40,2096<\/strong> . Jest to \u015brednie odchylenie pomi\u0119dzy przewidywan\u0105 warto\u015bci\u0105 <em>KM<\/em> a obserwowan\u0105 warto\u015bci\u0105 <em>KM<\/em> dla obserwacji zestawu testowego.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Pe\u0142ny kod Pythona u\u017cyty w tym przyk\u0142adzie mo\u017cna znale\u017a\u0107 <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/principal_components_regression.py\" target=\"_blank\" rel=\"noopener noreferrer\">tutaj<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bior\u0105c pod uwag\u0119 zbi\u00f3r p zmiennych predykcyjnych i zmienn\u0105 odpowiedzi, wielokrotna regresja liniowa wykorzystuje metod\u0119 znan\u0105 jako metoda najmniejszych kwadrat\u00f3w, aby zminimalizowa\u0107 resztow\u0105 sum\u0119 kwadrat\u00f3w (RSS): RSS = \u03a3(y i \u2013 \u0177 i ) 2 Z\u0142oto: \u03a3 : Grecki symbol oznaczaj\u0105cy sum\u0119 y i : rzeczywista warto\u015b\u0107 odpowiedzi dla i-tej obserwacji \u0177 i : Przewidywana [&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-1204","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>Regresja g\u0142\u00f3wnych komponent\u00f3w w Pythonie (krok po kroku)<\/title>\n<meta name=\"description\" content=\"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 regresj\u0119 g\u0142\u00f3wnych sk\u0142adnik\u00f3w w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem 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\/regresja-glownych-skladnikow-w-pythonie\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Regresja g\u0142\u00f3wnych komponent\u00f3w w Pythonie (krok po kroku)\" \/>\n<meta property=\"og:description\" content=\"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 regresj\u0119 g\u0142\u00f3wnych sk\u0142adnik\u00f3w w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T07:20:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/pcrpython1.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=\"5 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/\",\"url\":\"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/\",\"name\":\"Regresja g\u0142\u00f3wnych komponent\u00f3w w Pythonie (krok po kroku)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pl\/#website\"},\"datePublished\":\"2023-07-27T07:20:18+00:00\",\"dateModified\":\"2023-07-27T07:20:18+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965\"},\"description\":\"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 regresj\u0119 g\u0142\u00f3wnych sk\u0142adnik\u00f3w w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\",\"item\":\"https:\/\/statorials.org\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Regresja g\u0142\u00f3wnych komponent\u00f3w 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":"Regresja g\u0142\u00f3wnych komponent\u00f3w w Pythonie (krok po kroku)","description":"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 regresj\u0119 g\u0142\u00f3wnych sk\u0142adnik\u00f3w w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem 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\/regresja-glownych-skladnikow-w-pythonie\/","og_locale":"pl_PL","og_type":"article","og_title":"Regresja g\u0142\u00f3wnych komponent\u00f3w w Pythonie (krok po kroku)","og_description":"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 regresj\u0119 g\u0142\u00f3wnych sk\u0142adnik\u00f3w w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.","og_url":"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/","og_site_name":"Statorials","article_published_time":"2023-07-27T07:20:18+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/pcrpython1.png"}],"author":"Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Benjamin Anderson","Szacowany czas czytania":"5 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/","url":"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/","name":"Regresja g\u0142\u00f3wnych komponent\u00f3w w Pythonie (krok po kroku)","isPartOf":{"@id":"https:\/\/statorials.org\/pl\/#website"},"datePublished":"2023-07-27T07:20:18+00:00","dateModified":"2023-07-27T07:20:18+00:00","author":{"@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965"},"description":"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 regresj\u0119 g\u0142\u00f3wnych sk\u0142adnik\u00f3w w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.","breadcrumb":{"@id":"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pl\/regresja-glownych-skladnikow-w-pythonie\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom","item":"https:\/\/statorials.org\/pl\/"},{"@type":"ListItem","position":2,"name":"Regresja g\u0142\u00f3wnych komponent\u00f3w 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\/1204","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=1204"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts\/1204\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/media?parent=1204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/categories?post=1204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/tags?post=1204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}