{"id":1168,"date":"2023-07-27T10:29:04","date_gmt":"2023-07-27T10:29:04","guid":{"rendered":"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/"},"modified":"2023-07-27T10:29:04","modified_gmt":"2023-07-27T10:29:04","slug":"kwadratische-discriminantanalyse-in-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/","title":{"rendered":"Kwadratische discriminantanalyse in python (stap voor stap)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse\/\" target=\"_blank\" rel=\"noopener noreferrer\">Kwadratische discriminantanalyse<\/a> is een methode die u kunt gebruiken als u over een reeks voorspellende variabelen beschikt en u een <a href=\"https:\/\/statorials.org\/nl\/variabelen-verklarende-reacties\/\" target=\"_blank\" rel=\"noopener noreferrer\">responsvariabele<\/a> in twee of meer klassen wilt indelen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Het wordt beschouwd als het niet-lineaire equivalent van <a href=\"https:\/\/statorials.org\/nl\/lineaire-discriminantanalyse-in-python\/\" target=\"_blank\" rel=\"noopener noreferrer\">lineaire discriminantanalyse<\/a> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Deze tutorial biedt een stapsgewijs voorbeeld van het uitvoeren van kwadratische discriminantanalyse in Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Stap 1: Laad de benodigde bibliotheken<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Eerst laden we de functies en bibliotheken die nodig zijn voor dit voorbeeld:<\/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> QuadraticDiscriminantAnalysis \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>Stap 2: Gegevens laden<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Voor dit voorbeeld gebruiken we de <strong>irisgegevensset<\/strong> uit de sklearn-bibliotheek. De volgende code laat zien hoe u deze gegevensset laadt en converteert naar een Panda DataFrame voor gebruiksgemak:<\/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(df.index)\n\n150<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">We kunnen zien dat de dataset in totaal 150 waarnemingen bevat.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Voor dit voorbeeld zullen we een kwadratisch discriminantanalysemodel bouwen om de soort te classificeren waartoe een bepaalde bloem behoort.<\/span><\/p>\n<p> <span style=\"color: #000000;\">We zullen de volgende voorspellende variabelen in het model gebruiken:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Lengte van het kelkblad<\/span><\/li>\n<li> <span style=\"color: #000000;\">Kelkblad breedte<\/span><\/li>\n<li> <span style=\"color: #000000;\">Bloemblaadje lengte<\/span><\/li>\n<li> <span style=\"color: #000000;\">Bloemblaadje breedte<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">En we zullen ze gebruiken om de responsvariabele <em>Species<\/em> te voorspellen, die de volgende drie potenti\u00eble klassen ondersteunt:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">setosa<\/span><\/li>\n<li> <span style=\"color: #000000;\">veelkleurig<\/span><\/li>\n<li> <span style=\"color: #000000;\">Virginia<\/span><\/li>\n<\/ul>\n<h3> <span style=\"color: #000000;\"><strong>Stap 3: Pas het QDA-model aan<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Vervolgens passen we het QDA-model aan onze gegevens aan met behulp van <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis.html\" target=\"_blank\" rel=\"noopener noreferrer\">de QuadraticDiscriminantAnalsys-<\/a> functie van sklearn:<\/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 QDA model\n<\/span>model = QuadraticDiscriminantAnalysis()\nmodel. <span style=\"color: #3366ff;\">fit<\/span> (x,y)\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Stap 4: Gebruik het model om voorspellingen te doen<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Zodra we het model hebben aangepast met behulp van onze gegevens, kunnen we de prestaties van het model evalueren met behulp van herhaalde gestratificeerde k-voudige kruisvalidatie.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Voor dit voorbeeld gebruiken we 10 vouwen en 3 herhalingen:<\/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.97333333333334<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">We kunnen zien dat het model een gemiddelde nauwkeurigheid van <strong>97,33%<\/strong> behaalde.<\/span><\/p>\n<p> <span style=\"color: #000000;\">We kunnen het model ook gebruiken om te voorspellen tot welke klasse een nieuwe bloem behoort, op basis van de invoerwaarden:<\/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;\">We zien dat het model voorspelt dat deze nieuwe waarneming tot de soort behoort die <em>setosa<\/em> wordt genoemd.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Je kunt de volledige Python-code die in deze tutorial wordt gebruikt <a href=\"https:\/\/github.com\/Statorials\/Python-Guides\/blob\/main\/quadratic_discriminant_analysis.py\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> vinden.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kwadratische discriminantanalyse is een methode die u kunt gebruiken als u over een reeks voorspellende variabelen beschikt en u een responsvariabele in twee of meer klassen wilt indelen. Het wordt beschouwd als het niet-lineaire equivalent van lineaire discriminantanalyse . Deze tutorial biedt een stapsgewijs voorbeeld van het uitvoeren van kwadratische discriminantanalyse in Python. Stap 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":[11],"tags":[],"class_list":["post-1168","post","type-post","status-publish","format-standard","hentry","category-gids"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kwadratische discriminantanalyse in Python (stap voor stap)<\/title>\n<meta name=\"description\" content=\"In deze tutorial wordt uitgelegd hoe u kwadratische discriminantanalyse uitvoert in Python, inclusief een stapsgewijs voorbeeld.\" \/>\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\/nl\/kwadratische-discriminantanalyse-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kwadratische discriminantanalyse in Python (stap voor stap)\" \/>\n<meta property=\"og:description\" content=\"In deze tutorial wordt uitgelegd hoe u kwadratische discriminantanalyse uitvoert in Python, inclusief een stapsgewijs voorbeeld.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T10:29:04+00:00\" \/>\n<meta name=\"author\" content=\"Dr.benjamin anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr.benjamin anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/\",\"url\":\"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/\",\"name\":\"Kwadratische discriminantanalyse in Python (stap voor stap)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-27T10:29:04+00:00\",\"dateModified\":\"2023-07-27T10:29:04+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze tutorial wordt uitgelegd hoe u kwadratische discriminantanalyse uitvoert in Python, inclusief een stapsgewijs voorbeeld.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kwadratische discriminantanalyse in python (stap voor stap)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/nl\/#website\",\"url\":\"https:\/\/statorials.org\/nl\/\",\"name\":\"Statorials\",\"description\":\"Uw gids voor statistische competentie\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/nl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\",\"name\":\"Dr.benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr.benjamin anderson\"},\"description\":\"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder\",\"sameAs\":[\"http:\/\/statorials.org\/nl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kwadratische discriminantanalyse in Python (stap voor stap)","description":"In deze tutorial wordt uitgelegd hoe u kwadratische discriminantanalyse uitvoert in Python, inclusief een stapsgewijs voorbeeld.","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\/nl\/kwadratische-discriminantanalyse-in-python\/","og_locale":"de_DE","og_type":"article","og_title":"Kwadratische discriminantanalyse in Python (stap voor stap)","og_description":"In deze tutorial wordt uitgelegd hoe u kwadratische discriminantanalyse uitvoert in Python, inclusief een stapsgewijs voorbeeld.","og_url":"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T10:29:04+00:00","author":"Dr.benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr.benjamin anderson","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/","url":"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/","name":"Kwadratische discriminantanalyse in Python (stap voor stap)","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-27T10:29:04+00:00","dateModified":"2023-07-27T10:29:04+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze tutorial wordt uitgelegd hoe u kwadratische discriminantanalyse uitvoert in Python, inclusief een stapsgewijs voorbeeld.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/kwadratische-discriminantanalyse-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Kwadratische discriminantanalyse in python (stap voor stap)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/nl\/#website","url":"https:\/\/statorials.org\/nl\/","name":"Statorials","description":"Uw gids voor statistische competentie","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/nl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219","name":"Dr.benjamin anderson","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/","url":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr.benjamin anderson"},"description":"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder","sameAs":["http:\/\/statorials.org\/nl"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/1168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/comments?post=1168"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/1168\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=1168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=1168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=1168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}