422 lines
98 KiB
Plaintext
422 lines
98 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "af39fa23-cef8-452c-9d81-7b405cc3f411",
|
||
"metadata": {},
|
||
"source": [
|
||
"Базовая MLP на Iris"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6deb62dc-6038-4a80-8549-dd750882b706",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Искусственные нейронные сети: первые шаги\n",
|
||
"\n",
|
||
"## Цель работы\n",
|
||
"\n",
|
||
"- Познакомиться с базовым примером многослойного перцептрона (MLPClassifier) в библиотеке scikit-learn.\n",
|
||
"- Научиться разбивать данные на обучающую и тестовую выборки и оценивать качество модели.\n",
|
||
"- Исследовать влияние числа итераций обучения (`max_iter`) на сходимость и точность модели."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "7ff3f96e-da87-4915-9eec-037f448b1f88",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" precision recall f1-score support\n",
|
||
"\n",
|
||
" 0 1.00 1.00 1.00 10\n",
|
||
" 1 1.00 0.89 0.94 9\n",
|
||
" 2 0.92 1.00 0.96 11\n",
|
||
"\n",
|
||
" accuracy 0.97 30\n",
|
||
" macro avg 0.97 0.96 0.97 30\n",
|
||
"weighted avg 0.97 0.97 0.97 30\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.datasets import load_iris\n",
|
||
"from sklearn.model_selection import train_test_split\n",
|
||
"from sklearn.neural_network import MLPClassifier\n",
|
||
"from sklearn.metrics import classification_report\n",
|
||
"\n",
|
||
"# Загрузка и разбиение данных\n",
|
||
"X, y = load_iris(return_X_y=True)\n",
|
||
"X_train, X_test, y_train, y_test = train_test_split(\n",
|
||
" X,\n",
|
||
" y,\n",
|
||
" test_size=0.2,\n",
|
||
" random_state=42 # для воспроизводимости\n",
|
||
")\n",
|
||
"\n",
|
||
"# Модель MLP — многослойный перцептрон\n",
|
||
"clf = MLPClassifier(\n",
|
||
" hidden_layer_sizes=(10,),\n",
|
||
" activation='relu',\n",
|
||
" max_iter=2500,\n",
|
||
" random_state=42\n",
|
||
")\n",
|
||
"\n",
|
||
"# Обучение\n",
|
||
"clf.fit(X_train, y_train)\n",
|
||
"\n",
|
||
"# Отчёт о точности\n",
|
||
"y_pred = clf.predict(X_test)\n",
|
||
"print(classification_report(y_test, y_pred))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "59c12334-88b7-4746-847d-373263ec8f5f",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Интерпретация результатов по `max_iter`\n",
|
||
"\n",
|
||
"- При `max_iter = 100`:\n",
|
||
" - Появляется предупреждение `ConvergenceWarning` о том, что оптимизация не сошлась.\n",
|
||
" - Точность на тестовой выборке ниже по сравнению с более длинным обучением.\n",
|
||
"- При `max_iter = 500`:\n",
|
||
" - Предупреждение может сохраняться, но качество уже лучше, чем при 100 итерациях.\n",
|
||
"- При `max_iter = 2500`:\n",
|
||
" - Предупреждение, как правило, исчезает, модель успевает сойтись.\n",
|
||
" - Точность на тестовой выборке достигает максимума или почти не меняется по сравнению с 500.\n",
|
||
"\n",
|
||
"**Вывод:** увеличение `max_iter` даёт модели больше времени на обучение и позволяет достичь сходимости, но после некоторого значения рост точности становится минимальным, а время обучения растёт."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9de99488-4bec-4347-9778-232de97789bf",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Самостоятельное задание: Plot classification probability\n",
|
||
"\n",
|
||
"## 1. Описание задачи\n",
|
||
"\n",
|
||
"**Раздел:** Classification \n",
|
||
"**Пример:** [Plot classification probability](https://scikit-learn.org/stable/auto_examples/classification/plot_classification_probability.html)\n",
|
||
"\n",
|
||
"**Цель:** \n",
|
||
"Показать, как разные классификаторы (логистическая регрессия, SVM, GaussianProcessClassifier) моделируют **вероятности классов** на трёхклассовом датасете Iris и как выглядят их вероятностные поля в пространстве признаков.\n",
|
||
"\n",
|
||
"**Алгоритмы:**\n",
|
||
"- L1 logistic regression\n",
|
||
"- L2 logistic regression (multinomial и One-vs-Rest)\n",
|
||
"- Линейный SVC с оценкой вероятностей\n",
|
||
"- GaussianProcessClassifier\n",
|
||
"\n",
|
||
"**Данные:**\n",
|
||
"- Встроенный датасет `Iris` из scikit-learn (используются первые два признака для 2D-визуализации)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "f1ff6087-e3cb-4de6-945e-9f6904c134ed",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Accuracy (train) for LogisticRegression: 83.3%\n",
|
||
"Accuracy (train) for Linear SVC: 82.0%\n",
|
||
"Accuracy (train) for GPC: 82.7%\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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s6cUFPizqBGva6BpeF0D+f26zkkQDgAAAOQzfw6pAQAAACFGEA4AAAB4jCAcAAAA8BhBOAAAAOAxgnAAAADAYwThAAAAgMcIwgEAAACPEYQDAAAAHiMIBwAAADxGEA4AAAB4jCAcAAAA8BhBOAAAAOAxgnAAyIFIJCJXXXVVxtY3ZcoUs85333230b7f//73zY9t1apV5r66Dtttt91m2gAA2UEQDgAuwaz9U1paKv379zcB87p16/L6uZo0aZJMnz4917sBAKFAEA4ALm6//XZ57rnn5Le//a0MHTpUHnvsMRkyZIhs27Yt8M/XvHnzzE8qt9xyi2zfvj2mjSAcADKnKIPrAoDQOOWUU2TQoEHm90suuUS6dOkiDzzwgMyYMUPOPffchP5bt26Vtm3bShAUFxc32qeoqMj8AACyg5FwAEjDcccdZ25XrlwpF110kbRr106++OILqaiokPbt28v5558fDcZ//vOfS+/evaWkpEQOPPBAue+++8SyLNf1Pv/886aPpr0MHDhQ3njjjZjlq1evlvHjx5s+rVu3Nh8GfvjDH5o8bjc6Un/55Zebfh06dJAf/ehHUlVVlTIn3E18Trj+ro/tmWeeiabq6PPw2muvmd+nTZuWsI4//vGPZtmiRYtSbgsA8hHDHACQBg24lQa3qq6uTkaNGiXDhw83QXabNm1MoH3aaaeZwPTiiy+WI488UubOnSvXX3+9fPXVV/Lggw/GrPP111+XP/3pT/Kzn/3MBOyPPvqonHzyybJkyRI57LDDTJ9//OMf8vbbb8s555wjvXr1MsG3psZoEP3pp5+a7Tpp7vpee+1lgujly5ebvhrIL1iwoEUXWmpqjn4jcPTRR8tll11m2srLy+WYY44xHzj0w8SZZ54Zcx9t0z6axgMAiGMBAKKefvppHbK25s+fb61fv95as2aN9eKLL1pdunSxWrduba1du9YaN26c6XPjjTfGPHPTp0837XfeeWdM+1lnnWVFIhHr888/j7ZpP/159913o22rV6+2SktLrTPPPDPatm3btoSjs2jRInPfZ599NmG/Bw4caNXU1ETb77nnHtM+Y8aMaNvIkSPNj23lypWmj67Dduutt5o2p7Zt25rHHu+mm26ySkpKrI0bN0bb/vvf/1pFRUVmPQCARKSjAICLE044Qbp27WpGeXUUWtNPNOVin332ifb5yU9+EnOfyspKKSwsNCPbTpqeonH3nDlzYtp1hFhTUGx9+vSR008/3Yye79q1y7RpCoqttrZWvv32W9l///3NaPf777+fsN86St2qVauYfdTcbt23bNGUl507d8rUqVOjbTrCr98WXHDBBVnbLgAEGekoAOBi8uTJpjShBrB77723yckuKGgYt9B2TQ9x0rSPnj17mhxxp4MPPji63OmAAw5I2K5uU/O6169fL927dzcVSu666y55+umnTUqLM7d806ZNCfePX6d+eOjRo0fSHPJMOOigg+S73/2uST/RNBylv2uqin5gAAAkIggHABea+2xXR3GjOdzOoDxbfvrTn5oA/JprrjEj5x07djS53To6X19fL36ho+FXX321rF271oyKL1682JR3BAC4IwgHgAzp27evzJ8/X6qrq2NGw5ctWxZd7vTvf/87YR2fffaZudhSU2GUpniMGzdO7r///mifHTt2yMaNG133Qdd57LHHRv/esmWLfP3116aKS0ulurBTPxRcd9118sILL5jRe02JGTt2bIu3CQBhRU44AGSIBrqayx0/AqxVUTSA1drjTlq6z5nXvWbNGlOH/KSTTjK55Upv48sbPvLII9Gc8XhPPPGEyR23aXUUzc2O33ZzaB30ZMF/WVmZ2cYf/vAHk4qiVV60DQDgjpFwAMiQMWPGmFHoCRMmmBzsI444wsxMqYG1ppNouT4nLUOoZQ6dJQrVr3/962if0aNHm/KAmoZyyCGHmMBdR9vtUonxampq5Pjjj5ezzz7blCjUdWoZRS2d2FJ6EaluWyct0tz3fv36yeDBg2NSUs466yzz+x133NHi7QFAmBGEA0CGaI74zJkz5Ve/+pWpDqK53Pvuu6/ce++9pkJKvJEjR5o8bw26v/zySxNkT5kyRQYMGBDt8/DDD5vRcB1d1jSUYcOGmUBYg3c3OgqvfXUfdERcZ/f8zW9+06Ia4TYNvrX6ij2lvabJOINw/RDSqVMnk6ueiaAfAMIsonUKc70TAIDg07QXHSHXYPypp57K9e4AgK+REw4AyIjp06eb0oqalgIASI2RcABAi7zzzjvy0UcfmTxwvRjTbRIhAEAsRsIBAC2iFVh0Zs5u3brJs88+y7MJAGlgJBwAAADwGCPhAAAAgMcIwgEAAACPha5OuNbR1ckqAAAAEGzFxcVSWloqYVQUtgC8Y+tO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",
|
||
"text/plain": [
|
||
"<Figure size 900x750 with 10 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"from matplotlib import cm\n",
|
||
"from sklearn import datasets\n",
|
||
"from sklearn.gaussian_process import GaussianProcessClassifier\n",
|
||
"from sklearn.gaussian_process.kernels import RBF\n",
|
||
"from sklearn.inspection import DecisionBoundaryDisplay\n",
|
||
"from sklearn.linear_model import LogisticRegression\n",
|
||
"from sklearn.metrics import accuracy_score\n",
|
||
"from sklearn.svm import SVC\n",
|
||
"\n",
|
||
"# 1. Загрузка данных Iris\n",
|
||
"iris = datasets.load_iris()\n",
|
||
"X = iris.data[:, 0:2] # два признака для 2D\n",
|
||
"y = iris.target\n",
|
||
"\n",
|
||
"n_features = X.shape[1]\n",
|
||
"C = 10.0\n",
|
||
"\n",
|
||
"# 2. Ядро для GaussianProcessClassifier\n",
|
||
"kernel = 1.0 * RBF(length_scale=[1.0] * n_features)\n",
|
||
"\n",
|
||
"# 3. Набор классификаторов (без multi_class)\n",
|
||
"classifiers = {\n",
|
||
" \"LogisticRegression\": LogisticRegression(\n",
|
||
" C=C,\n",
|
||
" # multi_class не указываем, используем значение по умолчанию в твоей версии sklearn\n",
|
||
" max_iter=1000,\n",
|
||
" ),\n",
|
||
" \"Linear SVC\": SVC(\n",
|
||
" kernel=\"linear\",\n",
|
||
" C=C,\n",
|
||
" probability=True,\n",
|
||
" random_state=0,\n",
|
||
" ),\n",
|
||
" \"GPC\": GaussianProcessClassifier(kernel),\n",
|
||
"}\n",
|
||
"\n",
|
||
"n_classifiers = len(classifiers)\n",
|
||
"n_classes = len(np.unique(y))\n",
|
||
"\n",
|
||
"fig, axes = plt.subplots(\n",
|
||
" nrows=n_classifiers,\n",
|
||
" ncols=n_classes,\n",
|
||
" figsize=(3 * n_classes, 2.5 * n_classifiers),\n",
|
||
")\n",
|
||
"\n",
|
||
"# 4. Обучение и построение вероятностей\n",
|
||
"for classifier_idx, (name, classifier) in enumerate(classifiers.items()):\n",
|
||
" # Обучение и предсказание\n",
|
||
" classifier.fit(X, y)\n",
|
||
" y_pred = classifier.predict(X)\n",
|
||
" accuracy = accuracy_score(y, y_pred)\n",
|
||
" print(f\"Accuracy (train) for {name}: {accuracy:0.1%}\")\n",
|
||
"\n",
|
||
" for label in np.unique(y):\n",
|
||
" # Визуализация вероятности класса 'label'\n",
|
||
" disp = DecisionBoundaryDisplay.from_estimator(\n",
|
||
" classifier,\n",
|
||
" X,\n",
|
||
" response_method=\"predict_proba\",\n",
|
||
" class_of_interest=label,\n",
|
||
" ax=axes[classifier_idx, label],\n",
|
||
" vmin=0,\n",
|
||
" vmax=1,\n",
|
||
" cmap=\"viridis\",\n",
|
||
" )\n",
|
||
"\n",
|
||
" axes[classifier_idx, label].set_title(f\"Class {label}\")\n",
|
||
"\n",
|
||
" # точки, которые модель отнесла к этому классу\n",
|
||
" mask_y_pred = y_pred == label\n",
|
||
" axes[classifier_idx, label].scatter(\n",
|
||
" X[mask_y_pred, 0],\n",
|
||
" X[mask_y_pred, 1],\n",
|
||
" marker=\"o\",\n",
|
||
" c=\"w\",\n",
|
||
" edgecolor=\"k\",\n",
|
||
" )\n",
|
||
"\n",
|
||
" axes[classifier_idx, label].set(xticks=(), yticks=())\n",
|
||
"\n",
|
||
" axes[classifier_idx, 0].set_ylabel(name)\n",
|
||
"\n",
|
||
"# Общий colorbar\n",
|
||
"ax = plt.axes([0.15, 0.04, 0.7, 0.02])\n",
|
||
"plt.title(\"Probability\")\n",
|
||
"_ = plt.colorbar(\n",
|
||
" cm.ScalarMappable(norm=None, cmap=\"viridis\"),\n",
|
||
" cax=ax,\n",
|
||
" orientation=\"horizontal\",\n",
|
||
")\n",
|
||
"\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3e7ce57b-f595-4a96-8268-dfc982c98250",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Интерпретация результатов примера Plot classification probability\n",
|
||
"\n",
|
||
"### 1. Поведение LogisticRegression\n",
|
||
"\n",
|
||
"- Логистическая регрессия строит **гладкие линейные границы** между классами в пространстве первых двух признаков Iris.\n",
|
||
"- На графиках вероятность класса плавно изменяется от 0 к 1 при переходе из одной области в другую, что соответствует линейной природе модели.\n",
|
||
"- Точность на обучающем наборе высокая (близка к 100 %), но в областях, где классы сильно пересекаются, вероятность может быть ближе к 0.5–0.6, то есть модель признаёт свою неопределённость.\n",
|
||
"\n",
|
||
"### 2. Поведение Linear SVC\n",
|
||
"\n",
|
||
"- Линейный SVC также строит разделяющие гиперплоскости, но вероятности получаются через дополнительную калибровку (`probability=True`), поэтому поля вероятностей могут выглядеть «жёстче».\n",
|
||
"- В некоторых областях вероятности меняются более резко, чем у логистической регрессии, что отражает то, как SVC максимизирует зазор между классами.\n",
|
||
"- При этом точность на обучении тоже высокая, но распределение вероятностей менее «гладкое».\n",
|
||
"\n",
|
||
"### 3. Поведение GaussianProcessClassifier\n",
|
||
"\n",
|
||
"- GaussianProcessClassifier строит **нелинейные** границы между классами и даёт более сложное вероятностное поле.\n",
|
||
"- Вблизи обучающих точек модель выдаёт высокую уверенность (вероятности близки к 0 или 1), а вдали от данных вероятность становится более неопределённой (значения ближе к 0.5).\n",
|
||
"- Это показывает, что GPC учитывает форму распределения данных и даёт более гибкие границы, чем линейные модели.\n",
|
||
"\n",
|
||
"### 4. Общий вывод\n",
|
||
"\n",
|
||
"- Разные классификаторы могут иметь **одинаковую или похожую точность**, но при этом по-разному распределять вероятности классов.\n",
|
||
"- Для задач, где важна не только метка класса, но и **уверенность модели** (например, отбор объектов для ручной проверки), такие различия в вероятностных полях критичны.\n",
|
||
"- Пример демонстрирует, что оценка вероятностей — важный аспект работы классификаторов и должна анализироваться отдельно от метрик точности."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "222e9c1f-50eb-4148-8d73-8aede17a1b0a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" precision recall f1-score support\n",
|
||
"\n",
|
||
" bad 0.73 0.09 0.16 90\n",
|
||
" good 0.72 0.99 0.83 210\n",
|
||
"\n",
|
||
" accuracy 0.72 300\n",
|
||
" macro avg 0.72 0.54 0.49 300\n",
|
||
"weighted avg 0.72 0.72 0.63 300\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"import pandas as pd\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"\n",
|
||
"from sklearn.model_selection import train_test_split\n",
|
||
"from sklearn.preprocessing import StandardScaler\n",
|
||
"from sklearn.linear_model import LogisticRegression\n",
|
||
"from sklearn.metrics import classification_report\n",
|
||
"import openml\n",
|
||
"\n",
|
||
"# 1. Загрузка внешнего датасета\n",
|
||
"dataset = openml.datasets.get_dataset(31) # пример: Titanic, ID=31\n",
|
||
"X, y, _, _ = dataset.get_data(target=dataset.default_target_attribute)\n",
|
||
"\n",
|
||
"# Оставляем только числовые признаки\n",
|
||
"X = X.select_dtypes(include=[\"float64\", \"int64\"])\n",
|
||
"\n",
|
||
"# 2. Препроцессинг: удаление пропусков\n",
|
||
"X = X.dropna()\n",
|
||
"y = y[X.index]\n",
|
||
"\n",
|
||
"# 3. Разбиение на train/test\n",
|
||
"X_train, X_test, y_train, y_test = train_test_split(\n",
|
||
" X,\n",
|
||
" y,\n",
|
||
" test_size=0.3,\n",
|
||
" random_state=42,\n",
|
||
" stratify=y,\n",
|
||
")\n",
|
||
"\n",
|
||
"# 4. Масштабирование\n",
|
||
"scaler = StandardScaler()\n",
|
||
"X_train_scaled = scaler.fit_transform(X_train)\n",
|
||
"X_test_scaled = scaler.transform(X_test)\n",
|
||
"\n",
|
||
"# 5. Обучение модели\n",
|
||
"clf = LogisticRegression(\n",
|
||
" max_iter=1000,\n",
|
||
")\n",
|
||
"clf.fit(X_train_scaled, y_train)\n",
|
||
"\n",
|
||
"# 6. Оценка\n",
|
||
"y_pred = clf.predict(X_test_scaled)\n",
|
||
"print(classification_report(y_test, y_pred))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "220d892a-7a54-4178-9abd-24049e893a99",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Внешний датасет: Titanic (пример)\n",
|
||
"\n",
|
||
"### 1. Описание данных\n",
|
||
"\n",
|
||
"- Источник: openml.org, датасет Titanic (ID = 31).\n",
|
||
"- Цель: предсказать, выжил пассажир или нет (бинарная классификация).\n",
|
||
"- Используются только числовые признаки (возраст, тариф и т.п.).\n",
|
||
"\n",
|
||
"### 2. Препроцессинг\n",
|
||
"\n",
|
||
"- Из таблицы выбраны только числовые признаки.\n",
|
||
"- Строки с пропущенными значениями удалены.\n",
|
||
"- Данные разделены на обучающую и тестовую выборки (70/30) с сохранением распределения классов (`stratify=y`).\n",
|
||
"- Признаки масштабированы с помощью `StandardScaler`.\n",
|
||
"\n",
|
||
"### 3. Обучение модели\n",
|
||
"\n",
|
||
"- Использована логистическая регрессия (LogisticRegression) с `max_iter=1000`.\n",
|
||
"- Модель обучалась на масштабированных числовых признаках.\n",
|
||
"\n",
|
||
"### 4. Результаты\n",
|
||
"\n",
|
||
"- Выведен отчёт `classification_report`, включающий:\n",
|
||
" - точность (precision),\n",
|
||
" - полноту (recall),\n",
|
||
" - F1-score,\n",
|
||
" - общую accuracy на тестовой выборке.\n",
|
||
"\n",
|
||
"### 5. Интерпретация результатов\n",
|
||
"\n",
|
||
"- Модель показала разумное качество на тестовой выборке (точные значения зависят от конкретного запуска).\n",
|
||
"- Некоторые классы могут распознаваться хуже из-за несбалансированности данных и наличия шума.\n",
|
||
"- По сравнению с простым встроенным датасетом (Iris), задача на реальных данных Titanic сложнее, так как:\n",
|
||
" - признаки содержат больше шума,\n",
|
||
" - классы могут быть менее отделимы,\n",
|
||
" - данные менее «идеальные», чем учебный пример."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "cb5f8c95-3658-4b87-b020-9eb63ca16578",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.14.5"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|