{"id":3462,"date":"2023-08-31T11:12:59","date_gmt":"2023-08-31T11:12:59","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/aquatic-toxicity\/"},"modified":"2025-09-18T12:28:36","modified_gmt":"2025-09-18T10:28:36","slug":"aquatic-toxicity","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/","title":{"rendered":"Model water toxicity using machine learning"},"content":{"rendered":"<p>In this example, we build a machine learning model to calculate water toxicity using actual data from a water body.<\/p>\n<p>Many chemicals partition into water and can exert adverse effects on aquatic systems, threatening the survival of the organisms that inhabit these ecosystems.<\/p>\n<p>Calculating a standard measure of aquatic toxicity is a lengthy and costly procedure.<\/p>\n<p>As a result, we do not need to measure it in the laboratory.<\/p>\n<p>This example is solved with <a href=\"https:\/\/www.neuraldesigner.com\/\">Neural Designer<\/a>. You can use the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/free-trial\">free trial<\/a> to understand how the solution is achieved step by step.<\/p>\n<h2>Contents<\/h2>\n<ol>\n<li><a href=\"#ApplicationType\">Application type<\/a><\/li>\n<li><a href=\"#DataSet\">Data set<\/a><\/li>\n<li><a href=\"#NeuralNetwork\">Neural network<\/a><\/li>\n<li><a href=\"#TrainingStrategy\">Training strategy<\/a><\/li>\n<li><a href=\"#TestingAnalysis\">Testing analysis<\/a><\/li>\n<li><a href=\"#ModelDeployment\">Model deployment<\/a><\/li>\n<\/ol>\n<section id=\"ApplicationType\">\n<h2>1. Application type<\/h2>\n<p>This is an <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-networks-applications#Approximation\">approximation<\/a>\u00a0project since the variable to be predicted is continuous.<\/p>\n<p>The primary objective is to model the LC50 (the standard measure of toxicity) as a function of the sample&#8217;s molecular properties.<\/p>\n<\/section>\n<section id=\"DataSet\">\n<h2>2. Data set<\/h2>\n<p>The first step is to prepare the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\">data set<\/a>. This is the source of information for the approximation problem. It is composed of:<\/p>\n<ul>\n<li>Data source.<\/li>\n<li>Variables.<\/li>\n<li>Instances.<\/li>\n<\/ul>\n<h3>Data set<\/h3>\n<p>The file <a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/10\/aquatic-toxicity.csv\">aquatic-toxicity.csv<\/a> contains the data for this example. Here, the number of variables (columns) is 9, and the number of instances (rows) is 546.<\/p>\n<h3>Variables<\/h3>\n<p>We have the following variables for this analysis:<\/p>\n<h4>Molecular descriptors (input variables)<\/h4>\n<\/section>\n<ul>\n<li data-start=\"128\" data-end=\"202\"><strong data-start=\"128\" data-end=\"136\">TPSA<\/strong> \u2013 Topological polar surface area (N, O, P, S atoms considered).<\/li>\n<li data-start=\"205\" data-end=\"278\"><strong data-start=\"205\" data-end=\"214\">SAacc<\/strong> \u2013 Van der Waals surface area of hydrogen bond acceptor atoms.<\/li>\n<li data-start=\"281\" data-end=\"342\"><strong data-start=\"281\" data-end=\"290\">H-050<\/strong> \u2013 Number of hydrogen atoms bonded to heteroatoms.<\/li>\n<li data-start=\"345\" data-end=\"423\"><strong data-start=\"345\" data-end=\"354\">MLOGP<\/strong> \u2013 Octanol\u2013water partition coefficient (LogP) from the Moriguchi model.<\/li>\n<li data-start=\"426\" data-end=\"518\"><strong data-start=\"426\" data-end=\"435\">RDCHI<\/strong> \u2013 Topological index encoding molecular size and branching (ignores heteroatoms).<\/li>\n<li data-start=\"521\" data-end=\"581\"><strong data-start=\"521\" data-end=\"531\">GATS1p<\/strong> \u2013 Descriptor encoding molecular polarizability.<\/li>\n<li data-start=\"584\" data-end=\"636\"><strong data-start=\"584\" data-end=\"590\">nN<\/strong> \u2013 Number of nitrogen atoms in the molecule.<\/li>\n<li data-start=\"639\" data-end=\"770\"><strong data-start=\"639\" data-end=\"648\">C-040<\/strong> \u2013 Number of carbon atoms of type R\u2013C(=X)\u2013X \/ R\u2013C#X \/ X=C=X (X = electronegative atom such as O, N, S, P, Se, halogens).<\/li>\n<\/ul>\n<h4>Target variable<\/h4>\n<ul data-start=\"798\" data-end=\"880\">\n<li data-start=\"798\" data-end=\"880\">\n<p data-start=\"800\" data-end=\"880\"><strong data-start=\"800\" data-end=\"808\">LC50<\/strong> \u2013 Standard toxicity measure: mean lethal concentration (\u2212Log(mol\/L)).<\/p>\n<\/li>\n<\/ul>\n<section id=\"DataSet\">\n<h3>Instances<\/h3>\n<article class=\"text-token-text-primary w-full focus:outline-none scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"request-68c14edc-00d8-832b-af79-36da58cd2575-0\" data-testid=\"conversation-turn-24\" data-scroll-anchor=\"true\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] thread-sm:[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\">\n<div class=\"flex max-w-full flex-col grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"5747dde3-f849-422d-a0bb-a4c420adf63d\" data-message-model-slug=\"gpt-5\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\">\n<div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\">\n<p data-start=\"0\" data-end=\"90\" data-is-last-node=\"\" data-is-only-node=\"\">The <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#Instances\">instances<\/a> are randomly split into 60% for training, 20% for validation, and 20% for testing.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<h3>Variables distributions<\/h3>\n<p>Calculating the data <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#Distributions\">distributions<\/a> helps us verify the accuracy of the available information and identify anomalies.<\/p>\n<p>The following chart shows the histogram for the power-generated variable:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/aquatic-toxicity-LC50-distribution.webp\" \/><\/p>\n<h3>Inputs-targets correlations<\/h3>\n<p>It is also interesting to look for dependencies between input and target variables.<\/p>\n<p>To do that, we can plot an\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#InputsTargetsCorrelations\">input-target correlations<\/a>\u00a0chart.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/aquatic-toxicity-correlations.webp\" \/><\/p>\n<p>MLOGP and RDCHI are the most correlated variables because they measure lipophilicity, which is the driving force of narcosis.<\/p>\n<h3>Scatter charts<\/h3>\n<p>In a <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#ScatterCharts\">scatter chart<\/a>, we can visualize how this correlation works.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/aquatic-toxicity-LC50-vs-MLOGP.webp\" \/><\/p>\n<\/section>\n<section>\n<h3 id=\"NeuralNetwork\">3. Neural network<\/h3>\n<p>The second step is to build a neural network that represents the approximation function.<\/p>\n<p>The neural network has 8 inputs (TPSA, SAacc, H-050, MLOGP, RDCHI, GATS1p, nN, C-040) and 1 output (LC50).<\/p>\n<p>It is usually composed of:<\/p>\n<ul>\n<li>Scaling layer.<\/li>\n<li>Perceptron layers.<\/li>\n<li>Unscaling layer.<\/li>\n<\/ul>\n<h3>Scaling layer<\/h3>\n<p>The\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network#ScalingLayer\">scaling layer<\/a>\u00a0contains the statistics of the inputs. We use the automatic setting for this layer to accommodate the best scaling technique for our data.<\/p>\n<\/section>\n<h3>Dense layers<\/h3>\n<section>We use 2 perceptron layers here:<\/p>\n<ul>\n<li>The first perceptron layer has 8 inputs, 3 neurons, and a\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network#HyperbolicTangentActivationFunction\">hyperbolic tangent activation function<\/a>.<\/li>\n<li>The second perceptron layer has 3 inputs, 1 neuron, and a\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network#LinearActivationFunction\">linear activation function<\/a>.<\/li>\n<\/ul>\n<h3>Unscaling layer<\/h3>\n<p>The\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network#UnscalingLayer\">unscaling layer<\/a>\u00a0contains the statistics of the outputs. We use the automatic method as before.<\/p>\n<h3>Neural network graph<\/h3>\n<p>The following graph represents the neural network for this example.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/aquatic-toxicity-initial-neural-network.webp\" \/><\/p>\n<\/section>\n<section id=\"TrainingStrategy\">\n<h2>4. Training strategy<\/h2>\n<p>The fourth step is to select an appropriate <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy\">training strategy<\/a>. It is composed of two parameters:<\/p>\n<ul>\n<li>Loss index.<\/li>\n<li>Optimization algorithm.<\/li>\n<\/ul>\n<h3>Loss index<\/h3>\n<p>The <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#LossIndex\">loss index<\/a>\u00a0defines what the neural network will learn. It is composed of an <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#ErrorTerm\">error term<\/a> and a\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#RegularizationTerm\">regularization term<\/a>.<\/p>\n<p>The chosen error term is the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#NormalizedSquaredError\">normalized squared error<\/a>, which divides the squared difference between predictions and targets by a normalization factor.<\/p>\n<p>If the normalized squared error has a value of 1, then the neural network predicts the data &#8216;in the mean,&#8217; while a value of zero means a perfect data prediction.<\/p>\n<p>The regularization used is <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#L2Regularization\">L2<\/a>, which limits model complexity by shrinking parameter values.<\/p>\n<h3>Optimization algorithm<\/h3>\n<p>The\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#OptimizationAlgorithm\">optimization algorithm<\/a> is responsible for searching for the neural network parameters that minimize the loss index.<\/p>\n<p>Here, we chose the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy#QuasiNewtonMethod\">quasi-Newton method<\/a> as an optimization algorithm.<\/p>\n<h3>Training<\/h3>\n<p>The following chart shows how training error (blue) and validation error (orange) decrease as the number of epochs increases.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/aquatic-toxicity-training-history.webp\" \/><\/p>\n<p>The final values are <b>training error = 0.331\u00a0<\/b><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">and\u00a0<strong>selection error = 0.481<\/strong>, respectively, in terms of NSE<\/span>.<\/p>\n<p>Our results are reasonably good, but the model is limited by the small dataset size\u2014a common challenge in machine learning.<\/p>\n<\/section>\n<section id=\"ModelSelection\"><\/section>\n<section id=\"TestingAnalysis\">\n<h2>5. Testing analysis<\/h2>\n<p>The purpose of the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\">testing analysis<\/a>\u00a0is to validate the generalization capabilities of the neural network. We use the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set#TestingInstances\">testing instances<\/a>\u00a0in the data set, which have never been used before.<\/p>\n<h3>Goodnes-of-fit<\/h3>\n<p>A standard testing method in approximation applications is to perform a\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis#LinearRegressionAnalysis\">linear regression analysis<\/a> between the predicted and the absolute pollutant level values.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/aquatic-toxicity-linear-regression-analysis.webp\" \/><\/p>\n<p>For a perfect fit, the correlation coefficient R2 would be 1. Considering our small d<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">ataset issues, we have\u00a0<strong>an R-squared value\u00a0<\/strong>of<strong>\u00a00.744<\/strong>, indicating that<\/span> the neural network performs well in predicting the testing data.<\/p>\n<p>We have achieved a mean error of 8.64%.<\/p>\n<\/section>\n<h2>6. Model deployment<\/h2>\n<p>In the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment\">model deployment<\/a> phase, the neural network predicts outputs for inputs it has not seen before.<\/p>\n<h3>Neural network outputs<\/h3>\n<p>We can calculate the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment#NeuralNetworkOutputs\">neural network outputs<\/a>\u00a0for a given set of inputs:<\/p>\n<ul>\n<li><b>TPSA(Tot)<\/b>: 48.473.<\/li>\n<li><b>SAacc<\/b>: 58.869.<\/li>\n<li><b>H-050<\/b>: 0.938.<\/li>\n<li><b>MLOGP<\/b>: 2.313.<\/li>\n<li><b>RDCHI<\/b>: 2.492.<\/li>\n<li><b>GATS1p<\/b>: 1.046.<\/li>\n<li><b>nN<\/b>: 1.004.<\/li>\n<li><b>C-040<\/b>: 0.3534.<\/li>\n<li><b>LC50:<\/b> 4.92.<\/li>\n<\/ul>\n<h3>Directional outputs<\/h3>\n<p><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment#DirectionalOutputs\">Directional outputs<\/a>\u00a0plot the neural network outputs through some reference points.<\/p>\n<p>The following list shows the reference points for the plots.<\/p>\n<ul>\n<li>TPSA(Tot): 48.473.<\/li>\n<li>SAacc: 58.869.<\/li>\n<li>H-050: 0.938.<\/li>\n<li>MLOGP: 2.313.<\/li>\n<li>RDCHI: 2.492.<\/li>\n<li>GATS1p: 1.046.<\/li>\n<li>nN: 1.004.<\/li>\n<li>C-040: 0.3534.<\/li>\n<\/ul>\n<p>We can see here how MLOGP affects LC50:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/aquatic-toxicity-LC50-MLOGP-directional-output.webp\" \/><\/p>\n<section>\n<h2>References<\/h2>\n<ul>\n<li>M. Cassotti, D. Ballabio, V. Consonni, A. Mauri, I. V. Tetko, R. Todeschini (2014). <a href=\"https:\/\/journals.sagepub.com\/doi\/10.1177\/026119291404200106\">Prediction of acute aquatic toxicity towards daphnia magna using GA-kNN method<\/a>, Alternatives to Laboratory Animals (ATLA), 42,31:41.<\/li>\n<\/ul>\n<\/section>\n<section>\n<h2>Related posts<\/h2>\n<\/section>\n","protected":false},"author":13,"featured_media":2651,"template":"","categories":[29],"tags":[40,46,43],"class_list":["post-3462","learning","type-learning","status-publish","has-post-thumbnail","hentry","category-examples","tag-chemistry","tag-environment","tag-industry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Model water toxicity using machine learning<\/title>\n<meta name=\"description\" content=\"Build a machine learning model for LC50 (the standard measure of water toxicity) using real data from a body of water.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modeling the toxicity of a waterbody machine learning example\" \/>\n<meta property=\"og:description\" content=\"Many chemicals partition in water and can exert adverse effects on aquatic systems threatening the survival of the members of these ecosystems.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-18T10:28:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/08\/Candice_Image_0.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"672\" \/>\n\t<meta property=\"og:image:height\" content=\"378\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Modeling the toxicity of a waterbody machine learning example\" \/>\n<meta name=\"twitter:description\" content=\"Many chemicals partition in water and can exert adverse effects on aquatic systems threatening the survival of the members of these ecosystems.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/08\/Candice_Image_0.jpg\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/\",\"name\":\"Model water toxicity using machine learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/aquatic-toxicity.webp\",\"datePublished\":\"2023-08-31T11:12:59+00:00\",\"dateModified\":\"2025-09-18T10:28:36+00:00\",\"description\":\"Build a machine learning model for LC50 (the standard measure of water toxicity) using real data from a body of water.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/aquatic-toxicity.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/aquatic-toxicity.webp\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.neuraldesigner.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learning\",\"item\":\"https:\/\/www.neuraldesigner.com\/learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Model water toxicity using machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"Explanable AI Platform\",\"publisher\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.neuraldesigner.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\",\"name\":\"Neural Designer\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"width\":1024,\"height\":223,\"caption\":\"Neural Designer\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NeuralDesigner\",\"https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Model water toxicity using machine learning","description":"Build a machine learning model for LC50 (the standard measure of water toxicity) using real data from a body of water.","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:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/","og_locale":"en_US","og_type":"article","og_title":"Modeling the toxicity of a waterbody machine learning example","og_description":"Many chemicals partition in water and can exert adverse effects on aquatic systems threatening the survival of the members of these ecosystems.","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/","og_site_name":"Neural Designer","article_modified_time":"2025-09-18T10:28:36+00:00","og_image":[{"width":672,"height":378,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/08\/Candice_Image_0.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_title":"Modeling the toxicity of a waterbody machine learning example","twitter_description":"Many chemicals partition in water and can exert adverse effects on aquatic systems threatening the survival of the members of these ecosystems.","twitter_image":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/08\/Candice_Image_0.jpg","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/","name":"Model water toxicity using machine learning","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/aquatic-toxicity.webp","datePublished":"2023-08-31T11:12:59+00:00","dateModified":"2025-09-18T10:28:36+00:00","description":"Build a machine learning model for LC50 (the standard measure of water toxicity) using real data from a body of water.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/aquatic-toxicity.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/aquatic-toxicity.webp","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/aquatic-toxicity\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.neuraldesigner.com\/"},{"@type":"ListItem","position":2,"name":"Learning","item":"https:\/\/www.neuraldesigner.com\/learning\/"},{"@type":"ListItem","position":3,"name":"Model water toxicity using machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"Explanable AI Platform","publisher":{"@id":"https:\/\/www.neuraldesigner.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.neuraldesigner.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.neuraldesigner.com\/#organization","name":"Neural Designer","url":"https:\/\/www.neuraldesigner.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","width":1024,"height":223,"caption":"Neural Designer"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NeuralDesigner","https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning"}],"about":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/types\/learning"}],"author":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3462\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/2651"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}