{"id":2168,"date":"2023-07-23T10:04:03","date_gmt":"2023-07-23T10:04:03","guid":{"rendered":"https:\/\/statorials.org\/pl\/auc-w-pythonie\/"},"modified":"2023-07-23T10:04:03","modified_gmt":"2023-07-23T10:04:03","slug":"auc-w-pythonie","status":"publish","type":"post","link":"https:\/\/statorials.org\/pl\/auc-w-pythonie\/","title":{"rendered":"Jak obliczy\u0107 auc (obszar pod krzyw\u0105) w pythonie"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/pl\/regresja-logistyczna-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regresja logistyczna<\/a> to metoda statystyczna, kt\u00f3rej u\u017cywamy do dopasowania modelu regresji, gdy zmienna odpowiedzi jest binarna.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Aby oceni\u0107, jak dobrze model regresji logistycznej pasuje do zbioru danych, mo\u017cemy przyjrze\u0107 si\u0119 nast\u0119puj\u0105cym dw\u00f3m metrykom:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>Czu\u0142o\u015b\u0107:<\/strong> prawdopodobie\u0144stwo, \u017ce model przewiduje pozytywny wynik obserwacji, gdy wynik jest rzeczywi\u015bcie pozytywny. Nazywa si\u0119 to r\u00f3wnie\u017c \u201eprawdziwie dodatni\u0105 stop\u0105 procentow\u0105\u201d.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Specyficzno\u015b\u0107:<\/strong> prawdopodobie\u0144stwo, \u017ce model przewiduje negatywny wynik obserwacji, gdy wynik jest faktycznie negatywny. Nazywa si\u0119 to r\u00f3wnie\u017c \u201eprawdziwie ujemn\u0105 stop\u0105\u201d.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Jednym ze sposob\u00f3w wizualizacji tych dw\u00f3ch pomiar\u00f3w jest utworzenie <strong>krzywej ROC<\/strong> , kt\u00f3ra oznacza krzyw\u0105 \u201echarakterystyki dzia\u0142ania odbiornika\u201d.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Jest to wykres przedstawiaj\u0105cy czu\u0142o\u015b\u0107 wzd\u0142u\u017c osi y i (1 \u2013 swoisto\u015b\u0107) wzd\u0142u\u017c osi x.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Jednym ze sposob\u00f3w ilo\u015bciowego okre\u015blenia skuteczno\u015bci modelu regresji logistycznej w klasyfikacji danych jest obliczenie <strong>AUC<\/strong> , co oznacza \u201eobszar pod krzyw\u0105\u201d.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Im AUC jest bli\u017csze 1, tym lepszy model.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Poni\u017cszy przyk\u0142ad pokazuje krok po kroku, jak obliczy\u0107 AUC dla modelu regresji logistycznej w Pythonie.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Krok 1: Importuj pakiety<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Najpierw zaimportujemy niezb\u0119dne pakiety, aby wykona\u0107 regresj\u0119 logistyczn\u0105 w Pythonie:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #107d3f;\">import<\/span> pandas <span style=\"color: #107d3f;\">as<\/span> pd\n<span style=\"color: #008000;\">import<\/span> numpy <span style=\"color: #008000;\">as<\/span> np\n<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;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> LogisticRegression\n<span style=\"color: #008000;\">from<\/span> sklearn <span style=\"color: #008000;\">import<\/span> metrics\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Krok 2: Dopasuj model regresji logistycznej<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Nast\u0119pnie zaimportujemy zbi\u00f3r danych i dopasujemy do niego model regresji logistycznej:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#import dataset from CSV file on Github\n<\/span>url = \"https:\/\/raw.githubusercontent.com\/Statorials\/Python-Guides\/main\/default.csv\"\ndata = pd. <span style=\"color: #3366ff;\">read_csv<\/span> (url)\n\n<span style=\"color: #008080;\">#define the predictor variables and the response variable\n<\/span>X = data[[' <span style=\"color: #ff0000;\">student<\/span> ',' <span style=\"color: #ff0000;\">balance<\/span> ',' <span style=\"color: #ff0000;\">income<\/span> ']]\ny = data[' <span style=\"color: #ff0000;\">default<\/span> ']\n\n<span style=\"color: #008080;\">#split the dataset into training (70%) and testing (30%) sets\n<\/span>X_train,X_test,y_train,y_test = train_test_split(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;\">#instantiate the model\n<\/span>log_regression = LogisticRegression()\n\n<span style=\"color: #008080;\">#fit the model using the training data\n<\/span>log_regression. <span style=\"color: #3366ff;\">fit<\/span> (X_train,y_train)<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Krok 3: Oblicz AUC<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Mo\u017cemy u\u017cy\u0107 funkcji <strong>metrics.roc_auc_score()<\/strong> do obliczenia AUC modelu:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#use model to predict probability that given y value is 1\n<\/span>y_pred_proba = log_regression. <span style=\"color: #3366ff;\">predict_proba<\/span> (X_test)[::, <span style=\"color: #008000;\">1<\/span> ]\n\n<span style=\"color: #008080;\">#calculate AUC of model\n<\/span>auc = metrics. <span style=\"color: #3366ff;\">roc_auc_score<\/span> (y_test, y_pred_proba)\n\n<span style=\"color: #008080;\">#print AUC score\n<\/span><span style=\"color: #008000;\">print<\/span> (auc)\n\n0.5602104030579559\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">AUC (obszar pod krzyw\u0105) dla tego konkretnego modelu wynosi <strong>0,5602<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Przypomnijmy, \u017ce model z wynikiem AUC wynosz\u0105cym <strong>0,5<\/strong> nie jest lepszy od modelu, kt\u00f3ry dokonuje losowych domys\u0142\u00f3w.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Zatem w wi\u0119kszo\u015bci przypadk\u00f3w model z wynikiem AUC wynosz\u0105cym <strong>0,5602<\/strong> zostanie uznany za s\u0142abo radz\u0105cy sobie z klasyfikacj\u0105 obserwacji do w\u0142a\u015bciwych klas.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Dodatkowe zasoby<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Poni\u017csze samouczki dostarczaj\u0105 dodatkowych informacji na temat krzywych ROC i wynik\u00f3w AUC:<\/span><\/p>\n<p><a href=\"https:\/\/statorials.org\/pl\/zinterpretowac-krzywizne-ska\u0142y\/\" target=\"_blank\" rel=\"noopener\">Jak interpretowa\u0107 krzyw\u0105 ROC (z przyk\u0142adami)<\/a><br \/> <a href=\"https:\/\/statorials.org\/pl\" target=\"_blank\" rel=\"noopener\">Co uwa\u017ca si\u0119 za dobry wynik AUC?<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regresja logistyczna to metoda statystyczna, kt\u00f3rej u\u017cywamy do dopasowania modelu regresji, gdy zmienna odpowiedzi jest binarna. Aby oceni\u0107, jak dobrze model regresji logistycznej pasuje do zbioru danych, mo\u017cemy przyjrze\u0107 si\u0119 nast\u0119puj\u0105cym dw\u00f3m metrykom: Czu\u0142o\u015b\u0107: prawdopodobie\u0144stwo, \u017ce model przewiduje pozytywny wynik obserwacji, gdy wynik jest rzeczywi\u015bcie pozytywny. Nazywa si\u0119 to r\u00f3wnie\u017c \u201eprawdziwie dodatni\u0105 stop\u0105 procentow\u0105\u201d. Specyficzno\u015b\u0107: [&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-2168","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 obliczy\u0107 AUC (obszar pod krzyw\u0105) w Pythonie - Statologia<\/title>\n<meta name=\"description\" content=\"W tym samouczku wyja\u015bniono, jak obliczy\u0107 AUC (obszar pod krzyw\u0105) dla modelu regresji logistycznej w j\u0119zyku R, \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\/auc-w-pythonie\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak obliczy\u0107 AUC (obszar pod krzyw\u0105) w Pythonie - Statologia\" \/>\n<meta property=\"og:description\" content=\"W tym samouczku wyja\u015bniono, jak obliczy\u0107 AUC (obszar pod krzyw\u0105) dla modelu regresji logistycznej w j\u0119zyku R, \u0142\u0105cznie z przyk\u0142adem krok po kroku.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pl\/auc-w-pythonie\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-23T10:04:03+00:00\" \/>\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=\"2 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pl\/auc-w-pythonie\/\",\"url\":\"https:\/\/statorials.org\/pl\/auc-w-pythonie\/\",\"name\":\"Jak obliczy\u0107 AUC (obszar pod krzyw\u0105) w Pythonie - Statologia\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pl\/#website\"},\"datePublished\":\"2023-07-23T10:04:03+00:00\",\"dateModified\":\"2023-07-23T10:04:03+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965\"},\"description\":\"W tym samouczku wyja\u015bniono, jak obliczy\u0107 AUC (obszar pod krzyw\u0105) dla modelu regresji logistycznej w j\u0119zyku R, \u0142\u0105cznie z przyk\u0142adem krok po kroku.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pl\/auc-w-pythonie\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pl\/auc-w-pythonie\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pl\/auc-w-pythonie\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\",\"item\":\"https:\/\/statorials.org\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak obliczy\u0107 auc (obszar pod krzyw\u0105) w pythonie\"}]},{\"@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 obliczy\u0107 AUC (obszar pod krzyw\u0105) w Pythonie - Statologia","description":"W tym samouczku wyja\u015bniono, jak obliczy\u0107 AUC (obszar pod krzyw\u0105) dla modelu regresji logistycznej w j\u0119zyku R, \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\/auc-w-pythonie\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak obliczy\u0107 AUC (obszar pod krzyw\u0105) w Pythonie - Statologia","og_description":"W tym samouczku wyja\u015bniono, jak obliczy\u0107 AUC (obszar pod krzyw\u0105) dla modelu regresji logistycznej w j\u0119zyku R, \u0142\u0105cznie z przyk\u0142adem krok po kroku.","og_url":"https:\/\/statorials.org\/pl\/auc-w-pythonie\/","og_site_name":"Statorials","article_published_time":"2023-07-23T10:04:03+00:00","author":"Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Benjamin Anderson","Szacowany czas czytania":"2 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pl\/auc-w-pythonie\/","url":"https:\/\/statorials.org\/pl\/auc-w-pythonie\/","name":"Jak obliczy\u0107 AUC (obszar pod krzyw\u0105) w Pythonie - Statologia","isPartOf":{"@id":"https:\/\/statorials.org\/pl\/#website"},"datePublished":"2023-07-23T10:04:03+00:00","dateModified":"2023-07-23T10:04:03+00:00","author":{"@id":"https:\/\/statorials.org\/pl\/#\/schema\/person\/6484727a4612df3e69f016c3129c6965"},"description":"W tym samouczku wyja\u015bniono, jak obliczy\u0107 AUC (obszar pod krzyw\u0105) dla modelu regresji logistycznej w j\u0119zyku R, \u0142\u0105cznie z przyk\u0142adem krok po kroku.","breadcrumb":{"@id":"https:\/\/statorials.org\/pl\/auc-w-pythonie\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pl\/auc-w-pythonie\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pl\/auc-w-pythonie\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom","item":"https:\/\/statorials.org\/pl\/"},{"@type":"ListItem","position":2,"name":"Jak obliczy\u0107 auc (obszar pod krzyw\u0105) w pythonie"}]},{"@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\/2168","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=2168"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/posts\/2168\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/media?parent=2168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/categories?post=2168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pl\/wp-json\/wp\/v2\/tags?post=2168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}