{"id":1163,"date":"2023-07-27T10:43:39","date_gmt":"2023-07-27T10:43:39","guid":{"rendered":"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/"},"modified":"2023-07-27T10:43:39","modified_gmt":"2023-07-27T10:43:39","slug":"liniowa-analiza-dyskryminacyjna-w-pythonie","status":"publish","type":"post","link":"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/","title":{"rendered":"Liniowa analiza dyskryminacyjna w pythonie (krok po kroku)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna\/\" target=\"_blank\" rel=\"noopener noreferrer\">Liniowa analiza dyskryminacyjna<\/a> to metoda, kt\u00f3rej mo\u017cna u\u017cy\u0107, gdy masz zestaw zmiennych predykcyjnych i chcesz sklasyfikowa\u0107 <a href=\"https:\/\/statorials.org\/pl\/zmienne-odpowiedzi-wyjasniajace\/\" target=\"_blank\" rel=\"noopener noreferrer\">zmienn\u0105 odpowiedzi<\/a> na dwie lub wi\u0119cej klas.<\/span><\/p>\n<p> <span style=\"color: #000000;\">W tym samouczku przedstawiono krok po kroku przyk\u0142ad przeprowadzania liniowej analizy dyskryminacyjnej w j\u0119zyku Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Krok 1: Za\u0142aduj niezb\u0119dne biblioteki<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Najpierw za\u0142adujemy funkcje i biblioteki potrzebne w tym przyk\u0142adzie:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><b><span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> train_test_split\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> RepeatedStratifiedKFold\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> cross_val_score\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">discriminant_analysis<\/span> <span style=\"color: #008000;\">import<\/span> LinearDiscriminantAnalysis \n<span style=\"color: #008000;\">from<\/span> sklearn <span style=\"color: #008000;\">import<\/span> datasets\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;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<span style=\"color: #008000;\">import<\/span> numpy <span style=\"color: #008000;\">as<\/span> np<\/b><\/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 zestawu danych <strong>iris<\/strong> z biblioteki sklearn. Poni\u017cszy kod pokazuje, jak za\u0142adowa\u0107 ten zestaw danych i przekonwertowa\u0107 go na ramk\u0119 DataFrame pandy, aby u\u0142atwi\u0107 u\u017cytkowanie:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>iris<\/em> dataset<\/span>\niris = datasets. <span style=\"color: #3366ff;\">load_iris<\/span> ()\n\n<span style=\"color: #008080;\">#convert dataset to pandas DataFrame\n<\/span>df = pd.DataFrame(data = np.c_[iris[' <span style=\"color: #008000;\">data<\/span> '], iris[' <span style=\"color: #008000;\">target<\/span> ']],\n                 columns = iris[' <span style=\"color: #008000;\">feature_names<\/span> '] + [' <span style=\"color: #008000;\">target<\/span> '])\ndf[' <span style=\"color: #008000;\">species<\/span> '] = pd. <span style=\"color: #3366ff;\">Categorical<\/span> . <span style=\"color: #3366ff;\">from_codes<\/span> (iris.target, iris.target_names)\ndf.columns = [' <span style=\"color: #008000;\">s_length<\/span> ', ' <span style=\"color: #008000;\">s_width<\/span> ', ' <span style=\"color: #008000;\">p_length<\/span> ', ' <span style=\"color: #008000;\">p_width<\/span> ', ' <span style=\"color: #008000;\">target<\/span> ', ' <span style=\"color: #008000;\">species<\/span> ']\n\n<span style=\"color: #008080;\">#view first six rows of DataFrame\n<\/span>df. <span style=\"color: #3366ff;\">head<\/span> ()\n\n   s_length s_width p_length p_width target species\n0 5.1 3.5 1.4 0.2 0.0 setosa\n1 4.9 3.0 1.4 0.2 0.0 setosa\n2 4.7 3.2 1.3 0.2 0.0 setosa\n3 4.6 3.1 1.5 0.2 0.0 setosa\n4 5.0 3.6 1.4 0.2 0.0 setosa\n\n<span style=\"color: #3366ff;\"><span style=\"color: #008080;\">#find how many total observations are in dataset<\/span>\n<span style=\"color: #000000;\">len( <span style=\"color: #3366ff;\">df.index<\/span> )\n\n150<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Widzimy, \u017ce zbi\u00f3r danych zawiera w sumie 150 obserwacji.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Na potrzeby tego przyk\u0142adu zbudujemy liniowy model analizy dyskryminacyjnej, aby sklasyfikowa\u0107, do jakiego gatunku nale\u017cy dany kwiat.<\/span><\/p>\n<p> <span style=\"color: #000000;\">W modelu wykorzystamy nast\u0119puj\u0105ce zmienne predykcyjne:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">D\u0142ugo\u015b\u0107 dzia\u0142ki<\/span><\/li>\n<li> <span style=\"color: #000000;\">Szeroko\u015b\u0107 dzia\u0142ki<\/span><\/li>\n<li> <span style=\"color: #000000;\">D\u0142ugo\u015b\u0107 p\u0142atka<\/span><\/li>\n<li> <span style=\"color: #000000;\">Szeroko\u015b\u0107 p\u0142atka<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Wykorzystamy je do przewidzenia zmiennej odpowiedzi <em>Gatunek<\/em> , kt\u00f3ra obs\u0142uguje nast\u0119puj\u0105ce trzy potencjalne klasy:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">setosa<\/span><\/li>\n<li> <span style=\"color: #000000;\">wielokolorowy<\/span><\/li>\n<li> <span style=\"color: #000000;\">Wirginia<\/span><\/li>\n<\/ul>\n<h3> <span style=\"color: #000000;\"><strong>Krok 3: Dostosuj model LDA<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Nast\u0119pnie dopasujemy model LDA do naszych danych za pomoc\u0105 funkcji <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html\" target=\"_blank\" rel=\"noopener noreferrer\">LinearDiscriminantAnalsys<\/a> sklearna:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = df[[' <span style=\"color: #008000;\">s_length<\/span> ',' <span style=\"color: #008000;\">s_width<\/span> ',' <span style=\"color: #008000;\">p_length<\/span> ',' <span style=\"color: #008000;\">p_width<\/span> ']]\ny = df[' <span style=\"color: #008000;\">species<\/span> ']\n\n<span style=\"color: #008080;\">#Fit the LDA model\n<\/span>model = LinearDiscriminantAnalysis()\nmodel. <span style=\"color: #3366ff;\">fit<\/span> (x,y)\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Krok 4: U\u017cyj modelu do przewidywania<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Po dopasowaniu modelu przy u\u017cyciu naszych danych mo\u017cemy oceni\u0107 jego skuteczno\u015b\u0107, stosuj\u0105c wielokrotn\u0105 warstwow\u0105 k-krotn\u0105 walidacj\u0119 krzy\u017cow\u0105.<\/span><\/p>\n<p> <span style=\"color: #000000;\">W tym przyk\u0142adzie u\u017cyjemy 10 fa\u0142d i 3 powt\u00f3rze\u0144:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#Define method to evaluate model\n<span style=\"color: #000000;\">cv = RepeatedStratifiedKFold(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<\/span>\n#evaluate model\n<span style=\"color: #000000;\">scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">accuracy<\/span> ', cv=cv, n_jobs=-1)\nprint( <span style=\"color: #3366ff;\">np.mean<\/span> (scores))<\/span>  \n\n<span style=\"color: #000000;\">0.9777777777777779<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Widzimy, \u017ce model osi\u0105gn\u0105\u0142 \u015bredni\u0105 dok\u0142adno\u015b\u0107 na poziomie <strong>97,78%<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Mo\u017cemy r\u00f3wnie\u017c u\u017cy\u0107 modelu, aby przewidzie\u0107, do kt\u00f3rej klasy nale\u017cy nowy kwiat, na podstawie warto\u015bci wej\u015bciowych:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define new observation\n<\/span>new = [5, 3, 1, .4]\n\n<span style=\"color: #008080;\">#predict which class the new observation belongs to\n<\/span>model. <span style=\"color: #3366ff;\">predict<\/span> ([new])\n\narray(['setosa'], dtype='&lt;U10')\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Widzimy, \u017ce model przewiduje, \u017ce ta nowa obserwacja nale\u017cy do gatunku zwanego <em>setosa<\/em> .<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Krok 5: Wizualizuj wyniki<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Na koniec mo\u017cemy utworzy\u0107 wykres LDA, aby zwizualizowa\u0107 liniowe wyr\u00f3\u017cniki modelu i zwizualizowa\u0107, jak dobrze oddziela on trzy r\u00f3\u017cne gatunki w naszym zbiorze danych:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define data to plot\n<\/span>X = iris.data\ny = iris.target\nmodel = LinearDiscriminantAnalysis()\ndata_plot = model. <span style=\"color: #3366ff;\">fit<\/span> (x,y). <span style=\"color: #3366ff;\">transform<\/span> (X)\ntarget_names = iris. <span style=\"color: #3366ff;\">target_names<\/span>\n\n<span style=\"color: #008080;\">#create LDA plot\n<\/span>plt. <span style=\"color: #3366ff;\">figure<\/span> ()\ncolors = [' <span style=\"color: #008000;\">red<\/span> ', ' <span style=\"color: #008000;\">green<\/span> ', ' <span style=\"color: #008000;\">blue<\/span> ']\nlw = 2\n<span style=\"color: #008000;\">for<\/span> color, i, target_name <span style=\"color: #008000;\">in<\/span> zip(colors, [0, 1, 2], target_names):\n    plt. <span style=\"color: #3366ff;\">scatter<\/span> (data_plot[y == i, 0], data_plot[y == i, 1], alpha=.8, color=color,\n                label=target_name)\n\n<span style=\"color: #008080;\">#add legend to plot\n<\/span>plt. <span style=\"color: #3366ff;\">legend<\/span> (loc=' <span style=\"color: #008000;\">best<\/span> ', shadow= <span style=\"color: #008000;\">False<\/span> , scatterpoints=1)\n\n<span style=\"color: #008080;\">#display LDA plot\n<\/span>plt. <span style=\"color: #3366ff;\">show<\/span> ()\n<\/strong><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11651 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/ldapython1.png\" alt=\"liniowa analiza dyskryminacyjna w Pythonie\" width=\"416\" height=\"281\" srcset=\"\" sizes=\"auto, \"><\/p>\n<p> <span style=\"color: #000000;\">Pe\u0142ny kod Pythona u\u017cyty w tym samouczku znajdziesz <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/linear_discriminant_analysis\" target=\"_blank\" rel=\"noopener noreferrer\">tutaj<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Liniowa analiza dyskryminacyjna to metoda, kt\u00f3rej mo\u017cna u\u017cy\u0107, gdy masz zestaw zmiennych predykcyjnych i chcesz sklasyfikowa\u0107 zmienn\u0105 odpowiedzi na dwie lub wi\u0119cej klas. W tym samouczku przedstawiono krok po kroku przyk\u0142ad przeprowadzania liniowej analizy dyskryminacyjnej w j\u0119zyku Python. Krok 1: Za\u0142aduj niezb\u0119dne biblioteki Najpierw za\u0142adujemy funkcje i biblioteki potrzebne w tym przyk\u0142adzie: from sklearn. model_selection [&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-1163","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>Liniowa analiza dyskryminacyjna w Pythonie (krok po kroku)<\/title>\n<meta name=\"description\" content=\"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 liniow\u0105 analiz\u0119 dyskryminacyjn\u0105 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\/liniowa-analiza-dyskryminacyjna-w-pythonie\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Liniowa analiza dyskryminacyjna w Pythonie (krok po kroku)\" \/>\n<meta property=\"og:description\" content=\"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 liniow\u0105 analiz\u0119 dyskryminacyjn\u0105 w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T10:43:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/ldapython1.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=\"3 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/\",\"url\":\"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/\",\"name\":\"Liniowa analiza dyskryminacyjna w Pythonie (krok po kroku)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pl\/#website\"},\"datePublished\":\"2023-07-27T10:43:39+00:00\",\"dateModified\":\"2023-07-27T10:43:39+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965\"},\"description\":\"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 liniow\u0105 analiz\u0119 dyskryminacyjn\u0105 w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\",\"item\":\"https:\/\/statorials.org\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Liniowa analiza dyskryminacyjna 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":"Liniowa analiza dyskryminacyjna w Pythonie (krok po kroku)","description":"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 liniow\u0105 analiz\u0119 dyskryminacyjn\u0105 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\/liniowa-analiza-dyskryminacyjna-w-pythonie\/","og_locale":"pl_PL","og_type":"article","og_title":"Liniowa analiza dyskryminacyjna w Pythonie (krok po kroku)","og_description":"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 liniow\u0105 analiz\u0119 dyskryminacyjn\u0105 w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.","og_url":"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/","og_site_name":"Statorials","article_published_time":"2023-07-27T10:43:39+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/ldapython1.png"}],"author":"Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Benjamin Anderson","Szacowany czas czytania":"3 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/","url":"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/","name":"Liniowa analiza dyskryminacyjna w Pythonie (krok po kroku)","isPartOf":{"@id":"https:\/\/statorials.org\/pl\/#website"},"datePublished":"2023-07-27T10:43:39+00:00","dateModified":"2023-07-27T10:43:39+00:00","author":{"@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965"},"description":"W tym samouczku wyja\u015bniono, jak przeprowadzi\u0107 liniow\u0105 analiz\u0119 dyskryminacyjn\u0105 w j\u0119zyku Python, \u0142\u0105cznie z przyk\u0142adem krok po kroku.","breadcrumb":{"@id":"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pl\/liniowa-analiza-dyskryminacyjna-w-pythonie\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom","item":"https:\/\/statorials.org\/pl\/"},{"@type":"ListItem","position":2,"name":"Liniowa analiza dyskryminacyjna 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\/1163","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=1163"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts\/1163\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/media?parent=1163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/categories?post=1163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/tags?post=1163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}