我正在使用Python进行SQL Server中不可用的计算
在Jupyter笔记本电脑中,计算速度非常快(使用csv作为源),但在SQL Server中,一次计算需要3秒钟。由于我有成千上万的计算,这是非常缓慢的
下面是我输入数据的存储过程的代码,这是一个波长和插值数据表
ALTER PROCEDURE [dbo].[sp_PolynomeSecondDegree]
@ToBeProcessed PolynomeRegressionSource READONLY
AS
BEGIN
SET NOCOUNT ON;
IF OBJECT_ID('tempdb..##DataStart') IS NOT NULL
DROP TABLE ##DataStart
SELECT *
INTO ##DataStart
FROM @ToBeProcessed
EXECUTE sp_execute_external_script
@language = N'Python',
@script=N'
import pandas as pd
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
X = InputDataSet[["WaveLength"]]
y = InputDataSet.InterPol
pre_process = PolynomialFeatures(degree = 2)
X_poly = pre_process.fit_transform(X)
pr_model = LinearRegression()
pr_model.fit(X_poly, y)
theta0 = pr_model.intercept_
_, theta1, theta2 = pr_model.coef_
OutputDataSet = pd.DataFrame({''a'':[theta0], ''b'':[theta1], ''c'':[theta2]} )
',
@input_data_1 = N'SELECT * from ##DataStart'
WITH RESULT SETS (( a float, b float, c float))
END
经过一些消除之后,我注意到,如果它是一个没有导入sklearn的“普通”脚本,那么速度很快,但是一旦添加了导入,就需要很长时间
有没有一种方法可以永久加载这些库,或者在我开始这些计算之前加载这些库,以使其更快
或者这段代码毫无意义,是否有更好(更快)的方法来处理
提前感谢,
泽格
目前没有回答
相关问题 更多 >
编程相关推荐