{"id":40340,"date":"2025-09-25T07:15:16","date_gmt":"2025-09-25T07:15:16","guid":{"rendered":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/"},"modified":"2025-09-25T07:15:16","modified_gmt":"2025-09-25T07:15:16","slug":"how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance","status":"publish","type":"post","link":"https:\/\/youzum.net\/de\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/","title":{"rendered":"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance?"},"content":{"rendered":"<p>In this tutorial, we walk through an advanced end-to-end data science workflow where we combine traditional machine learning with the power of Gemini. We begin by preparing and modeling the diabetes dataset, then we dive into evaluation, feature importance, and partial dependence. Along the way, we bring in Gemini as our AI data scientist to explain results, answer exploratory questions, and highlight risks. By doing this, we build a predictive model while also enhancing our insights and decision-making through natural language interaction. Check out the\u00a0<strong><a href=\"https:\/\/github.com\/Marktechpost\/AI-Tutorial-Codes-Included\/blob\/main\/Data%20Science\/Building%20an%20End-to-End%20Data%20Science%20Workflow%20with%20Machine%20Learning%2C%20Interpretability%2C%20and%20Gemini%20AI%20Assistance.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">FULL CODES\u00a0here<\/a><\/strong>.<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">!pip -qU google-generativeai scikit-learn matplotlib pandas numpy\nfrom getpass import getpass\nimport os, json, numpy as np, pandas as pd, matplotlib.pyplot as plt\n\n\nif not os.environ.get(\"GOOGLE_API_KEY\"):\n   os.environ[\"GOOGLE_API_KEY\"] = getpass(\"<img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png\" alt=\"\ud83d\udd11\" class=\"wp-smiley\" \/> Enter your Gemini API key (hidden): \")\n\n\nimport google.generativeai as genai\ngenai.configure(api_key=os.environ[\"GOOGLE_API_KEY\"])\nLLM = genai.GenerativeModel(\"gemini-1.5-flash\")\n\n\ndef ask_llm(prompt, sys=None):\n   p = prompt if sys is None else f\"System:n{sys}nnUser:n{prompt}\"\n   r = LLM.generate_content(p)\n   return (getattr(r, \"text\", \"\") or \"\").strip()\n\n\nfrom sklearn.datasets import load_diabetes\nraw = load_diabetes(as_frame=True)\ndf  = raw.frame.rename(columns={\"target\":\"disease_progression\"})\nprint(\"Shape:\", df.shape); display(df.head())\n\n\nfrom sklearn.model_selection import train_test_split, KFold, cross_val_score\nfrom sklearn.compose import ColumnTransformer\nfrom sklearn.preprocessing import StandardScaler, QuantileTransformer\nfrom sklearn.ensemble import HistGradientBoostingRegressor\nfrom sklearn.pipeline import Pipeline\n\n\nX = df.drop(columns=[\"disease_progression\"]); y = df[\"disease_progression\"]\nnum_cols = X.columns.tolist()\npre = ColumnTransformer(\n   [(\"scale\", StandardScaler(), num_cols),\n    (\"rank\",  QuantileTransformer(n_quantiles=min(200, len(X)), output_distribution=\"normal\"), num_cols)],\n   remainder=\"drop\", verbose_feature_names_out=False)\nmodel = HistGradientBoostingRegressor(max_depth=3, learning_rate=0.07,\n                                     l2_regularization=0.0, max_iter=500,\n                                     early_stopping=True, validation_fraction=0.15)\npipe  = Pipeline([(\"prep\", pre), (\"hgbt\", model)])\n\n\nXtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.20, random_state=42)\ncv = KFold(n_splits=5, shuffle=True, random_state=42)\ncv_mse = -cross_val_score(pipe, Xtr, ytr, scoring=\"neg_mean_squared_error\", cv=cv).mean()\ncv_rmse = float(cv_mse ** 0.5)\npipe.fit(Xtr, ytr)<\/code><\/pre>\n<\/div>\n<\/div>\n<p>We load the diabetes dataset, preprocess the features, and build a robust pipeline using scaling, quantile transformation, and gradient boosting. We split the data, perform cross-validation to estimate RMSE, and then fit the final model to see how well it generalizes. Check out the\u00a0<strong><a href=\"https:\/\/github.com\/Marktechpost\/AI-Tutorial-Codes-Included\/blob\/main\/Data%20Science\/Building%20an%20End-to-End%20Data%20Science%20Workflow%20with%20Machine%20Learning%2C%20Interpretability%2C%20and%20Gemini%20AI%20Assistance.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">FULL CODES\u00a0here<\/a><\/strong>.<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">pred_tr = pipe.predict(Xtr); pred_te = pipe.predict(Xte)\nrmse_tr = mean_squared_error(ytr, pred_tr) ** 0.5\nrmse_te = mean_squared_error(yte, pred_te) ** 0.5\nmae_te  = mean_absolute_error(yte, pred_te)\nr2_te   = r2_score(yte, pred_te)\nprint(f\"CV RMSE={cv_rmse:.2f} | Train RMSE={rmse_tr:.2f} | Test RMSE={rmse_te:.2f} | Test MAE={mae_te:.2f} | R\u00b2={r2_te:.3f}\")\n\n\nplt.figure(figsize=(5,4))\nplt.scatter(pred_te, yte - pred_te, s=12)\nplt.axhline(0, lw=1); plt.xlabel(\"Predicted\"); plt.ylabel(\"Residual\"); plt.title(\"Residuals (Test)\")\nplt.show()\n\n\nfrom sklearn.inspection import permutation_importance\nimp = permutation_importance(pipe, Xte, yte, scoring=\"neg_mean_squared_error\", n_repeats=10, random_state=0)\nimp_df = pd.DataFrame({\"feature\": X.columns, \"importance\": imp.importances_mean}).sort_values(\"importance\", ascending=False)\ndisplay(imp_df.head(10))\n\n\nplt.figure(figsize=(6,4))\ntop10 = imp_df.head(10).iloc[::-1]\nplt.barh(top10[\"feature\"], top10[\"importance\"])\nplt.title(\"Permutation Importance (Top 10)\"); plt.xlabel(\"\u0394(MSE)\"); plt.tight_layout(); plt.show()<\/code><\/pre>\n<\/div>\n<\/div>\n<p>We evaluate our model by computing train, test, and cross-validation metrics, and visualize residuals to check prediction errors. We then calculate permutation importance to identify which features drive the model most, and display the top contributors using a clear bar plot. Check out the\u00a0<strong><a href=\"https:\/\/github.com\/Marktechpost\/AI-Tutorial-Codes-Included\/blob\/main\/Data%20Science\/Building%20an%20End-to-End%20Data%20Science%20Workflow%20with%20Machine%20Learning%2C%20Interpretability%2C%20and%20Gemini%20AI%20Assistance.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">FULL CODES\u00a0here<\/a><\/strong>.<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">def compute_pdp(pipe, Xref: pd.DataFrame, feat: str, grid=40):\n   xs = np.linspace(np.percentile(Xref[feat], 5), np.percentile(Xref[feat], 95), grid)\n   Xtmp = Xref.copy()\n   ys = []\n   for v in xs:\n       Xtmp[feat] = v\n       ys.append(pipe.predict(Xtmp).mean())\n   return xs, np.array(ys)\n\n\ntop_feats = imp_df[\"feature\"].head(3).tolist()\nplt.figure(figsize=(6,4))\nfor f in top_feats:\n   xs, ys = compute_pdp(pipe, Xte.copy(), f, grid=40)\n   plt.plot(xs, ys, label=f)\nplt.legend(); plt.xlabel(\"Feature value\"); plt.ylabel(\"Predicted target\"); plt.title(\"Manual PDP (Top 3)\")\nplt.tight_layout(); plt.show()\n\n\n\n\nreport_obj = {\n   \"dataset\": {\"rows\": int(df.shape[0]), \"cols\": int(df.shape[1]-1), \"target\": \"disease_progression\"},\n   \"metrics\": {\"cv_rmse\": float(cv_rmse), \"train_rmse\": float(rmse_tr),\n               \"test_rmse\": float(rmse_te), \"test_mae\": float(mae_te), \"r2\": float(r2_te)},\n   \"top_importances\": imp_df.head(10).to_dict(orient=\"records\")\n}\nprint(json.dumps(report_obj, indent=2))\n\n\nsys_msg = (\"You are a senior data scientist. Return: (1) \u2264120-word executive summary, \"\n          \"(2) key risks\/assumptions bullets, (3) 5 prioritized next experiments w\/ rationale, \"\n          \"(4) quick-win feature engineering ideas as Python pseudocode.\")\nsummary = ask_llm(f\"Dataset + metrics + importances:n{json.dumps(report_obj)}\", sys=sys_msg)\nprint(\"n<img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f4ca.png\" alt=\"\ud83d\udcca\" class=\"wp-smiley\" \/> Gemini Executive Briefn\" + \"-\"*80 + f\"n{summary}n\")<\/code><\/pre>\n<\/div>\n<\/div>\n<p>We compute the manual partial dependence for the top three features and visualize how changing each one affects the predictions. We then assemble a compact JSON report of dataset statistics, metrics, and importances, and ask Gemini to generate an executive brief that includes risks, next experiments, and quick-win feature engineering ideas. Check out the\u00a0<strong><a href=\"https:\/\/github.com\/Marktechpost\/AI-Tutorial-Codes-Included\/blob\/main\/Data%20Science\/Building%20an%20End-to-End%20Data%20Science%20Workflow%20with%20Machine%20Learning%2C%20Interpretability%2C%20and%20Gemini%20AI%20Assistance.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">FULL CODES\u00a0here<\/a><\/strong>.<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">SAFE_GLOBALS = {\"pd\": pd, \"np\": np}\ndef run_generated_pandas(code: str, df_local: pd.DataFrame):\n   banned = [\"__\", \"import\", \"open(\", \"exec(\", \"eval(\", \"os.\", \"sys.\", \"pd.read\", \"to_csv\", \"to_pickle\", \"to_sql\"]\n   if any(b in code for b in banned): raise ValueError(\"Unsafe code rejected.\")\n   loc = {\"df\": df_local.copy()}\n   exec(code, SAFE_GLOBALS, loc)\n   return {k:v for k,v in loc.items() if k not in (\"df\",)}\n\n\ndef eda_qa(question: str):\n   prompt = f\"\"\"You are a Python+Pandas analyst. DataFrame `df` columns:\n{list(df.columns)}. Write a SHORT pandas snippet (no comments\/prints) that computes the answer to:\n\"{question}\". Use only pd\/np\/df; assign the final result to a variable named `answer`.\"\"\"\n   code = ask_llm(prompt, sys=\"Return only code. No prose.\")\n   try:\n       out = run_generated_pandas(code, df)\n       return code, out.get(\"answer\", None)\n   except Exception as e:\n       return code, f\"[Execution error: {e}]\"\n\n\nquestions = [\n   \"What is the Pearson correlation between BMI and disease_progression?\",\n   \"Show mean target by tertiles of BMI (low\/med\/high).\",\n   \"Which single feature correlates most with the target (absolute value)?\"\n]\nfor q in questions:\n   code, ans = eda_qa(q)\n   print(\"nQ:\", q, \"nCode:n\", code, \"nAnswer:n\", ans)<\/code><\/pre>\n<\/div>\n<\/div>\n<p>We build a safe sandbox to execute pandas code that Gemini generates for exploratory data analysis. We then ask natural language questions about correlations and feature relationships, let Gemini write the pandas snippets, and automatically run them to get direct answers from the dataset. Check out the\u00a0<strong><a href=\"https:\/\/github.com\/Marktechpost\/AI-Tutorial-Codes-Included\/blob\/main\/Data%20Science\/Building%20an%20End-to-End%20Data%20Science%20Workflow%20with%20Machine%20Learning%2C%20Interpretability%2C%20and%20Gemini%20AI%20Assistance.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">FULL CODES\u00a0here<\/a><\/strong>.<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">crossitique = ask_llm(\n   f\"\"\"Metrics: {report_obj['metrics']}\nTop importances: {report_obj['top_importances']}\nIdentify risks around leakage, overfitting, calibration, OOD robustness, and fairness (even proxy-only).\nPropose quick checks (concise Python sketches).\"\"\"\n)\nprint(\"n<img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f9ea.png\" alt=\"\ud83e\uddea\" class=\"wp-smiley\" \/> Gemini Risk &amp; Robustness Reviewn\" + \"-\"*80 + f\"n{critique}n\")\n\n\ndef what_if(pipe, Xref: pd.DataFrame, feat: str, delta: float = 0.05):\n   x0 = Xref.median(numeric_only=True).to_dict()\n   x1, x2 = x0.copy(), x0.copy()\n   if feat not in x1: return np.nan\n   x2[feat] = x1[feat] + delta\n   X1 = pd.DataFrame([x1], columns=X.columns)\n   X2 = pd.DataFrame([x2], columns=X.columns)\n   return float(pipe.predict(X2)[0] - pipe.predict(X1)[0])\n\n\nfor f in top_feats:\n   print(f\"Estimated \u0394target if {f} increases by +0.05 \u2248 {what_if(pipe, Xte, f, 0.05):.2f}\")\n\n\nprint(\"n<img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/2705.png\" alt=\"\u2705\" class=\"wp-smiley\" \/> Done: Train \u2192 Explain \u2192 Query with Gemini \u2192 Review risks \u2192 What-if analysis. \"\n     \"Swap the dataset or tweak model params to extend this notebook.\")<\/code><\/pre>\n<\/div>\n<\/div>\n<p>We ask Gemini to review our model for risks like leakage, overfitting, and fairness, and get quick Python checks as suggestions. We then run simple \u201cwhat-if\u201d analyses to see how small changes in top features affect predictions, helping us interpret the model\u2019s behavior more clearly.<\/p>\n<p>In conclusion, we see how seamlessly we can blend machine learning pipelines with Gemini\u2019s reasoning to make data science more interactive and insightful. We train, evaluate, and interpret a model, then ask Gemini to summarize findings, suggest improvements, and critique risks. Through this journey, we establish a workflow that enables us to achieve both predictive performance and interpretability, while also benefiting from having an AI collaborator in our data analysis process.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n<p>Check out the\u00a0<strong><a href=\"https:\/\/github.com\/Marktechpost\/AI-Tutorial-Codes-Included\/blob\/main\/Data%20Science\/Building%20an%20End-to-End%20Data%20Science%20Workflow%20with%20Machine%20Learning%2C%20Interpretability%2C%20and%20Gemini%20AI%20Assistance.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">FULL CODES\u00a0here<\/a><\/strong>.\u00a0Feel free to check out our\u00a0<strong><mark><a href=\"https:\/\/github.com\/Marktechpost\/AI-Tutorial-Codes-Included\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub Page for Tutorials, Codes and Notebooks<\/a><\/mark><\/strong>.\u00a0Also,\u00a0feel free to follow us on\u00a0<strong><a href=\"https:\/\/x.com\/intent\/follow?screen_name=marktechpost\" target=\"_blank\" rel=\"noreferrer noopener\"><mark>Twitter<\/mark><\/a><\/strong>\u00a0and don\u2019t forget to join our\u00a0<strong><a href=\"https:\/\/www.reddit.com\/r\/machinelearningnews\/\" target=\"_blank\" rel=\"noreferrer noopener\">100k+ ML SubReddit<\/a><\/strong>\u00a0and Subscribe to\u00a0<strong><a href=\"https:\/\/www.aidevsignals.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">our Newsletter<\/a><\/strong>.<\/p>\n<p><!-- CONTENT END 2 --><\/p>\n<p>The post <a href=\"https:\/\/www.marktechpost.com\/2025\/09\/25\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\">How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance?<\/a> appeared first on <a href=\"https:\/\/www.marktechpost.com\/\">MarkTechPost<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we walk through an advanced end-to-end data science workflow where we combine traditional machine learning with the power of Gemini. We begin by preparing and modeling the diabetes dataset, then we dive into evaluation, feature importance, and partial dependence. Along the way, we bring in Gemini as our AI data scientist to explain results, answer exploratory questions, and highlight risks. By doing this, we build a predictive model while also enhancing our insights and decision-making through natural language interaction. Check out the\u00a0FULL CODES\u00a0here. Copy CodeCopiedUse a different Browser !pip -qU google-generativeai scikit-learn matplotlib pandas numpy from getpass import getpass import os, json, numpy as np, pandas as pd, matplotlib.pyplot as plt if not os.environ.get(&#8220;GOOGLE_API_KEY&#8221;): os.environ[&#8220;GOOGLE_API_KEY&#8221;] = getpass(&#8221; Enter your Gemini API key (hidden): &#8220;) import google.generativeai as genai genai.configure(api_key=os.environ[&#8220;GOOGLE_API_KEY&#8221;]) LLM = genai.GenerativeModel(&#8220;gemini-1.5-flash&#8221;) def ask_llm(prompt, sys=None): p = prompt if sys is None else f&#8221;System:n{sys}nnUser:n{prompt}&#8221; r = LLM.generate_content(p) return (getattr(r, &#8220;text&#8221;, &#8220;&#8221;) or &#8220;&#8221;).strip() from sklearn.datasets import load_diabetes raw = load_diabetes(as_frame=True) df = raw.frame.rename(columns={&#8220;target&#8221;:&#8221;disease_progression&#8221;}) print(&#8220;Shape:&#8221;, df.shape); display(df.head()) from sklearn.model_selection import train_test_split, KFold, cross_val_score from sklearn.compose import ColumnTransformer from sklearn.preprocessing import StandardScaler, QuantileTransformer from sklearn.ensemble import HistGradientBoostingRegressor from sklearn.pipeline import Pipeline X = df.drop(columns=[&#8220;disease_progression&#8221;]); y = df[&#8220;disease_progression&#8221;] num_cols = X.columns.tolist() pre = ColumnTransformer( [(&#8220;scale&#8221;, StandardScaler(), num_cols), (&#8220;rank&#8221;, QuantileTransformer(n_quantiles=min(200, len(X)), output_distribution=&#8221;normal&#8221;), num_cols)], remainder=&#8221;drop&#8221;, verbose_feature_names_out=False) model = HistGradientBoostingRegressor(max_depth=3, learning_rate=0.07, l2_regularization=0.0, max_iter=500, early_stopping=True, validation_fraction=0.15) pipe = Pipeline([(&#8220;prep&#8221;, pre), (&#8220;hgbt&#8221;, model)]) Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.20, random_state=42) cv = KFold(n_splits=5, shuffle=True, random_state=42) cv_mse = -cross_val_score(pipe, Xtr, ytr, scoring=&#8221;neg_mean_squared_error&#8221;, cv=cv).mean() cv_rmse = float(cv_mse ** 0.5) pipe.fit(Xtr, ytr) We load the diabetes dataset, preprocess the features, and build a robust pipeline using scaling, quantile transformation, and gradient boosting. We split the data, perform cross-validation to estimate RMSE, and then fit the final model to see how well it generalizes. Check out the\u00a0FULL CODES\u00a0here. Copy CodeCopiedUse a different Browser pred_tr = pipe.predict(Xtr); pred_te = pipe.predict(Xte) rmse_tr = mean_squared_error(ytr, pred_tr) ** 0.5 rmse_te = mean_squared_error(yte, pred_te) ** 0.5 mae_te = mean_absolute_error(yte, pred_te) r2_te = r2_score(yte, pred_te) print(f&#8221;CV RMSE={cv_rmse:.2f} | Train RMSE={rmse_tr:.2f} | Test RMSE={rmse_te:.2f} | Test MAE={mae_te:.2f} | R\u00b2={r2_te:.3f}&#8221;) plt.figure(figsize=(5,4)) plt.scatter(pred_te, yte &#8211; pred_te, s=12) plt.axhline(0, lw=1); plt.xlabel(&#8220;Predicted&#8221;); plt.ylabel(&#8220;Residual&#8221;); plt.title(&#8220;Residuals (Test)&#8221;) plt.show() from sklearn.inspection import permutation_importance imp = permutation_importance(pipe, Xte, yte, scoring=&#8221;neg_mean_squared_error&#8221;, n_repeats=10, random_state=0) imp_df = pd.DataFrame({&#8220;feature&#8221;: X.columns, &#8220;importance&#8221;: imp.importances_mean}).sort_values(&#8220;importance&#8221;, ascending=False) display(imp_df.head(10)) plt.figure(figsize=(6,4)) top10 = imp_df.head(10).iloc[::-1] plt.barh(top10[&#8220;feature&#8221;], top10[&#8220;importance&#8221;]) plt.title(&#8220;Permutation Importance (Top 10)&#8221;); plt.xlabel(&#8220;\u0394(MSE)&#8221;); plt.tight_layout(); plt.show() We evaluate our model by computing train, test, and cross-validation metrics, and visualize residuals to check prediction errors. We then calculate permutation importance to identify which features drive the model most, and display the top contributors using a clear bar plot. Check out the\u00a0FULL CODES\u00a0here. Copy CodeCopiedUse a different Browser def compute_pdp(pipe, Xref: pd.DataFrame, feat: str, grid=40): xs = np.linspace(np.percentile(Xref[feat], 5), np.percentile(Xref[feat], 95), grid) Xtmp = Xref.copy() ys = [] for v in xs: Xtmp[feat] = v ys.append(pipe.predict(Xtmp).mean()) return xs, np.array(ys) top_feats = imp_df[&#8220;feature&#8221;].head(3).tolist() plt.figure(figsize=(6,4)) for f in top_feats: xs, ys = compute_pdp(pipe, Xte.copy(), f, grid=40) plt.plot(xs, ys, label=f) plt.legend(); plt.xlabel(&#8220;Feature value&#8221;); plt.ylabel(&#8220;Predicted target&#8221;); plt.title(&#8220;Manual PDP (Top 3)&#8221;) plt.tight_layout(); plt.show() report_obj = { &#8220;dataset&#8221;: {&#8220;rows&#8221;: int(df.shape[0]), &#8220;cols&#8221;: int(df.shape[1]-1), &#8220;target&#8221;: &#8220;disease_progression&#8221;}, &#8220;metrics&#8221;: {&#8220;cv_rmse&#8221;: float(cv_rmse), &#8220;train_rmse&#8221;: float(rmse_tr), &#8220;test_rmse&#8221;: float(rmse_te), &#8220;test_mae&#8221;: float(mae_te), &#8220;r2&#8221;: float(r2_te)}, &#8220;top_importances&#8221;: imp_df.head(10).to_dict(orient=&#8221;records&#8221;) } print(json.dumps(report_obj, indent=2)) sys_msg = (&#8220;You are a senior data scientist. Return: (1) \u2264120-word executive summary, &#8221; &#8220;(2) key risks\/assumptions bullets, (3) 5 prioritized next experiments w\/ rationale, &#8221; &#8220;(4) quick-win feature engineering ideas as Python pseudocode.&#8221;) summary = ask_llm(f&#8221;Dataset + metrics + importances:n{json.dumps(report_obj)}&#8221;, sys=sys_msg) print(&#8220;n Gemini Executive Briefn&#8221; + &#8220;-&#8220;*80 + f&#8221;n{summary}n&#8221;) We compute the manual partial dependence for the top three features and visualize how changing each one affects the predictions. We then assemble a compact JSON report of dataset statistics, metrics, and importances, and ask Gemini to generate an executive brief that includes risks, next experiments, and quick-win feature engineering ideas. Check out the\u00a0FULL CODES\u00a0here. Copy CodeCopiedUse a different Browser SAFE_GLOBALS = {&#8220;pd&#8221;: pd, &#8220;np&#8221;: np} def run_generated_pandas(code: str, df_local: pd.DataFrame): banned = [&#8220;__&#8221;, &#8220;import&#8221;, &#8220;open(&#8220;, &#8220;exec(&#8220;, &#8220;eval(&#8220;, &#8220;os.&#8221;, &#8220;sys.&#8221;, &#8220;pd.read&#8221;, &#8220;to_csv&#8221;, &#8220;to_pickle&#8221;, &#8220;to_sql&#8221;] if any(b in code for b in banned): raise ValueError(&#8220;Unsafe code rejected.&#8221;) loc = {&#8220;df&#8221;: df_local.copy()} exec(code, SAFE_GLOBALS, loc) return {k:v for k,v in loc.items() if k not in (&#8220;df&#8221;,)} def eda_qa(question: str): prompt = f&#8221;&#8221;&#8221;You are a Python+Pandas analyst. DataFrame `df` columns: {list(df.columns)}. Write a SHORT pandas snippet (no comments\/prints) that computes the answer to: &#8220;{question}&#8221;. Use only pd\/np\/df; assign the final result to a variable named `answer`.&#8221;&#8221;&#8221; code = ask_llm(prompt, sys=&#8221;Return only code. No prose.&#8221;) try: out = run_generated_pandas(code, df) return code, out.get(&#8220;answer&#8221;, None) except Exception as e: return code, f&#8221;[Execution error: {e}]&#8221; questions = [ &#8220;What is the Pearson correlation between BMI and disease_progression?&#8221;, &#8220;Show mean target by tertiles of BMI (low\/med\/high).&#8221;, &#8220;Which single feature correlates most with the target (absolute value)?&#8221; ] for q in questions: code, ans = eda_qa(q) print(&#8220;nQ:&#8221;, q, &#8220;nCode:n&#8221;, code, &#8220;nAnswer:n&#8221;, ans) We build a safe sandbox to execute pandas code that Gemini generates for exploratory data analysis. We then ask natural language questions about correlations and feature relationships, let Gemini write the pandas snippets, and automatically run them to get direct answers from the dataset. Check out the\u00a0FULL CODES\u00a0here. Copy CodeCopiedUse a different Browser crossitique = ask_llm( f&#8221;&#8221;&#8221;Metrics: {report_obj[&#8216;metrics&#8217;]} Top importances: {report_obj[&#8216;top_importances&#8217;]} Identify risks around leakage, overfitting, calibration, OOD robustness, and fairness (even proxy-only). Propose quick checks (concise Python sketches).&#8221;&#8221;&#8221; ) print(&#8220;n Gemini Risk &amp; Robustness Reviewn&#8221; + &#8220;-&#8220;*80 + f&#8221;n{critique}n&#8221;) def what_if(pipe, Xref: pd.DataFrame, feat: str, delta: float = 0.05): x0 = Xref.median(numeric_only=True).to_dict() x1, x2 = x0.copy(), x0.copy() if feat not in x1: return np.nan x2[feat] = x1[feat] + delta X1 = pd.DataFrame([x1], columns=X.columns) X2 = pd.DataFrame([x2], columns=X.columns) return float(pipe.predict(X2)[0] &#8211; pipe.predict(X1)[0]) for f in top_feats: print(f&#8221;Estimated \u0394target if {f} increases by +0.05 \u2248 {what_if(pipe, Xte, f, 0.05):.2f}&#8221;) print(&#8220;n Done: Train \u2192 Explain \u2192 Query with Gemini \u2192 Review risks \u2192 What-if analysis. &#8221; &#8220;Swap the dataset or tweak model params to extend this notebook.&#8221;) We ask Gemini to review our model for risks like leakage, overfitting, and fairness, and get quick Python checks as suggestions. We then<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_pvb_checkbox_block_on_post":false,"footnotes":""},"categories":[52,5,7,1],"tags":[],"class_list":["post-40340","post","type-post","status-publish","format-standard","hentry","category-ai-club","category-committee","category-news","category-uncategorized","pmpro-has-access"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance? - YouZum<\/title>\n<meta name=\"description\" content=\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/youzum.net\/de\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance? - YouZum\" \/>\n<meta property=\"og:description\" content=\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\" \/>\n<meta property=\"og:url\" content=\"https:\/\/youzum.net\/de\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\" \/>\n<meta property=\"og:site_name\" content=\"YouZum\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DroneAssociationTH\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-25T07:15:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png\" \/>\n<meta name=\"author\" content=\"admin NU\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin NU\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\"},\"author\":{\"name\":\"admin NU\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c\"},\"headline\":\"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance?\",\"datePublished\":\"2025-09-25T07:15:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\"},\"wordCount\":522,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\"},\"image\":{\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png\",\"articleSection\":[\"AI\",\"Committee\",\"News\",\"Uncategorized\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\",\"url\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\",\"name\":\"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance? - YouZum\",\"isPartOf\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png\",\"datePublished\":\"2025-09-25T07:15:16+00:00\",\"description\":\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\",\"breadcrumb\":{\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage\",\"url\":\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png\",\"contentUrl\":\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/youzum.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/yousum.gpucore.co\/#website\",\"url\":\"https:\/\/yousum.gpucore.co\/\",\"name\":\"YouSum\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/yousum.gpucore.co\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\",\"name\":\"Drone Association Thailand\",\"url\":\"https:\/\/yousum.gpucore.co\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png\",\"contentUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png\",\"width\":300,\"height\":300,\"caption\":\"Drone Association Thailand\"},\"image\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/DroneAssociationTH\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c\",\"name\":\"admin NU\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png\",\"contentUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png\",\"caption\":\"admin NU\"},\"url\":\"https:\/\/youzum.net\/de\/members\/adminnu\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance? - YouZum","description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","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:\/\/youzum.net\/de\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/","og_locale":"de_DE","og_type":"article","og_title":"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance? - YouZum","og_description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","og_url":"https:\/\/youzum.net\/de\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/","og_site_name":"YouZum","article_publisher":"https:\/\/www.facebook.com\/DroneAssociationTH\/","article_published_time":"2025-09-25T07:15:16+00:00","og_image":[{"url":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png","type":"","width":"","height":""}],"author":"admin NU","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"admin NU","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#article","isPartOf":{"@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/"},"author":{"name":"admin NU","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c"},"headline":"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance?","datePublished":"2025-09-25T07:15:16+00:00","mainEntityOfPage":{"@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/"},"wordCount":522,"commentCount":0,"publisher":{"@id":"https:\/\/yousum.gpucore.co\/#organization"},"image":{"@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage"},"thumbnailUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png","articleSection":["AI","Committee","News","Uncategorized"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/","url":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/","name":"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance? - YouZum","isPartOf":{"@id":"https:\/\/yousum.gpucore.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage"},"image":{"@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage"},"thumbnailUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png","datePublished":"2025-09-25T07:15:16+00:00","description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","breadcrumb":{"@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#primaryimage","url":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png","contentUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/1f511.png"},{"@type":"BreadcrumbList","@id":"https:\/\/youzum.net\/how-to-build-an-end-to-end-data-science-workflow-with-machine-learning-interpretability-and-gemini-ai-assistance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/youzum.net\/"},{"@type":"ListItem","position":2,"name":"How to Build an End-to-End Data Science Workflow with Machine Learning, Interpretability, and Gemini AI Assistance?"}]},{"@type":"WebSite","@id":"https:\/\/yousum.gpucore.co\/#website","url":"https:\/\/yousum.gpucore.co\/","name":"YouSum","description":"","publisher":{"@id":"https:\/\/yousum.gpucore.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yousum.gpucore.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/yousum.gpucore.co\/#organization","name":"Drone Association Thailand","url":"https:\/\/yousum.gpucore.co\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/","url":"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png","contentUrl":"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png","width":300,"height":300,"caption":"Drone Association Thailand"},"image":{"@id":"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DroneAssociationTH\/"]},{"@type":"Person","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c","name":"admin NU","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/image\/","url":"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png","contentUrl":"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png","caption":"admin NU"},"url":"https:\/\/youzum.net\/de\/members\/adminnu\/"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"admin NU","author_link":"https:\/\/youzum.net\/de\/members\/adminnu\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/youzum.net\/de\/category\/ai-club\/\" rel=\"category tag\">AI<\/a> <a href=\"https:\/\/youzum.net\/de\/category\/committee\/\" rel=\"category tag\">Committee<\/a> <a href=\"https:\/\/youzum.net\/de\/category\/news\/\" rel=\"category tag\">News<\/a> <a href=\"https:\/\/youzum.net\/de\/category\/uncategorized\/\" rel=\"category tag\">Uncategorized<\/a>","rttpg_excerpt":"In this tutorial, we walk through an advanced end-to-end data science workflow where we combine traditional machine learning with the power of Gemini. We begin by preparing and modeling the diabetes dataset, then we dive into evaluation, feature importance, and partial dependence. Along the way, we bring in Gemini as our AI data scientist to&hellip;","_links":{"self":[{"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/posts\/40340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/comments?post=40340"}],"version-history":[{"count":0,"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/posts\/40340\/revisions"}],"wp:attachment":[{"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/media?parent=40340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/categories?post=40340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/youzum.net\/de\/wp-json\/wp\/v2\/tags?post=40340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}