Consider the following code:
Y = {5.85045`, 5.35694`, 4.19746`, 4.69639`, 4.88179`, 3.78133`,
3.96397`, 4.15864`, 3.37441`, 3.81259`};
X1 = {646.414`, 500.501`, 413.395`, 394.156`, 346.996`, 344.835`,
377.928`, 377.465`, 282.401`, 284.568`};
X2 = {1041.35`, 992.418`, 768.296`, 849.538`, 872.931`, 668.548`,
693.117`, 719.303`, 577.481`, 645.698`};
tuples1 = Thread[Transpose[{X1, X2}] \[RightArrow] Y];
train = Take[tuples1, 7];
test = Take[tuples1, -3];
cfunc = Predict[train, Method -> "LinearRegression",
PerformanceGoal -> "Quality"]
Predict::bdfmt: Argument {{646.414,1041.35}\[RightArrow]5.85045,{500.501,992.418}\[RightArrow]5.35694,{413.395,768.296}\[RightArrow]4.19746,{394.156,849.538}\[RightArrow]4.69639,{346.996,872.931}\[RightArrow]4.88179,{344.835,668.548}\[RightArrow]3.78133,{377.928,693.117}\[RightArrow]3.96397} should be a rule or a list of rules.
Predict::bdfmt: Argument {{646.414,1041.35}\[RightArrow]5.85045,{500.501,992.418}\[RightArrow]5.35694,{413.395,768.296}\[RightArrow]4.19746,{394.156,849.538}\[RightArrow]4.69639,{346.996,872.931}\[RightArrow]4.88179,{344.835,668.548}\[RightArrow]3.78133,{377.928,693.117}\[RightArrow]3.96397} should be a rule or a list of rules.
Predict[{{646.414, 1041.35} \[RightArrow]
5.85045, {500.501, 992.418} \[RightArrow]
5.35694, {413.395, 768.296} \[RightArrow]
4.19746, {394.156, 849.538} \[RightArrow]
4.69639, {346.996, 872.931} \[RightArrow]
4.88179, {344.835, 668.548} \[RightArrow]
3.78133, {377.928, 693.117} \[RightArrow] 3.96397},
Method -> "LinearRegression", PerformanceGoal -> "Quality"]