blob: 1419395f8e3cf22aa3ed1e70e9da8829a5191c6b [file] [log] [blame]
{
"paragraphs": [
{
"title": "Introduction",
"text": "%md\n\nThis is a tutorial of how to use Spark MLlib in Zeppelin, we have 2 examples in this note:\n\n* Linear regression, we generate some random data and use a linear regression to fit this data. We use bokeh here to visualize the data and the fitted model. Besides training, we also visualize the loss value over iteration.\n* Logstic regression, we use the official `sample_binary_classification_data` of spark as the training data. Besides training, we also visualize the loss value over iteration.\n",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:31:55.260",
"progress": 0,
"config": {
"runOnSelectionChange": true,
"title": true,
"checkEmpty": true,
"colWidth": 12.0,
"fontSize": 9.0,
"enabled": true,
"results": {},
"editorSetting": {
"language": "text",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"editorMode": "ace/mode/text",
"editorHide": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "HTML",
"data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003cp\u003eThis is a tutorial of how to use Spark MLlib in Zeppelin, we have 2 examples in this note:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLinear regression, we generate some random data and use a linear regression to fit this data. We use bokeh here to visualize the data and the fitted model. Besides training, we also visualize the loss value over iteration.\u003c/li\u003e\n\u003cli\u003eLogstic regression, we use the official \u003ccode\u003esample_binary_classification_data\u003c/code\u003e of spark as the training data. Besides training, we also visualize the loss value over iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c/div\u003e"
}
]
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1579424966763_-908073771",
"id": "paragraph_1579424966763_-908073771",
"dateCreated": "2020-01-19 17:09:26.763",
"dateStarted": "2021-07-26 04:31:55.265",
"dateFinished": "2021-07-26 04:31:57.477",
"status": "FINISHED"
},
{
"title": "Initialize bokeh for visualization",
"text": "%spark.pyspark\n\n\nimport numpy as np\nfrom bokeh.io import output_notebook, show\nfrom bokeh.plotting import figure\n\noutput_notebook()\n\n",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:31:57.565",
"progress": 0,
"config": {
"colWidth": 12.0,
"editorMode": "ace/mode/python",
"results": {},
"enabled": true,
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"fontSize": 9.0,
"runOnSelectionChange": true,
"title": true,
"checkEmpty": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "HTML",
"data": "\n \u003cdiv class\u003d\"bk-root\"\u003e\n \u003ca href\u003d\"https://bokeh.org\" target\u003d\"_blank\" class\u003d\"bk-logo bk-logo-small bk-logo-notebook\"\u003e\u003c/a\u003e\n \u003cspan id\u003d\"1002\"\u003eLoading BokehJS ...\u003c/span\u003e\n \u003c/div\u003e\n"
},
{
"type": "HTML",
"data": "\u003cscript\u003e \n(function(root) {\n function now() {\n return new Date();\n }\n\n var force \u003d true;\n\n if (typeof root._bokeh_onload_callbacks \u003d\u003d\u003d \"undefined\" || force \u003d\u003d\u003d true) {\n root._bokeh_onload_callbacks \u003d [];\n root._bokeh_is_loading \u003d undefined;\n }\n\n var JS_MIME_TYPE \u003d \u0027application/javascript\u0027;\n var HTML_MIME_TYPE \u003d \u0027text/html\u0027;\n var EXEC_MIME_TYPE \u003d \u0027application/vnd.bokehjs_exec.v0+json\u0027;\n var CLASS_NAME \u003d \u0027output_bokeh rendered_html\u0027;\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n var script \u003d document.createElement(\"script\");\n node.appendChild(script);\n }\n\n /**\n * Handle when an output is cleared or removed\n */\n function handleClearOutput(event, handle) {\n var cell \u003d handle.cell;\n\n var id \u003d cell.output_area._bokeh_element_id;\n var server_id \u003d cell.output_area._bokeh_server_id;\n // Clean up Bokeh references\n if (id !\u003d null \u0026\u0026 id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n\n if (server_id !\u003d\u003d undefined) {\n // Clean up Bokeh references\n var cmd \u003d \"from bokeh.io.state import curstate; print(curstate().uuid_to_server[\u0027\" + server_id + \"\u0027].get_sessions()[0].document.roots[0]._id)\";\n cell.notebook.kernel.execute(cmd, {\n iopub: {\n output: function(msg) {\n var id \u003d msg.content.text.trim();\n if (id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n }\n }\n });\n // Destroy server and session\n var cmd \u003d \"import bokeh.io.notebook as ion; ion.destroy_server(\u0027\" + server_id + \"\u0027)\";\n cell.notebook.kernel.execute(cmd);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n var output_area \u003d handle.output_area;\n var output \u003d handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type !\u003d \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n var toinsert \u003d output_area.element.find(\".\" + CLASS_NAME.split(\u0027 \u0027)[0]);\n\n if (output.metadata[EXEC_MIME_TYPE][\"id\"] !\u003d\u003d undefined) {\n toinsert[toinsert.length - 1].firstChild.textContent \u003d output.data[JS_MIME_TYPE];\n // store reference to embed id on output_area\n output_area._bokeh_element_id \u003d output.metadata[EXEC_MIME_TYPE][\"id\"];\n }\n if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !\u003d\u003d undefined) {\n var bk_div \u003d document.createElement(\"div\");\n bk_div.innerHTML \u003d output.data[HTML_MIME_TYPE];\n var script_attrs \u003d bk_div.children[0].attributes;\n for (var i \u003d 0; i \u003c script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent \u003d bk_div.children[0].textContent\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id \u003d output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n }\n\n function register_renderer(events, OutputArea) {\n\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert \u003d this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props \u003d {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[toinsert.length - 1]);\n element.append(toinsert);\n return toinsert\n }\n\n /* Handle when an output is cleared or removed */\n events.on(\u0027clear_output.CodeCell\u0027, handleClearOutput);\n events.on(\u0027delete.Cell\u0027, handleClearOutput);\n\n /* Handle when a new output is added */\n events.on(\u0027output_added.OutputArea\u0027, handleAddOutput);\n\n /**\n * Register the mime type and append_mime function with output_area\n */\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n /* Is output safe? */\n safe: true,\n /* Index of renderer in `output_area.display_order` */\n index: 0\n });\n }\n\n // register the mime type if in Jupyter Notebook environment and previously unregistered\n if (root.Jupyter !\u003d\u003d undefined) {\n var events \u003d require(\u0027base/js/events\u0027);\n var OutputArea \u003d require(\u0027notebook/js/outputarea\u0027).OutputArea;\n\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) \u003d\u003d -1) {\n register_renderer(events, OutputArea);\n }\n }\n\n \n if (typeof (root._bokeh_timeout) \u003d\u003d\u003d \"undefined\" || force \u003d\u003d\u003d true) {\n root._bokeh_timeout \u003d Date.now() + 5000;\n root._bokeh_failed_load \u003d false;\n }\n\n var NB_LOAD_WARNING \u003d {\u0027data\u0027: {\u0027text/html\u0027:\n \"\u003cdiv style\u003d\u0027background-color: #fdd\u0027\u003e\\n\"+\n \"\u003cp\u003e\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"\u003c/p\u003e\\n\"+\n \"\u003cul\u003e\\n\"+\n \"\u003cli\u003ere-rerun `output_notebook()` to attempt to load from CDN again, or\u003c/li\u003e\\n\"+\n \"\u003cli\u003euse INLINE resources instead, as so:\u003c/li\u003e\\n\"+\n \"\u003c/ul\u003e\\n\"+\n \"\u003ccode\u003e\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources\u003dINLINE)\\n\"+\n \"\u003c/code\u003e\\n\"+\n \"\u003c/div\u003e\"}};\n\n function display_loaded() {\n var el \u003d document.getElementById(\"1002\");\n if (el !\u003d null) {\n el.textContent \u003d \"BokehJS is loading...\";\n }\n if (root.Bokeh !\u003d\u003d undefined) {\n if (el !\u003d null) {\n el.textContent \u003d \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() \u003c root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback !\u003d null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls \u003d\u003d null) css_urls \u003d [];\n if (js_urls \u003d\u003d null) js_urls \u003d [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading \u003e 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls \u003d\u003d null || js_urls.length \u003d\u003d\u003d 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading \u003d css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading \u003d\u003d\u003d 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i \u003d 0; i \u003c css_urls.length; i++) {\n const url \u003d css_urls[i];\n const element \u003d document.createElement(\"link\");\n element.onload \u003d on_load;\n element.onerror \u003d on_error.bind(null, url);\n element.rel \u003d \"stylesheet\";\n element.type \u003d \"text/css\";\n element.href \u003d url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n const hashes \u003d {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.3.min.js\": \"dM3QQsP+wXdHg42wTqW85BjZQdLNNIXqlPw/BgKoExPmTG7ZLML4EGqLMfqHT6ON\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.3.min.js\": \"8x57I4YuIfu8XyZfFo0XVr2WAT8EK4rh/uDe3wF7YuW2FNUSNEpJbsPaB1nJ2fz2\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.3.min.js\": \"3QTqdz9LyAm2i0sG5XTePsHec3UHWwVsrOL68SYRoAXsafvfAyqtQ+h440+qIBhS\"};\n\n for (let i \u003d 0; i \u003c js_urls.length; i++) {\n const url \u003d js_urls[i];\n const element \u003d document.createElement(\u0027script\u0027);\n element.onload \u003d on_load;\n element.onerror \u003d on_error.bind(null, url);\n element.async \u003d false;\n element.src \u003d url;\n if (url in hashes) {\n element.crossOrigin \u003d \"anonymous\";\n element.integrity \u003d \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element \u003d document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls \u003d [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.3.min.js\"];\n var css_urls \u003d [];\n \n\n var inline_js \u003d [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !\u003d\u003d undefined || force \u003d\u003d\u003d true) {\n \n for (var i \u003d 0; i \u003c inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force \u003d\u003d\u003d true) {\n display_loaded();\n }} else if (Date.now() \u003c root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load \u003d true;\n } else if (force !\u003d\u003d true) {\n var cell \u003d $(document.getElementById(\"1002\")).parents(\u0027.cell\u0027).data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading \u003d\u003d\u003d 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window)); \u003c/script\u003e\n"
}
]
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637676_907388241",
"id": "20170621-112503_896367416",
"dateCreated": "2020-01-07 17:00:37.676",
"dateStarted": "2021-07-26 04:31:57.569",
"dateFinished": "2021-07-26 04:32:15.826",
"status": "FINISHED"
},
{
"title": "Generate Data",
"text": "%spark.pyspark\n\nimport numpy as np\nfrom bokeh.io import output_notebook, show\nfrom bokeh.plotting import figure\n\n\nnum \u003d 1000\nx \u003d np.linspace(0, 10, num)\ny \u003d 2 * x + np.random.normal(0,4, num)\n\np \u003d figure()\np.circle(x, y)\nshow(p)",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:15.892",
"progress": 0,
"config": {
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"colWidth": 6.0,
"editorMode": "ace/mode/python",
"title": true,
"results": {},
"enabled": true,
"fontSize": 9.0,
"runOnSelectionChange": true,
"checkEmpty": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "HTML",
"data": "\n\n\n\n\n\n \u003cdiv class\u003d\"bk-root\" id\u003d\"f10d9be9-2e8a-43ce-9d36-1220b5a7a5e4\" data-root-id\u003d\"1003\"\u003e\u003c/div\u003e\n\n"
},
{
"type": "HTML",
"data": "\u003cscript\u003e (function(root) {\n function embed_document(root) {\n \n var docs_json \u003d {\"e803d4a1-2663-44a2-bbb5-7490333e25ae\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1012\"}],\"center\":[{\"id\":\"1015\"},{\"id\":\"1019\"}],\"left\":[{\"id\":\"1016\"}],\"renderers\":[{\"id\":\"1037\"}],\"title\":{\"id\":\"1040\"},\"toolbar\":{\"id\":\"1027\"},\"x_range\":{\"id\":\"1004\"},\"x_scale\":{\"id\":\"1008\"},\"y_range\":{\"id\":\"1006\"},\"y_scale\":{\"id\":\"1010\"}},\"id\":\"1003\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1006\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1004\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1040\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1008\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1016\"},\"dimension\":1,\"ticker\":null},\"id\":\"1019\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"1026\"}},\"id\":\"1022\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"1043\"},\"major_label_policy\":{\"id\":\"1042\"},\"ticker\":{\"id\":\"1017\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{\"formatter\":{\"id\":\"1046\"},\"major_label_policy\":{\"id\":\"1045\"},\"ticker\":{\"id\":\"1013\"}},\"id\":\"1012\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1035\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1042\",\"type\":\"AllLabels\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"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\u003d\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1000]},\"y\":{\"__ndarray__\":\"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\u003d\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1000]}},\"selected\":{\"id\":\"1048\"},\"selection_policy\":{\"id\":\"1047\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1023\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1026\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data_source\":{\"id\":\"1034\"},\"glyph\":{\"id\":\"1035\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1036\"},\"view\":{\"id\":\"1038\"}},\"id\":\"1037\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"1012\"},\"ticker\":null},\"id\":\"1015\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1034\"}},\"id\":\"1038\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"ResetTool\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1020\"},{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1013\",\"type\":\"BasicTicker\"}],\"root_ids\":[\"1003\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.3\"}};\n var render_items \u003d [{\"docid\":\"e803d4a1-2663-44a2-bbb5-7490333e25ae\",\"root_ids\":[\"1003\"],\"roots\":{\"1003\":\"f10d9be9-2e8a-43ce-9d36-1220b5a7a5e4\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n\n }\n if (root.Bokeh !\u003d\u003d undefined) {\n embed_document(root);\n } else {\n var attempts \u003d 0;\n var timer \u003d setInterval(function(root) {\n if (root.Bokeh !\u003d\u003d undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts \u003e 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window); \u003c/script\u003e\n"
}
]
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637677_-677869302",
"id": "20170621-112549_1048642377",
"dateCreated": "2020-01-07 17:00:37.677",
"dateStarted": "2021-07-26 04:32:15.895",
"dateFinished": "2021-07-26 04:32:16.138",
"status": "FINISHED"
},
{
"title": "Linear Regression",
"text": "%spark.pyspark\n\n\nfrom pyspark.ml.regression import LinearRegression\nimport pandas as pd\nfrom pyspark.ml.linalg import DenseVector, Vectors, VectorUDT\nfrom pyspark.sql.functions import udf\nfrom pyspark.sql.types import UserDefinedType, StringType\n\nto_vector \u003d udf(lambda x: Vectors.dense(x), VectorUDT())\n\ndf \u003d pd.DataFrame({\u0027features\u0027: x, \u0027label\u0027: y})\ntraining \u003d spark.createDataFrame(df).withColumn(\u0027features\u0027, to_vector(\u0027features\u0027))\n\nlr \u003d LinearRegression(maxIter\u003d50, regParam\u003d0.3, elasticNetParam\u003d0.8, solver\u003d\u0027l-bfgs\u0027)\n\n# Fit the model\nlrModel \u003d lr.fit(training)\n\n# Print the coefficients and intercept for linear regression\nprint(\"Coefficients: %s\" % str(lrModel.coefficients))\nprint(\"Intercept: %s\" % str(lrModel.intercept))\n\n# Summarize the model over the training set and print out some metrics\ntrainingSummary \u003d lrModel.summary\nprint(\"numIterations: %d\" % trainingSummary.totalIterations)\nprint(\"objectiveHistory: %s\" % str(trainingSummary.objectiveHistory))\ntrainingSummary.residuals.show()\nprint(\"RMSE: %f\" % trainingSummary.rootMeanSquaredError)\nprint(\"r2: %f\" % trainingSummary.r2)\n\n\n",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:16.195",
"progress": 100,
"config": {
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"colWidth": 6.0,
"editorMode": "ace/mode/python",
"title": true,
"results": {},
"enabled": true,
"fontSize": 9.0,
"runOnSelectionChange": true,
"checkEmpty": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "TEXT",
"data": "Coefficients: [1.9367837330953086]\nIntercept: 0.31946056039263304\nnumIterations: 2\nobjectiveHistory: [0.49950000000000033, 0.424180453174143, 0.18300563355387592]\n+--------------------+\n| residuals|\n+--------------------+\n| -2.833166305176022|\n| -0.7068594675252808|\n| 0.1322891865273667|\n| 5.456616501979674|\n| 0.8225765174346039|\n| 3.774681833437321|\n|-0.03607428902607...|\n| -2.032649908137373|\n| -4.083954805729507|\n| -4.591691412436773|\n| 2.6705538935268467|\n| 2.269737051649101|\n| 2.22074748343437|\n| 3.6738694179491995|\n| -5.647995770675787|\n| 0.44724887877671227|\n| 2.7171755410366|\n| -2.894179997049915|\n| 2.0272052033953236|\n| -0.6040963708941917|\n+--------------------+\nonly showing top 20 rows\n\nRMSE: 3.912953\nr2: 0.692876\n"
}
]
},
"apps": [],
"runtimeInfos": {
"jobUrl": {
"propertyName": "jobUrl",
"label": "SPARK JOB",
"tooltip": "View in Spark web UI",
"group": "spark",
"values": [
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d0"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d1"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d2"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d3"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d4"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d5"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d6"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d7"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d8"
}
],
"interpreterSettingId": "spark"
}
},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637679_-1199864234",
"id": "20170621-120434_191947265",
"dateCreated": "2020-01-07 17:00:37.679",
"dateStarted": "2021-07-26 04:32:16.198",
"dateFinished": "2021-07-26 04:32:24.250",
"status": "FINISHED"
},
{
"title": "Linear Regression",
"text": "%spark.pyspark\n\n\np \u003d figure()\np.circle(x, y)\n\ny_predict \u003d x * lrModel.coefficients + (lrModel.intercept)\np.line(x, y_predict, color\u003d\u0027red\u0027, line_width\u003d3)\n\nshow(p)",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:24.305",
"progress": 0,
"config": {
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"colWidth": 6.0,
"editorMode": "ace/mode/python",
"title": true,
"results": {},
"enabled": true,
"fontSize": 9.0,
"runOnSelectionChange": true,
"checkEmpty": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "HTML",
"data": "\n\n\n\n\n\n \u003cdiv class\u003d\"bk-root\" id\u003d\"bd67be9e-bf3d-494b-9f76-aff0479ccffd\" data-root-id\u003d\"1105\"\u003e\u003c/div\u003e\n\n"
},
{
"type": "HTML",
"data": "\u003cscript\u003e (function(root) {\n function embed_document(root) {\n \n var docs_json \u003d {\"6e71fb5a-11ee-4c7c-b3c0-174b3cf61f72\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1114\"}],\"center\":[{\"id\":\"1117\"},{\"id\":\"1121\"}],\"left\":[{\"id\":\"1118\"}],\"renderers\":[{\"id\":\"1139\"},{\"id\":\"1144\"}],\"title\":{\"id\":\"1158\"},\"toolbar\":{\"id\":\"1129\"},\"x_range\":{\"id\":\"1106\"},\"x_scale\":{\"id\":\"1110\"},\"y_range\":{\"id\":\"1108\"},\"y_scale\":{\"id\":\"1112\"}},\"id\":\"1105\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"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\u003d\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1000]},\"y\":{\"__ndarray__\":\"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\u003d\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1000]}},\"selected\":{\"id\":\"1166\"},\"selection_policy\":{\"id\":\"1165\"}},\"id\":\"1136\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1168\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAACSAHNIICEPwJIAc0ggJQ/A+yBMzHAnj8CSAHNIICkPwKaQQApoKk/A+yBMzHArj8CH2GzHPCxPwJIAc0ggLQ/AnGh5iQQtz8CmkEAKaC5PwPD4RktMLw/A+yBMzHAvj+CCpGmGqjAPwIfYbMc8ME/gjMxwB44wz8CSAHNIIDEP4Jc0dkiyMU/AnGh5iQQxz+ChXHzJljIPwKaQQApoMk/g64RDSvoyj8Dw+EZLTDMP4PXsSYveM0/A+yBMzHAzj9CACmgGQTQP4IKkaYaqNA/whT5rBtM0T8CH2GzHPDRP0IpybkdlNI/gjMxwB440z/CPZnGH9zTPwJIAc0ggNQ/QlJp0yEk1T+CXNHZIsjVP8JmOeAjbNY/AnGh5iQQ1z9CewntJbTXP4KFcfMmWNg/wo/Z+Sf82D8CmkEAKaDZP0OkqQYqRNo/g64RDSvo2j/DuHkTLIzbPwPD4RktMNw/Q81JIC7U3D+D17EmL3jdP8PhGS0wHN4/A+yBMzHA3j9D9uk5MmTfP0IAKaAZBOA/YgVdIxpW4D+CCpGmGqjgP6IPxSkb+uA/whT5rBtM4T/iGS0wHJ7hPwIfYbMc8OE/IiSVNh1C4j9CKcm5HZTiP2Iu/Twe5uI/gjMxwB444z+iOGVDH4rjP8I9mcYf3OM/4kLNSSAu5D8CSAHNIIDkPyJNNVAh0uQ/QlJp0yEk5T9iV51WInblP4Jc0dkiyOU/omEFXSMa5j/CZjngI2zmP+JrbWMkvuY/AnGh5iQQ5z8idtVpJWLnP0J7Ce0ltOc/YoA9cCYG6D+ChXHzJljoP6KKpXYnqug/wo/Z+Sf86D/ilA19KE7pPwKaQQApoOk/I591gyny6T9DpKkGKkTqP2Op3Ykqluo/g64RDSvo6j+js0WQKzrrP8O4eRMsjOs/472tlize6z8Dw+EZLTDsPyPIFZ0tguw/Q81JIC7U7D9j0n2jLibtP4PXsSYveO0/o9zlqS/K7T/D4RktMBzuP+PmTbAwbu4/A+yBMzHA7j8j8bW2MRLvP0P26TkyZO8/Y/sdvTK27z9CACmgGQTwP9ICw+EZLfA/YgVdIxpW8D/yB/dkGn/wP4IKkaYaqPA/Eg0r6BrR8D+iD8UpG/rwPzISX2sbI/E/whT5rBtM8T9SF5PuG3XxP+IZLTAcnvE/chzHcRzH8T8CH2GzHPDxP5Ih+/QcGfI/IiSVNh1C8j+yJi94HWvyP0IpybkdlPI/0itj+x298j9iLv08HubyP/Iwl34eD/M/gjMxwB448z8SNssBH2HzP6I4ZUMfivM/Mjv/hB+z8z/CPZnGH9zzP1JAMwggBfQ/4kLNSSAu9D9yRWeLIFf0PwJIAc0ggPQ/kkqbDiGp9D8iTTVQIdL0P7JPz5Eh+/Q/QlJp0yEk9T/SVAMVIk31P2JXnVYidvU/8lk3mCKf9T+CXNHZIsj1PxJfaxsj8fU/omEFXSMa9j8yZJ+eI0P2P8JmOeAjbPY/UmnTISSV9j/ia21jJL72P3JuB6Uk5/Y/AnGh5iQQ9z+SczsoJTn3PyJ21WklYvc/snhvqyWL9z9CewntJbT3P9J9oy4m3fc/YoA9cCYG+D/ygtexJi/4P4KFcfMmWPg/EogLNSeB+D+iiqV2J6r4PzKNP7gn0/g/wo/Z+Sf8+D9SknM7KCX5P+KUDX0oTvk/cpenvih3+T8CmkEAKaD5P5Oc20Epyfk/I591gyny+T+zoQ/FKRv6P0OkqQYqRPo/06ZDSCpt+j9jqd2JKpb6P/Ord8sqv/o/g64RDSvo+j8TsatOKxH7P6OzRZArOvs/M7bf0Stj+z/DuHkTLIz7P1O7E1Ustfs/472tlize+z9zwEfYLAf8PwPD4RktMPw/k8V7Wy1Z/D8jyBWdLYL8P7PKr94tq/w/Q81JIC7U/D/Tz+NhLv38P2PSfaMuJv0/89QX5S5P/T+D17EmL3j9PxPaS2gvof0/o9zlqS/K/T8z33/rL/P9P8PhGS0wHP4/U+SzbjBF/j/j5k2wMG7+P3Pp5/Ewl/4/A+yBMzHA/j+T7ht1Men+PyPxtbYxEv8/s/NP+DE7/z9D9uk5MmT/P9P4g3syjf8/Y/sdvTK2/z/z/bf+Mt//P0IAKaAZBABAigH2wJkYAEDSAsPhGS0AQBoEkAKaQQBAYgVdIxpWAECqBipEmmoAQPIH92QafwBAOgnEhZqTAECCCpGmGqgAQMoLXseavABAEg0r6BrRAEBaDvgIm+UAQKIPxSkb+gBA6hCSSpsOAUAyEl9rGyMBQHoTLIybNwFAwhT5rBtMAUAKFsbNm2ABQFIXk+4bdQFAmhhgD5yJAUDiGS0wHJ4BQCob+lCcsgFAchzHcRzHAUC6HZSSnNsBQAIfYbMc8AFASiAu1JwEAkCSIfv0HBkCQNoiyBWdLQJAIiSVNh1CAkBqJWJXnVYCQLImL3gdawJA+if8mJ1/AkBCKcm5HZQCQIoqltqdqAJA0itj+x29AkAaLTAcntECQGIu/Twe5gJAqi/KXZ76AkDyMJd+Hg8DQDoyZJ+eIwNAgjMxwB44A0DKNP7gnkwDQBI2ywEfYQNAWjeYIp91A0CiOGVDH4oDQOo5MmSfngNAMjv/hB+zA0B6PMyln8cDQMI9mcYf3ANACj9m55/wA0BSQDMIIAUEQJpBACmgGQRA4kLNSSAuBEAqRJpqoEIEQHJFZ4sgVwRAukY0rKBrBEACSAHNIIAEQEpJzu2glARAkkqbDiGpBEDaS2gvob0EQCJNNVAh0gRAak4CcaHmBECyT8+RIfsEQPpQnLKhDwVAQlJp0yEkBUCKUzb0oTgFQNJUAxUiTQVAGlbQNaJhBUBiV51WInYFQKpYaneiigVA8lk3mCKfBUA6WwS5orMFQIJc0dkiyAVAyl2e+qLcBUASX2sbI/EFQFpgODyjBQZAomEFXSMaBkDqYtJ9oy4GQDJkn54jQwZAemVsv6NXBkDCZjngI2wGQApoBgGkgAZAUmnTISSVBkCaaqBCpKkGQOJrbWMkvgZAKm06hKTSBkBybgelJOcGQLpv1MWk+wZAAnGh5iQQB0BKcm4HpSQHQJJzOyglOQdA2nQISaVNB0AidtVpJWIHQGp3ooqldgdAsnhvqyWLB0D6eTzMpZ8HQEJ7Ce0ltAdAinzWDabIB0DSfaMuJt0HQBp/cE+m8QdAYoA9cCYGCECqgQqRphoIQPKC17EmLwhAOoSk0qZDCECChXHzJlgIQMqGPhSnbAhAEogLNSeBCEBaidhVp5UIQKKKpXYnqghA6otyl6e+CEAyjT+4J9MIQHqODNmn5whAwo/Z+Sf8CEAKkaYaqBAJQFKSczsoJQlAmpNAXKg5CUDilA19KE4JQCqW2p2oYglAcpenvih3CUC6mHTfqIsJQAKaQQApoAlAS5sOIam0CUCTnNtBKckJQNudqGKp3QlAI591gynyCUBroEKkqQYKQLOhD8UpGwpA+6Lc5akvCkBDpKkGKkQKQIuldieqWApA06ZDSCptCkAbqBBpqoEKQGOp3YkqlgpAq6qqqqqqCkDzq3fLKr8KQDutROyq0wpAg64RDSvoCkDLr94tq/wKQBOxq04rEQtAW7J4b6slC0Cjs0WQKzoLQOu0ErGrTgtAM7bf0StjC0B7t6zyq3cLQMO4eRMsjAtAC7pGNKygC0BTuxNVLLULQJu84HWsyQtA472tlizeC0Arv3q3rPILQHPAR9gsBwxAu8EU+awbDEADw+EZLTAMQEvErjqtRAxAk8V7Wy1ZDEDbxkh8rW0MQCPIFZ0tggxAa8niva2WDECzyq/eLasMQPvLfP+tvwxAQ81JIC7UDECLzhZBrugMQNPP42Eu/QxAG9Gwgq4RDUBj0n2jLiYNQKvTSsSuOg1A89QX5S5PDUA71uQFr2MNQIPXsSYveA1Ay9h+R6+MDUAT2ktoL6ENQFvbGImvtQ1Ao9zlqS/KDUDr3bLKr94NQDPff+sv8w1Ae+BMDLAHDkDD4RktMBwOQAvj5k2wMA5AU+SzbjBFDkCb5YCPsFkOQOPmTbAwbg5AK+ga0bCCDkBz6efxMJcOQLvqtBKxqw5AA+yBMzHADkBL7U5UsdQOQJPuG3Ux6Q5A2+/olbH9DkAj8bW2MRIPQGvygtexJg9As/NP+DE7D0D79BwZsk8PQEP26TkyZA9Ai/e2WrJ4D0DT+IN7Mo0PQBv6UJyyoQ9AY/sdvTK2D0Cr/OrdssoPQPP9t/4y3w9AO/+EH7PzD0BCACmgGQQQQOaAj7BZDhBAigH2wJkYEEAuglzR2SIQQNICw+EZLRBAdoMp8lk3EEAaBJACmkEQQL6E9hLaSxBAYgVdIxpWEEAGhsMzWmAQQKoGKkSaahBAToeQVNp0EEDyB/dkGn8QQJaIXXVaiRBAOgnEhZqTEEDeiSqW2p0QQIIKkaYaqBBAJov3tlqyEEDKC17HmrwQQG6MxNfaxhBAEg0r6BrREEC2jZH4WtsQQFoO+Aib5RBA/o5eGdvvEECiD8UpG/oQQEaQKzpbBBFA6hCSSpsOEUCOkfha2xgRQDISX2sbIxFA1pLFe1stEUB6EyyMmzcRQB6UkpzbQRFAwhT5rBtMEUBmlV+9W1YRQAoWxs2bYBFArpYs3ttqEUBSF5PuG3URQPaX+f5bfxFAmhhgD5yJEUA+mcYf3JMRQOIZLTAcnhFAhpqTQFyoEUAqG/pQnLIRQM6bYGHcvBFAchzHcRzHEUAWnS2CXNERQLodlJKc2xFAXp76otzlEUACH2GzHPARQKafx8Nc+hFASiAu1JwEEkDuoJTk3A4SQJIh+/QcGRJANqJhBV0jEkDaIsgVnS0SQH6jLibdNxJAIiSVNh1CEkDGpPtGXUwSQGolYledVhJADqbIZ91gEkCyJi94HWsSQFanlYhddRJA+if8mJ1/EkCeqGKp3YkSQEIpybkdlBJA5qkvyl2eEkCKKpbanagSQC6r/OrdshJA0itj+x29EkB2rMkLXscSQBotMBye0RJAvq2WLN7bEkBiLv08HuYSQAavY01e8BJAqi/KXZ76EkBOsDBu3gQTQPIwl34eDxNAlrH9jl4ZE0A6MmSfniMTQN6yyq/eLRNAgjMxwB44E0AmtJfQXkITQMo0/uCeTBNAbrVk8d5WE0ASNssBH2ETQLa2MRJfaxNAWjeYIp91E0D+t/4y338TQKI4ZUMfihNARrnLU1+UE0DqOTJkn54TQI66mHTfqBNAMjv/hB+zE0DWu2WVX70TQHo8zKWfxxNAHr0ytt/RE0DCPZnGH9wTQGa+/9Zf5hNACj9m55/wE0Cuv8z33/oTQFJAMwggBRRA9sCZGGAPFECaQQApoBkUQD7CZjngIxRA4kLNSSAuFECGwzNaYDgUQCpEmmqgQhRAzsQAe+BMFEByRWeLIFcUQBbGzZtgYRRAukY0rKBrFEBex5q84HUUQAJIAc0ggBRApshn3WCKFEBKSc7toJQUQO7JNP7gnhRAkkqbDiGpFEA2ywEfYbMUQNpLaC+hvRRAfszOP+HHFEAiTTVQIdIUQMbNm2Bh3BRAak4CcaHmFEAOz2iB4fAUQLJPz5Eh+xRAVtA1omEFFUD6UJyyoQ8VQJ7RAsPhGRVAQlJp0yEkFUDm0s/jYS4VQIpTNvShOBVALtScBOJCFUDSVAMVIk0VQHbVaSViVxVAGlbQNaJhFUC+1jZG4msVQGJXnVYidhVABtgDZ2KAFUCqWGp3oooVQE7Z0IfilBVA8lk3mCKfFUCW2p2oYqkVQDpbBLmisxVA3ttqyeK9FUCCXNHZIsgVQCbdN+pi0hVAyl2e+qLcFUBu3gQL4+YVQBJfaxsj8RVAtt/RK2P7FUBaYDg8owUWQP7gnkzjDxZAomEFXSMaFkBG4mttYyQWQOpi0n2jLhZAjuM4juM4FkAyZJ+eI0MWQNbkBa9jTRZAemVsv6NXFkAe5tLP42EWQMJmOeAjbBZAZuef8GN2FkAKaAYBpIAWQK7obBHkihZAUmnTISSVFkD26TkyZJ8WQJpqoEKkqRZAPusGU+SzFkDia21jJL4WQIbs03NkyBZAKm06hKTSFkDO7aCU5NwWQHJuB6Uk5xZAFu9ttWTxFkC6b9TFpPsWQF7wOtbkBRdAAnGh5iQQF0Cm8Qf3ZBoXQEpybgelJBdA7vLUF+UuF0CSczsoJTkXQDb0oThlQxdA2nQISaVNF0B+9W5Z5VcXQCJ21WklYhdAxvY7emVsF0Bqd6KKpXYXQA74CJvlgBdAsnhvqyWLF0BW+dW7ZZUXQPp5PMylnxdAnvqi3OWpF0BCewntJbQXQOb7b/1lvhdAinzWDabIF0Au/Twe5tIXQNJ9oy4m3RdAdv4JP2bnF0Aaf3BPpvEXQL7/1l/m+xdAYoA9cCYGGEAGAaSAZhAYQKqBCpGmGhhATgJxoeYkGEDygtexJi8YQJYDPsJmORhAOoSk0qZDGEDeBAvj5k0YQIKFcfMmWBhAJgbYA2diGEDKhj4Up2wYQG4HpSTndhhAEogLNSeBGEC2CHJFZ4sYQFqJ2FWnlRhA/gk/ZuefGECiiqV2J6oYQEYLDIdntBhA6otyl6e+GECODNmn58gYQDKNP7gn0xhA1g2myGfdGEB6jgzZp+cYQB4Pc+nn8RhAwo/Z+Sf8GEBmEEAKaAYZQAqRphqoEBlArhENK+gaGUBSknM7KCUZQPYS2ktoLxlAmpNAXKg5GUA+FKds6EMZQOKUDX0oThlAhhV0jWhYGUAqltqdqGIZQM4WQa7obBlAcpenvih3GUAWGA7PaIEZQLqYdN+oixlAXhnb7+iVGUACmkEAKaAZQKcaqBBpqhlAS5sOIam0GUDvG3Ux6b4ZQJOc20EpyRlANx1CUmnTGUDbnahiqd0ZQH8eD3Pp5xlAI591gynyGUDHH9yTafwZQGugQqSpBhpADyGptOkQGkCzoQ/FKRsaQFcidtVpJRpA+6Lc5akvGkCfI0P26TkaQEOkqQYqRBpA5yQQF2pOGkCLpXYnqlgaQC8m3TfqYhpA06ZDSCptGkB3J6pYancaQBuoEGmqgRpAvyh3eeqLGkBjqd2JKpYaQAcqRJpqoBpAq6qqqqqqGkBPKxG76rQaQPOrd8sqvxpAlyze22rJGkA7rUTsqtMaQN8tq/zq3RpAg64RDSvoGkAnL3gda/IaQMuv3i2r/BpAbzBFPusGG0ATsatOKxEbQLcxEl9rGxtAW7J4b6slG0D/Mt9/6y8bQKOzRZArOhtARzSsoGtEG0DrtBKxq04bQI81ecHrWBtAM7bf0StjG0DXNkbia20bQHu3rPKrdxtAHzgTA+yBG0DDuHkTLIwbQGc54CNslhtAC7pGNKygG0CvOq1E7KobQFO7E1UstRtA9zt6ZWy/G0CbvOB1rMkbQD89R4bs0xtA472tlizeG0CHPhSnbOgbQCu/eres8htAzz/hx+z8G0BzwEfYLAccQBdBruhsERxAu8EU+awbHEBfQnsJ7SUcQAPD4RktMBxAp0NIKm06HEBLxK46rUQcQO9EFUvtThxAk8V7Wy1ZHEA3RuJrbWMcQNvGSHytbRxAf0evjO13HEAjyBWdLYIcQMdIfK1tjBxAa8niva2WHEAPSknO7aAcQLPKr94tqxxAV0sW7221HED7y3z/rb8cQJ9M4w/uyRxAQ81JIC7UHEDnTbAwbt4cQIvOFkGu6BxAL099Ue7yHEDTz+NhLv0cQHdQSnJuBx1AG9Gwgq4RHUC/UReT7hsdQGPSfaMuJh1AB1Pks24wHUCr00rErjodQE9UsdTuRB1A89QX5S5PHUCXVX71blkdQDvW5AWvYx1A31ZLFu9tHUCD17EmL3gdQCdYGDdvgh1Ay9h+R6+MHUBvWeVX75YdQBPaS2gvoR1At1qyeG+rHUBb2xiJr7UdQP9bf5nvvx1Ao9zlqS/KHUBHXUy6b9QdQOvdssqv3h1Aj14Z2+/oHUAz33/rL/MdQNdf5vtv/R1Ae+BMDLAHHkAfYbMc8BEeQMPhGS0wHB5AZ2KAPXAmHkAL4+ZNsDAeQK9jTV7wOh5AU+SzbjBFHkD3ZBp/cE8eQJvlgI+wWR5AP2bnn/BjHkDj5k2wMG4eQIdntMBweB5AK+ga0bCCHkDPaIHh8IweQHPp5/Ewlx5AF2pOAnGhHkC76rQSsaseQF9rGyPxtR5AA+yBMzHAHkCnbOhDccoeQEvtTlSx1B5A7221ZPHeHkCT7ht1MekeQDdvgoVx8x5A2+/olbH9HkB/cE+m8QcfQCPxtbYxEh9Ax3Ecx3EcH0Br8oLXsSYfQA9z6efxMB9As/NP+DE7H0BXdLYIckUfQPv0HBmyTx9An3WDKfJZH0BD9uk5MmQfQOd2UEpybh9Ai/e2WrJ4H0AveB1r8oIfQNP4g3syjR9Ad3nqi3KXH0Ab+lCcsqEfQL96t6zyqx9AY/sdvTK2H0AHfITNcsAfQKv86t2yyh9AT31R7vLUH0Dz/bf+Mt8fQJd+Hg9z6R9AO/+EH7PzH0Dff+sv8/0fQEIAKaAZBCBAlEBcqDkJIEDmgI+wWQ4gQDjBwrh5EyBAigH2wJkYIEDcQSnJuR0gQC6CXNHZIiBAgMKP2fknIEDSAsPhGS0gQCRD9uk5MiBAdoMp8lk3IEDIw1z6eTwgQBoEkAKaQSBAbETDCrpGIEC+hPYS2ksgQBDFKRv6UCBAYgVdIxpWIEC0RZArOlsgQAaGwzNaYCBAWMb2O3plIECqBipEmmogQPxGXUy6byBAToeQVNp0IECgx8Nc+nkgQPIH92QafyBAREgqbTqEIECWiF11WokgQOjIkH16jiBAOgnEhZqTIECMSfeNupggQN6JKpbanSBAMMpdnvqiIECCCpGmGqggQNRKxK46rSBAJov3tlqyIEB4yyq/ercgQMoLXseavCBAHEyRz7rBIEBujMTX2sYgQMDM99/6yyBAEg0r6BrRIEBkTV7wOtYgQLaNkfha2yBACM7EAHvgIEBaDvgIm+UgQKxOKxG76iBA/o5eGdvvIEBQz5Eh+/QgQKIPxSkb+iBA9E/4MTv/IEBGkCs6WwQhQJjQXkJ7CSFA6hCSSpsOIUA8UcVSuxMhQI6R+FrbGCFA4NErY/sdIUAyEl9rGyMhQIRSknM7KCFA1pLFe1stIUAo0/iDezIhQHoTLIybNyFAzFNflLs8IUAelJKc20EhQHDUxaT7RiFAwhT5rBtMIUAUVSy1O1EhQGaVX71bViFAuNWSxXtbIUAKFsbNm2AhQFxW+dW7ZSFArpYs3ttqIUAA11/m+28hQFIXk+4bdSFApFfG9jt6IUD2l/n+W38hQEjYLAd8hCFAmhhgD5yJIUDsWJMXvI4hQD6Zxh/ckyFAkNn5J/yYIUDiGS0wHJ4hQDRaYDg8oyFAhpqTQFyoIUDY2sZIfK0hQCob+lCcsiFAfFstWby3IUDOm2Bh3LwhQCDck2n8wSFAchzHcRzHIUDEXPp5PMwhQBadLYJc0SFAaN1ginzWIUC6HZSSnNshQAxex5q84CFAXp76otzlIUCw3i2r/OohQAIfYbMc8CFAVF+Uuzz1IUCmn8fDXPohQPjf+st8/yFASiAu1JwEIkCcYGHcvAkiQO6glOTcDiJAQOHH7PwTIkCSIfv0HBkiQORhLv08HiJANqJhBV0jIkCI4pQNfSgiQNoiyBWdLSJALGP7Hb0yIkB+oy4m3TciQNDjYS79PCJAIiSVNh1CIkB0ZMg+PUciQMak+0ZdTCJAGOUuT31RIkBqJWJXnVYiQLxllV+9WyJADqbIZ91gIkBg5vtv/WUiQLImL3gdayJABGdigD1wIkBWp5WIXXUiQKjnyJB9eiJA+if8mJ1/IkBMaC+hvYQiQJ6oYqndiSJA8OiVsf2OIkBCKcm5HZQiQJRp/ME9mSJA5qkvyl2eIkA46mLSfaMiQIoqltqdqCJA3GrJ4r2tIkAuq/zq3bIiQIDrL/P9tyJA0itj+x29IkAkbJYDPsIiQHasyQtexyJAyOz8E37MIkAaLTAcntEiQGxtYyS+1iJAvq2WLN7bIkAQ7sk0/uAiQGIu/Twe5iJAtG4wRT7rIkAGr2NNXvAiQFjvllV+9SJAqi/KXZ76IkD8b/1lvv8iQE6wMG7eBCNAoPBjdv4JI0DyMJd+Hg8jQERxyoY+FCNAlrH9jl4ZI0Do8TCXfh4jQDoyZJ+eIyNAjHKXp74oI0Dessqv3i0jQDDz/bf+MiNAgjMxwB44I0DUc2TIPj0jQCa0l9BeQiNAePTK2H5HI0DKNP7gnkwjQBx1Mem+USNAbrVk8d5WI0DA9Zf5/lsjQBI2ywEfYSNAZHb+CT9mI0C2tjESX2sjQAj3ZBp/cCNAWjeYIp91I0Csd8sqv3ojQP63/jLffyNAUPgxO/+EI0CiOGVDH4ojQPR4mEs/jyNARrnLU1+UI0CY+f5bf5kjQOo5MmSfniNAPHplbL+jI0COuph036gjQOD6y3z/rSNAMjv/hB+zI0CEezKNP7gjQNa7ZZVfvSNAKPyYnX/CI0B6PMyln8cjQMx8/62/zCNAHr0ytt/RI0Bw/WW+/9YjQMI9mcYf3CNAFH7Mzj/hI0Bmvv/WX+YjQLj+Mt9/6yNACj9m55/wI0Bcf5nvv/UjQK6/zPff+iNAAAAAAAAAJEA\u003d\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1000]},\"y\":{\"__ndarray__\":\"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\u003d\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1000]}},\"selected\":{\"id\":\"1168\"},\"selection_policy\":{\"id\":\"1167\"}},\"id\":\"1141\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"1141\"},\"glyph\":{\"id\":\"1142\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1143\"},\"view\":{\"id\":\"1145\"}},\"id\":\"1144\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"1114\"},\"ticker\":null},\"id\":\"1117\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1143\",\"type\":\"Line\"},{\"attributes\":{\"formatter\":{\"id\":\"1161\"},\"major_label_policy\":{\"id\":\"1160\"},\"ticker\":{\"id\":\"1119\"}},\"id\":\"1118\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1115\",\"type\":\"BasicTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"1164\"},\"major_label_policy\":{\"id\":\"1163\"},\"ticker\":{\"id\":\"1115\"}},\"id\":\"1114\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1110\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1127\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1108\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1167\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1142\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis\":{\"id\":\"1118\"},\"dimension\":1,\"ticker\":null},\"id\":\"1121\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"SaveTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1137\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1138\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"1128\"}},\"id\":\"1124\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1119\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1161\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1112\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1123\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1160\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1136\"},\"glyph\":{\"id\":\"1137\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1138\"},\"view\":{\"id\":\"1140\"}},\"id\":\"1139\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1128\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"1136\"}},\"id\":\"1140\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1106\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1141\"}},\"id\":\"1145\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1163\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1165\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1122\"},{\"id\":\"1123\"},{\"id\":\"1124\"},{\"id\":\"1125\"},{\"id\":\"1126\"},{\"id\":\"1127\"}]},\"id\":\"1129\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1164\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1166\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1158\",\"type\":\"Title\"}],\"root_ids\":[\"1105\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.3\"}};\n var render_items \u003d [{\"docid\":\"6e71fb5a-11ee-4c7c-b3c0-174b3cf61f72\",\"root_ids\":[\"1105\"],\"roots\":{\"1105\":\"bd67be9e-bf3d-494b-9f76-aff0479ccffd\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n\n }\n if (root.Bokeh !\u003d\u003d undefined) {\n embed_document(root);\n } else {\n var attempts \u003d 0;\n var timer \u003d setInterval(function(root) {\n if (root.Bokeh !\u003d\u003d undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts \u003e 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window); \u003c/script\u003e\n"
}
]
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637679_-622761908",
"id": "20170621-120503_149885741",
"dateCreated": "2020-01-07 17:00:37.679",
"dateStarted": "2021-07-26 04:32:24.308",
"dateFinished": "2021-07-26 04:32:24.545",
"status": "FINISHED"
},
{
"title": "Loss",
"text": "%spark.pyspark\n\np \u003d figure()\np.line(range(len(trainingSummary.objectiveHistory)), trainingSummary.objectiveHistory, color\u003d\u0027blue\u0027, line_width\u003d3)\nshow(p)\n\n\n\n",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:24.608",
"progress": 0,
"config": {
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"colWidth": 6.0,
"editorMode": "ace/mode/python",
"title": true,
"results": {},
"enabled": true,
"fontSize": 9.0,
"runOnSelectionChange": true,
"checkEmpty": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "HTML",
"data": "\n\n\n\n\n\n \u003cdiv class\u003d\"bk-root\" id\u003d\"f4804a89-bbda-45bb-b2c9-7f4348ad6b73\" data-root-id\u003d\"1235\"\u003e\u003c/div\u003e\n\n"
},
{
"type": "HTML",
"data": "\u003cscript\u003e (function(root) {\n function embed_document(root) {\n \n var docs_json \u003d {\"4ef43c57-2853-4063-a190-1291d756a0ea\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1244\"}],\"center\":[{\"id\":\"1247\"},{\"id\":\"1251\"}],\"left\":[{\"id\":\"1248\"}],\"renderers\":[{\"id\":\"1269\"}],\"title\":{\"id\":\"1296\"},\"toolbar\":{\"id\":\"1259\"},\"x_range\":{\"id\":\"1236\"},\"x_scale\":{\"id\":\"1240\"},\"y_range\":{\"id\":\"1238\"},\"y_scale\":{\"id\":\"1242\"}},\"id\":\"1235\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1296\",\"type\":\"Title\"},{\"attributes\":{\"axis\":{\"id\":\"1244\"},\"ticker\":null},\"id\":\"1247\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1298\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1256\",\"type\":\"ResetTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1258\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"overlay\":{\"id\":\"1258\"}},\"id\":\"1254\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1302\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1255\",\"type\":\"SaveTool\"},{\"attributes\":{\"data\":{\"x\":[0,1,2],\"y\":[0.49950000000000033,0.424180453174143,0.18300563355387592]},\"selected\":{\"id\":\"1304\"},\"selection_policy\":{\"id\":\"1303\"}},\"id\":\"1266\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1238\",\"type\":\"DataRange1d\"},{\"attributes\":{\"formatter\":{\"id\":\"1299\"},\"major_label_policy\":{\"id\":\"1298\"},\"ticker\":{\"id\":\"1249\"}},\"id\":\"1248\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1236\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1242\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1252\",\"type\":\"PanTool\"},{\"attributes\":{\"axis\":{\"id\":\"1248\"},\"dimension\":1,\"ticker\":null},\"id\":\"1251\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1303\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_color\":\"blue\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1267\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1301\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1304\",\"type\":\"Selection\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1252\"},{\"id\":\"1253\"},{\"id\":\"1254\"},{\"id\":\"1255\"},{\"id\":\"1256\"},{\"id\":\"1257\"}]},\"id\":\"1259\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1257\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1253\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1249\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1268\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1299\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1266\"}},\"id\":\"1270\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"1302\"},\"major_label_policy\":{\"id\":\"1301\"},\"ticker\":{\"id\":\"1245\"}},\"id\":\"1244\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"1266\"},\"glyph\":{\"id\":\"1267\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1268\"},\"view\":{\"id\":\"1270\"}},\"id\":\"1269\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1245\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1240\",\"type\":\"LinearScale\"}],\"root_ids\":[\"1235\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.3\"}};\n var render_items \u003d [{\"docid\":\"4ef43c57-2853-4063-a190-1291d756a0ea\",\"root_ids\":[\"1235\"],\"roots\":{\"1235\":\"f4804a89-bbda-45bb-b2c9-7f4348ad6b73\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n\n }\n if (root.Bokeh !\u003d\u003d undefined) {\n embed_document(root);\n } else {\n var attempts \u003d 0;\n var timer \u003d setInterval(function(root) {\n if (root.Bokeh !\u003d\u003d undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts \u003e 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window); \u003c/script\u003e\n"
}
]
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637681_1726402393",
"id": "20170621-120529_381271006",
"dateCreated": "2020-01-07 17:00:37.681",
"dateStarted": "2021-07-26 04:32:24.611",
"dateFinished": "2021-07-26 04:32:24.836",
"status": "FINISHED"
},
{
"title": "Download data for logics regression",
"text": "%sh\n\ncd /tmp\nrm -rf sample_binary_classification_data.txt\nwget https://github.com/apache/spark/raw/master/data/mllib/sample_binary_classification_data.txt\n",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:24.911",
"progress": 0,
"config": {
"runOnSelectionChange": true,
"title": true,
"checkEmpty": true,
"colWidth": 12.0,
"fontSize": 9.0,
"enabled": true,
"results": {},
"editorSetting": {
"language": "sh",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": false
},
"editorMode": "ace/mode/sh"
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "TEXT",
"data": "--2021-07-26 04:32:26-- https://github.com/apache/spark/raw/master/data/mllib/sample_binary_classification_data.txt\nResolving github.com (github.com)... 52.74.223.119\nConnecting to github.com (github.com)|52.74.223.119|:443... connected.\nHTTP request sent, awaiting response... 302 Found\nLocation: https://raw.githubusercontent.com/apache/spark/master/data/mllib/sample_binary_classification_data.txt [following]\n--2021-07-26 04:32:27-- https://raw.githubusercontent.com/apache/spark/master/data/mllib/sample_binary_classification_data.txt\nResolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.110.133, 185.199.109.133, ...\nConnecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 104736 (102K) [text/plain]\nSaving to: ‘sample_binary_classification_data.txt’\n\n 0K .......... .......... .......... .......... .......... 48% 24.0M 0s\n 50K .......... .......... .......... .......... .......... 97% 25.4M 0s\n 100K .. 100% 4351G\u003d0.004s\n\n2021-07-26 04:32:27 (25.2 MB/s) - ‘sample_binary_classification_data.txt’ saved [104736/104736]\n\n"
}
]
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1579425300864_833813189",
"id": "paragraph_1579425300864_833813189",
"dateCreated": "2020-01-19 17:15:00.864",
"dateStarted": "2021-07-26 04:32:24.915",
"dateFinished": "2021-07-26 04:32:27.906",
"status": "FINISHED"
},
{
"title": "Logistic Regression",
"text": "%spark.pyspark\n\nfrom pyspark.ml.classification import LogisticRegression\nfrom pyspark.ml.classification import NaiveBayes\nfrom pyspark.sql import SparkSession\nfrom pyspark.sql.functions import udf\nfrom pyspark.sql.types import DoubleType\n\n# Load data\ndataset \u003d spark.read.format(\"libsvm\").load(\"file:///tmp/sample_binary_classification_data.txt\")\ndataset \u003d dataset.randomSplit([0.7,0.3])\ntrainSet, testSet \u003d (dataset[0], dataset[1])\ntrainSet.cache()\ntestSet.cache()\n\nlr1 \u003d LogisticRegression(maxIter\u003d30, regParam\u003d0.1, elasticNetParam\u003d0.3)\n\n# Fit the model\nlrModel1 \u003d lr1.fit(trainSet)\nlrTrainingSummary1 \u003d lrModel1.summary\n\n# Obtain the objective per iteration\nobjectiveHistory1 \u003d lrTrainingSummary1.objectiveHistory\n\nevaluateSummary \u003d lrModel1.evaluate(testSet)\nevaluateSummary.areaUnderROC",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:27.917",
"progress": 33,
"config": {
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"colWidth": 6.0,
"editorMode": "ace/mode/python",
"title": true,
"results": {},
"enabled": true,
"fontSize": 9.0,
"runOnSelectionChange": true,
"checkEmpty": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "TEXT",
"data": "1.0"
}
]
},
"apps": [],
"runtimeInfos": {
"jobUrl": {
"propertyName": "jobUrl",
"label": "SPARK JOB",
"tooltip": "View in Spark web UI",
"group": "spark",
"values": [
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d9"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d10"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d11"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d12"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d13"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d14"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d15"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d16"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d17"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d18"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d19"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d20"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d21"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d22"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d23"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d24"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d25"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d26"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d27"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d28"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d29"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d30"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d31"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d32"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d33"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d34"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d35"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d36"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d37"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d38"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d39"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d40"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d41"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d42"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d43"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d44"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d45"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d46"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d47"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d48"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d49"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d50"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d51"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d52"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d53"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d54"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d55"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d56"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d57"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d58"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d59"
},
{
"jobUrl": "http://3745c7ed824d:4040/jobs/job?id\u003d60"
}
],
"interpreterSettingId": "spark"
}
},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637682_-1775952874",
"id": "20170621-120800_296677966",
"dateCreated": "2020-01-07 17:00:37.682",
"dateStarted": "2021-07-26 04:32:27.920",
"dateFinished": "2021-07-26 04:32:33.181",
"status": "FINISHED"
},
{
"title": "Loss",
"text": "%spark.pyspark\n\np \u003d figure()\np.line(x\u003drange(len(objectiveHistory1)), y\u003dobjectiveHistory1, color\u003d\u0027blue\u0027, line_width\u003d2, legend\u003d\u0027Loss of LR1\u0027)\nshow(p)",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:33.237",
"progress": 0,
"config": {
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"colWidth": 6.0,
"editorMode": "ace/mode/python",
"title": true,
"results": {
"0": {
"graph": {
"mode": "table",
"height": 300.0,
"optionOpen": false,
"setting": {
"table": {
"tableGridState": {},
"tableColumnTypeState": {
"names": {
"Col1": "string",
"Col2": "string"
},
"updated": false
},
"tableOptionSpecHash": "[{\"name\":\"useFilter\",\"valueType\":\"boolean\",\"defaultValue\":false,\"widget\":\"checkbox\",\"description\":\"Enable filter for columns\"},{\"name\":\"showPagination\",\"valueType\":\"boolean\",\"defaultValue\":false,\"widget\":\"checkbox\",\"description\":\"Enable pagination for better navigation\"},{\"name\":\"showAggregationFooter\",\"valueType\":\"boolean\",\"defaultValue\":false,\"widget\":\"checkbox\",\"description\":\"Enable a footer for displaying aggregated values\"}]",
"tableOptionValue": {
"useFilter": false,
"showPagination": false,
"showAggregationFooter": false
},
"updated": false,
"initialized": false
}
},
"commonSetting": {}
}
}
},
"enabled": true,
"fontSize": 9.0,
"runOnSelectionChange": true,
"checkEmpty": true
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": [
{
"type": "TEXT",
"data": "BokehDeprecationWarning: \u0027legend\u0027 keyword is deprecated, use explicit \u0027legend_label\u0027, \u0027legend_field\u0027, or \u0027legend_group\u0027 keywords instead\n\n"
},
{
"type": "HTML",
"data": "\n\n\n\n\n\n \u003cdiv class\u003d\"bk-root\" id\u003d\"fbf995d8-b3f7-4956-8e2c-f38b3c9739c2\" data-root-id\u003d\"1361\"\u003e\u003c/div\u003e\n\n"
},
{
"type": "HTML",
"data": "\u003cscript\u003e (function(root) {\n function embed_document(root) {\n \n var docs_json \u003d {\"fbe1a61a-449e-4d9a-9746-6144a366b2fc\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1370\"}],\"center\":[{\"id\":\"1373\"},{\"id\":\"1377\"},{\"id\":\"1408\"}],\"left\":[{\"id\":\"1374\"}],\"renderers\":[{\"id\":\"1395\"}],\"title\":{\"id\":\"1398\"},\"toolbar\":{\"id\":\"1385\"},\"x_range\":{\"id\":\"1362\"},\"x_scale\":{\"id\":\"1366\"},\"y_range\":{\"id\":\"1364\"},\"y_scale\":{\"id\":\"1368\"}},\"id\":\"1361\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1403\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1404\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1364\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1378\"},{\"id\":\"1379\"},{\"id\":\"1380\"},{\"id\":\"1381\"},{\"id\":\"1382\"},{\"id\":\"1383\"}]},\"id\":\"1385\",\"type\":\"Toolbar\"},{\"attributes\":{\"formatter\":{\"id\":\"1401\"},\"major_label_policy\":{\"id\":\"1400\"},\"ticker\":{\"id\":\"1375\"}},\"id\":\"1374\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1401\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1378\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1392\"}},\"id\":\"1396\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1400\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_color\":\"blue\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1393\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"1392\"},\"glyph\":{\"id\":\"1393\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1394\"},\"view\":{\"id\":\"1396\"}},\"id\":\"1395\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1383\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1375\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1374\"},\"dimension\":1,\"ticker\":null},\"id\":\"1377\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],\"y\":[0.6808899872666542,0.5193149105310685,0.2874985300029122,0.22923003748868925,0.20473375680826328,0.1953674220772277,0.18949809372789317,0.18435445121425975,0.1815618864948226,0.17851244239408526,0.17779897882905238,0.17756756771757415,0.17721250774034747,0.17707600841747947,0.17694480114422378,0.1768690936945488,0.17677186077112564,0.17661851948024643,0.17647283165576436,0.176255870258787,0.17612791357564886,0.17595469192239996,0.1757007501368575,0.17562495918126636,0.17557095748782373,0.17553473311536275,0.17550274930372053,0.17545065914490482,0.17541682560416572,0.1753802528156692,0.17536467284861282]},\"selected\":{\"id\":\"1406\"},\"selection_policy\":{\"id\":\"1405\"}},\"id\":\"1392\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1379\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1398\",\"type\":\"Title\"},{\"attributes\":{\"label\":{\"value\":\"Loss of LR1\"},\"renderers\":[{\"id\":\"1395\"}]},\"id\":\"1409\",\"type\":\"LegendItem\"},{\"attributes\":{\"overlay\":{\"id\":\"1384\"}},\"id\":\"1380\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1384\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis\":{\"id\":\"1370\"},\"ticker\":null},\"id\":\"1373\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1405\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1366\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1381\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1406\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1382\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1394\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1368\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1362\",\"type\":\"DataRange1d\"},{\"attributes\":{\"formatter\":{\"id\":\"1404\"},\"major_label_policy\":{\"id\":\"1403\"},\"ticker\":{\"id\":\"1371\"}},\"id\":\"1370\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1371\",\"type\":\"BasicTicker\"},{\"attributes\":{\"items\":[{\"id\":\"1409\"}]},\"id\":\"1408\",\"type\":\"Legend\"}],\"root_ids\":[\"1361\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.3\"}};\n var render_items \u003d [{\"docid\":\"fbe1a61a-449e-4d9a-9746-6144a366b2fc\",\"root_ids\":[\"1361\"],\"roots\":{\"1361\":\"fbf995d8-b3f7-4956-8e2c-f38b3c9739c2\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n\n }\n if (root.Bokeh !\u003d\u003d undefined) {\n embed_document(root);\n } else {\n var attempts \u003d 0;\n var timer \u003d setInterval(function(root) {\n if (root.Bokeh !\u003d\u003d undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts \u003e 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window); \u003c/script\u003e\n"
}
]
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637682_-1012332713",
"id": "20170621-121651_569823333",
"dateCreated": "2020-01-07 17:00:37.682",
"dateStarted": "2021-07-26 04:32:33.242",
"dateFinished": "2021-07-26 04:32:33.574",
"status": "FINISHED"
},
{
"title": "",
"text": "%spark.pyspark\n",
"user": "anonymous",
"dateUpdated": "2021-07-26 04:32:33.642",
"progress": 0,
"config": {
"colWidth": 12.0,
"fontSize": 9.0,
"enabled": true,
"results": {},
"editorSetting": {
"language": "python",
"editOnDblClick": false,
"completionKey": "TAB",
"completionSupport": true
},
"editorMode": "ace/mode/python"
},
"settings": {
"params": {},
"forms": {}
},
"results": {
"code": "SUCCESS",
"msg": []
},
"apps": [],
"runtimeInfos": {},
"progressUpdateIntervalMs": 500,
"jobName": "paragraph_1578387637682_-181840828",
"id": "20170621-155011_1790753917",
"dateCreated": "2020-01-07 17:00:37.682",
"dateStarted": "2021-07-26 04:32:33.645",
"dateFinished": "2021-07-26 04:32:33.866",
"status": "FINISHED"
}
],
"name": "4. Spark MlLib",
"id": "2EZFM3GJA",
"defaultInterpreterGroup": "spark",
"version": "0.9.0-SNAPSHOT",
"noteParams": {},
"noteForms": {},
"angularObjects": {},
"config": {
"isZeppelinNotebookCronEnable": false
},
"info": {
"isRunning": true
}
}