<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic why the code breaks below? in Get Started Discussions</title>
    <link>https://community.databricks.com/t5/get-started-discussions/why-the-code-breaks-below/m-p/49265#M1567</link>
    <description>&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.sql &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; SparkSession&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml.regression &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; LinearRegression&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml.feature &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; VectorAssembler&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml.evaluation &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; RegressionEvaluator&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; Pipeline&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; numpy &lt;/SPAN&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;SPAN&gt; np&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a Spark session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;spark = SparkSession.builder.appName(&lt;/SPAN&gt;&lt;SPAN&gt;"MLlibExample"&lt;/SPAN&gt;&lt;SPAN&gt;).getOrCreate()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Generate a toy dataset for illustration&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;np.random.seed(&lt;/SPAN&gt;&lt;SPAN&gt;42&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;num_samples = &lt;/SPAN&gt;&lt;SPAN&gt;1000&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Features: number of bedrooms, square footage&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;data = [(np.random.randint(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;), &lt;/SPAN&gt;&lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt; + &lt;/SPAN&gt;&lt;SPAN&gt;50&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.rand(), &lt;/SPAN&gt;&lt;SPAN&gt;150&lt;/SPAN&gt;&lt;SPAN&gt; + &lt;/SPAN&gt;&lt;SPAN&gt;75&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.randint(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;) + &lt;/SPAN&gt;&lt;SPAN&gt;0.1&lt;/SPAN&gt;&lt;SPAN&gt; * (&lt;/SPAN&gt;&lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt; + &lt;/SPAN&gt;&lt;SPAN&gt;50&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.rand()) + &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.randn())&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt; &lt;SPAN&gt;_&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;range&lt;/SPAN&gt;&lt;SPAN&gt;(num_samples)]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a DataFrame&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;df = spark.createDataFrame(data, [&lt;/SPAN&gt;&lt;SPAN&gt;"bedrooms"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"square_footage"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"price"&lt;/SPAN&gt;&lt;SPAN&gt;])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a feature vector&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;feature_cols = [&lt;/SPAN&gt;&lt;SPAN&gt;"bedrooms"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"square_footage"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;vector_assembler = VectorAssembler(inputCols=feature_cols, outputCol=&lt;/SPAN&gt;&lt;SPAN&gt;"features"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;df = vector_assembler.transform(df)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Split the data into training and testing sets&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(train_data, test_data) = df.randomSplit([&lt;/SPAN&gt;&lt;SPAN&gt;0.8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0.2&lt;/SPAN&gt;&lt;SPAN&gt;], seed=&lt;/SPAN&gt;&lt;SPAN&gt;42&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Build a Linear Regression model&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;lr = LinearRegression(featuresCol=&lt;/SPAN&gt;&lt;SPAN&gt;"features"&lt;/SPAN&gt;&lt;SPAN&gt;, labelCol=&lt;/SPAN&gt;&lt;SPAN&gt;"price"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a pipeline&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pipeline = Pipeline(stages=[vector_assembler, lr])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Train the model&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;model = pipeline.fit(train_data)&amp;nbsp; &amp;nbsp;## Fails at this line&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Make predictions on the test set&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;predictions = model.transform(test_data)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Evaluate the model&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;evaluator = RegressionEvaluator(labelCol=&lt;/SPAN&gt;&lt;SPAN&gt;"price"&lt;/SPAN&gt;&lt;SPAN&gt;, predictionCol=&lt;/SPAN&gt;&lt;SPAN&gt;"prediction"&lt;/SPAN&gt;&lt;SPAN&gt;, metricName=&lt;/SPAN&gt;&lt;SPAN&gt;"mse"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;mse = evaluator.evaluate(predictions)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f"Mean Squared Error on Test Set: &lt;/SPAN&gt;&lt;SPAN&gt;{mse}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;========&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;IllegalArgumentException&lt;/SPAN&gt; Traceback (most recent call last) File &lt;A&gt;&amp;lt;command-814210928066392&amp;gt;&lt;/A&gt;:38 35 # Train the model 36 model = pipeline.fit(train_data) &lt;SPAN class=""&gt;---&amp;gt; 38&lt;/SPAN&gt; # Make predictions on the test set 39 predictions = model.transform(test_data) 41 # Evaluate the model File &lt;SPAN class=""&gt;/databricks/python_shell/dbruntime/MLWorkloadsInstrumentation/_pyspark.py:30&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;_create_patch_function.&amp;lt;locals&amp;gt;.patched_method&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, *args, **kwargs)&lt;/SPAN&gt; 28 call_succeeded = &lt;SPAN class=""&gt;False&lt;/SPAN&gt; 29 &lt;SPAN class=""&gt;try&lt;/SPAN&gt;: &lt;SPAN class=""&gt;---&amp;gt; 30&lt;/SPAN&gt; result = &lt;SPAN class=""&gt;original_method&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;*&lt;/SPAN&gt;&lt;SPAN class=""&gt;args&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;*&lt;/SPAN&gt;&lt;SPAN class=""&gt;*&lt;/SPAN&gt;&lt;SPAN class=""&gt;kwargs&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 31 call_succeeded = &lt;SPAN class=""&gt;True&lt;/SPAN&gt; 32 &lt;SPAN class=""&gt;return&lt;/SPAN&gt; result File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/base.py:205&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;Estimator.fit&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset, params)&lt;/SPAN&gt; 203 &lt;SPAN class=""&gt;return&lt;/SPAN&gt; self.copy(params)._fit(dataset) 204 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: &lt;SPAN class=""&gt;--&amp;gt; 205&lt;/SPAN&gt; &lt;SPAN class=""&gt;return&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_fit&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 206 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: 207 &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; &lt;SPAN class=""&gt;TypeError&lt;/SPAN&gt;( 208 "Params must be either a param map or a list/tuple of param maps, " 209 "but got &lt;SPAN class=""&gt;%s&lt;/SPAN&gt;." % type(params) 210 ) File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/pipeline.py:132&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;Pipeline._fit&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset)&lt;/SPAN&gt; 130 &lt;SPAN class=""&gt;if&lt;/SPAN&gt; isinstance(stage, Transformer): 131 transformers.append(stage) &lt;SPAN class=""&gt;--&amp;gt; 132&lt;/SPAN&gt; dataset = &lt;SPAN class=""&gt;stage&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 133 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: # must be an Estimator 134 model = stage.fit(dataset) File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/base.py:262&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;Transformer.transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset, params)&lt;/SPAN&gt; 260 &lt;SPAN class=""&gt;return&lt;/SPAN&gt; self.copy(params)._transform(dataset) 261 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: &lt;SPAN class=""&gt;--&amp;gt; 262&lt;/SPAN&gt; &lt;SPAN class=""&gt;return&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 263 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: 264 &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; &lt;SPAN class=""&gt;TypeError&lt;/SPAN&gt;("Params must be a param map but got &lt;SPAN class=""&gt;%s&lt;/SPAN&gt;." % type(params)) File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/wrapper.py:400&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;JavaTransformer._transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset)&lt;/SPAN&gt; 397 &lt;SPAN class=""&gt;assert&lt;/SPAN&gt; self._java_obj &lt;SPAN class=""&gt;is&lt;/SPAN&gt; &lt;SPAN class=""&gt;not&lt;/SPAN&gt; &lt;SPAN class=""&gt;None&lt;/SPAN&gt; 399 self._transfer_params_to_java() &lt;SPAN class=""&gt;--&amp;gt; 400&lt;/SPAN&gt; &lt;SPAN class=""&gt;return&lt;/SPAN&gt; DataFrame(&lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_java_obj&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_jdf&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt;, dataset.sparkSession) File &lt;SPAN class=""&gt;/databricks/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java_gateway.py:1321&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;JavaMember.__call__&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, *args)&lt;/SPAN&gt; 1315 command = proto.CALL_COMMAND_NAME +\ 1316 self.command_header +\ 1317 args_command +\ 1318 proto.END_COMMAND_PART 1320 answer = self.gateway_client.send_command(command) &lt;SPAN class=""&gt;-&amp;gt; 1321&lt;/SPAN&gt; return_value = &lt;SPAN class=""&gt;get_return_value&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt; 1322 &lt;SPAN class=""&gt;answer&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;gateway_client&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;target_id&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;name&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 1324 &lt;SPAN class=""&gt;for&lt;/SPAN&gt; temp_arg &lt;SPAN class=""&gt;in&lt;/SPAN&gt; temp_args: 1325 temp_arg._detach() File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/errors/exceptions.py:234&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;capture_sql_exception.&amp;lt;locals&amp;gt;.deco&lt;/SPAN&gt;&lt;SPAN class=""&gt;(*a, **kw)&lt;/SPAN&gt; 230 converted = convert_exception(e.java_exception) 231 &lt;SPAN class=""&gt;if&lt;/SPAN&gt; &lt;SPAN class=""&gt;not&lt;/SPAN&gt; isinstance(converted, UnknownException): 232 # Hide where the exception came from that shows a non-Pythonic 233 # JVM exception message. &lt;SPAN class=""&gt;--&amp;gt; 234&lt;/SPAN&gt; &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; converted &lt;SPAN class=""&gt;from&lt;/SPAN&gt; None 235 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: 236 &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; &lt;SPAN class=""&gt;IllegalArgumentException&lt;/SPAN&gt;: Output column features already exists.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 16 Oct 2023 09:39:12 GMT</pubDate>
    <dc:creator>THIAM_HUATTAN</dc:creator>
    <dc:date>2023-10-16T09:39:12Z</dc:date>
    <item>
      <title>why the code breaks below?</title>
      <link>https://community.databricks.com/t5/get-started-discussions/why-the-code-breaks-below/m-p/49265#M1567</link>
      <description>&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.sql &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; SparkSession&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml.regression &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; LinearRegression&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml.feature &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; VectorAssembler&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml.evaluation &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; RegressionEvaluator&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; pyspark.ml &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; Pipeline&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; numpy &lt;/SPAN&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;SPAN&gt; np&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a Spark session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;spark = SparkSession.builder.appName(&lt;/SPAN&gt;&lt;SPAN&gt;"MLlibExample"&lt;/SPAN&gt;&lt;SPAN&gt;).getOrCreate()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Generate a toy dataset for illustration&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;np.random.seed(&lt;/SPAN&gt;&lt;SPAN&gt;42&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;num_samples = &lt;/SPAN&gt;&lt;SPAN&gt;1000&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Features: number of bedrooms, square footage&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;data = [(np.random.randint(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;), &lt;/SPAN&gt;&lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt; + &lt;/SPAN&gt;&lt;SPAN&gt;50&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.rand(), &lt;/SPAN&gt;&lt;SPAN&gt;150&lt;/SPAN&gt;&lt;SPAN&gt; + &lt;/SPAN&gt;&lt;SPAN&gt;75&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.randint(&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;) + &lt;/SPAN&gt;&lt;SPAN&gt;0.1&lt;/SPAN&gt;&lt;SPAN&gt; * (&lt;/SPAN&gt;&lt;SPAN&gt;100&lt;/SPAN&gt;&lt;SPAN&gt; + &lt;/SPAN&gt;&lt;SPAN&gt;50&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.rand()) + &lt;/SPAN&gt;&lt;SPAN&gt;10&lt;/SPAN&gt;&lt;SPAN&gt; * np.random.randn())&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt; &lt;SPAN&gt;_&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;range&lt;/SPAN&gt;&lt;SPAN&gt;(num_samples)]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a DataFrame&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;df = spark.createDataFrame(data, [&lt;/SPAN&gt;&lt;SPAN&gt;"bedrooms"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"square_footage"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"price"&lt;/SPAN&gt;&lt;SPAN&gt;])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a feature vector&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;feature_cols = [&lt;/SPAN&gt;&lt;SPAN&gt;"bedrooms"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"square_footage"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;vector_assembler = VectorAssembler(inputCols=feature_cols, outputCol=&lt;/SPAN&gt;&lt;SPAN&gt;"features"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;df = vector_assembler.transform(df)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Split the data into training and testing sets&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(train_data, test_data) = df.randomSplit([&lt;/SPAN&gt;&lt;SPAN&gt;0.8&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0.2&lt;/SPAN&gt;&lt;SPAN&gt;], seed=&lt;/SPAN&gt;&lt;SPAN&gt;42&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Build a Linear Regression model&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;lr = LinearRegression(featuresCol=&lt;/SPAN&gt;&lt;SPAN&gt;"features"&lt;/SPAN&gt;&lt;SPAN&gt;, labelCol=&lt;/SPAN&gt;&lt;SPAN&gt;"price"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a pipeline&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pipeline = Pipeline(stages=[vector_assembler, lr])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Train the model&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;model = pipeline.fit(train_data)&amp;nbsp; &amp;nbsp;## Fails at this line&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Make predictions on the test set&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;predictions = model.transform(test_data)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Evaluate the model&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;evaluator = RegressionEvaluator(labelCol=&lt;/SPAN&gt;&lt;SPAN&gt;"price"&lt;/SPAN&gt;&lt;SPAN&gt;, predictionCol=&lt;/SPAN&gt;&lt;SPAN&gt;"prediction"&lt;/SPAN&gt;&lt;SPAN&gt;, metricName=&lt;/SPAN&gt;&lt;SPAN&gt;"mse"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;mse = evaluator.evaluate(predictions)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f"Mean Squared Error on Test Set: &lt;/SPAN&gt;&lt;SPAN&gt;{mse}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;========&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;IllegalArgumentException&lt;/SPAN&gt; Traceback (most recent call last) File &lt;A&gt;&amp;lt;command-814210928066392&amp;gt;&lt;/A&gt;:38 35 # Train the model 36 model = pipeline.fit(train_data) &lt;SPAN class=""&gt;---&amp;gt; 38&lt;/SPAN&gt; # Make predictions on the test set 39 predictions = model.transform(test_data) 41 # Evaluate the model File &lt;SPAN class=""&gt;/databricks/python_shell/dbruntime/MLWorkloadsInstrumentation/_pyspark.py:30&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;_create_patch_function.&amp;lt;locals&amp;gt;.patched_method&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, *args, **kwargs)&lt;/SPAN&gt; 28 call_succeeded = &lt;SPAN class=""&gt;False&lt;/SPAN&gt; 29 &lt;SPAN class=""&gt;try&lt;/SPAN&gt;: &lt;SPAN class=""&gt;---&amp;gt; 30&lt;/SPAN&gt; result = &lt;SPAN class=""&gt;original_method&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;*&lt;/SPAN&gt;&lt;SPAN class=""&gt;args&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;*&lt;/SPAN&gt;&lt;SPAN class=""&gt;*&lt;/SPAN&gt;&lt;SPAN class=""&gt;kwargs&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 31 call_succeeded = &lt;SPAN class=""&gt;True&lt;/SPAN&gt; 32 &lt;SPAN class=""&gt;return&lt;/SPAN&gt; result File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/base.py:205&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;Estimator.fit&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset, params)&lt;/SPAN&gt; 203 &lt;SPAN class=""&gt;return&lt;/SPAN&gt; self.copy(params)._fit(dataset) 204 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: &lt;SPAN class=""&gt;--&amp;gt; 205&lt;/SPAN&gt; &lt;SPAN class=""&gt;return&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_fit&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 206 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: 207 &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; &lt;SPAN class=""&gt;TypeError&lt;/SPAN&gt;( 208 "Params must be either a param map or a list/tuple of param maps, " 209 "but got &lt;SPAN class=""&gt;%s&lt;/SPAN&gt;." % type(params) 210 ) File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/pipeline.py:132&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;Pipeline._fit&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset)&lt;/SPAN&gt; 130 &lt;SPAN class=""&gt;if&lt;/SPAN&gt; isinstance(stage, Transformer): 131 transformers.append(stage) &lt;SPAN class=""&gt;--&amp;gt; 132&lt;/SPAN&gt; dataset = &lt;SPAN class=""&gt;stage&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 133 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: # must be an Estimator 134 model = stage.fit(dataset) File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/base.py:262&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;Transformer.transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset, params)&lt;/SPAN&gt; 260 &lt;SPAN class=""&gt;return&lt;/SPAN&gt; self.copy(params)._transform(dataset) 261 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: &lt;SPAN class=""&gt;--&amp;gt; 262&lt;/SPAN&gt; &lt;SPAN class=""&gt;return&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 263 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: 264 &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; &lt;SPAN class=""&gt;TypeError&lt;/SPAN&gt;("Params must be a param map but got &lt;SPAN class=""&gt;%s&lt;/SPAN&gt;." % type(params)) File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/ml/wrapper.py:400&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;JavaTransformer._transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, dataset)&lt;/SPAN&gt; 397 &lt;SPAN class=""&gt;assert&lt;/SPAN&gt; self._java_obj &lt;SPAN class=""&gt;is&lt;/SPAN&gt; &lt;SPAN class=""&gt;not&lt;/SPAN&gt; &lt;SPAN class=""&gt;None&lt;/SPAN&gt; 399 self._transfer_params_to_java() &lt;SPAN class=""&gt;--&amp;gt; 400&lt;/SPAN&gt; &lt;SPAN class=""&gt;return&lt;/SPAN&gt; DataFrame(&lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_java_obj&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;transform&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;dataset&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;_jdf&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt;, dataset.sparkSession) File &lt;SPAN class=""&gt;/databricks/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java_gateway.py:1321&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;JavaMember.__call__&lt;/SPAN&gt;&lt;SPAN class=""&gt;(self, *args)&lt;/SPAN&gt; 1315 command = proto.CALL_COMMAND_NAME +\ 1316 self.command_header +\ 1317 args_command +\ 1318 proto.END_COMMAND_PART 1320 answer = self.gateway_client.send_command(command) &lt;SPAN class=""&gt;-&amp;gt; 1321&lt;/SPAN&gt; return_value = &lt;SPAN class=""&gt;get_return_value&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt; 1322 &lt;SPAN class=""&gt;answer&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;gateway_client&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;target_id&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;self&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;name&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; 1324 &lt;SPAN class=""&gt;for&lt;/SPAN&gt; temp_arg &lt;SPAN class=""&gt;in&lt;/SPAN&gt; temp_args: 1325 temp_arg._detach() File &lt;SPAN class=""&gt;/databricks/spark/python/pyspark/errors/exceptions.py:234&lt;/SPAN&gt;, in &lt;SPAN class=""&gt;capture_sql_exception.&amp;lt;locals&amp;gt;.deco&lt;/SPAN&gt;&lt;SPAN class=""&gt;(*a, **kw)&lt;/SPAN&gt; 230 converted = convert_exception(e.java_exception) 231 &lt;SPAN class=""&gt;if&lt;/SPAN&gt; &lt;SPAN class=""&gt;not&lt;/SPAN&gt; isinstance(converted, UnknownException): 232 # Hide where the exception came from that shows a non-Pythonic 233 # JVM exception message. &lt;SPAN class=""&gt;--&amp;gt; 234&lt;/SPAN&gt; &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; converted &lt;SPAN class=""&gt;from&lt;/SPAN&gt; None 235 &lt;SPAN class=""&gt;else&lt;/SPAN&gt;: 236 &lt;SPAN class=""&gt;raise&lt;/SPAN&gt; &lt;SPAN class=""&gt;IllegalArgumentException&lt;/SPAN&gt;: Output column features already exists.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 16 Oct 2023 09:39:12 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/why-the-code-breaks-below/m-p/49265#M1567</guid>
      <dc:creator>THIAM_HUATTAN</dc:creator>
      <dc:date>2023-10-16T09:39:12Z</dc:date>
    </item>
  </channel>
</rss>

