tspy_utils与sklearn接口使用说明详情:
附件:tspy_utils与sklearn接口使用说明2023-07-10.pdf
摘要:
1、本文档中介绍的是两个天软调用python方法的单元工具包,分别为tspy_utils与sklearn。
2、由于是调用第三方接口的实现,所以在天软平台中相关代码都必须是本地执行。
3、在调用之前,需要做相关的配置:
本接口依赖于TSL与Python交互,交互配置请查看:FAQ:
2019-05-08-应用专题-第三方交互07:天软平台和PYTHON的交互
tspy_utils接口使用说明
1、tspy_utils是一个单元工具包,调用该单元内的方法时,需要在程序首行进行声明。如:uses tspy_utils;
2、
tspy_utils接口是使用的TSL调python的相关模型封装的,方便调用python代码
比如call_py_func模型可以直接调用python指定模块中的函数
常用方法使用范例
call_py_func
定义:call_py_func(module:String or Python Obj,func_name:String,params_arr:Array):any
说明:对pycall的以参数数组调用方式进行封装,如果运行状态返回值错误则报错
参数:
module:字符串,模块名,或者获取的Python对象
func_name:字符串,函数名
params_arr:数组,调用函数时的参数组成的数组,字符串下标表示命名参数,调用时如果不给参数,表示取属性,给nil表示无参数调用函数
返回:any,所调用函数的返回值
范例:调用python函数获取指定范围生成的随机整数
例如调用python中numpy模块中的randint函数,其在python中的具体定义如下:
定义:numpy.random.randint(low,high:int,size:int or tuple of ints,dtype) :int/array
说明:根据参数中所指定的范围生成随机 整数。
参数:
low: int 生成的数值的最小值(包含),默认为0,可省略。
high: int 生成的数值的最大值(不包含)。
size: int or tuple of ints 随机数的尺寸, 默认是返回单个,输入 10 返回 10个,输入 (3,4) 返回的是一个 3*4 的二维数组。(可选)。
dtype:想要输出的结果类型。默认值为int。(可选)。
返回:随机生成一个整数或整数数组。
在天软中调用该python函数如下:
uses tspy_utils;
return call_py_func('numpy.random','randint',array('high':9,'low':6));
//7
sklearn接口使用说明
sklearn接口主要实现的是在TSL中调用python中的sklearn模块中的方法,交互的过程使用的是tspy_utils单元中的接口。
接口命名:sklearn_interface_版本号,版本号区分到二级,目前支持0.19到1.2版。
例如,本机电脑中安装的python下,sklearn(sklearn.__version__)的版本号为1.2.1,则应使用接口sklearn_interface_1_2
sklearn接口封装是对类的接口进行封装,接口类的成员函数接口跟python原本的接口名一致,参数只有一个,表示调用该成员函数的参数组成的数组,字符串下标表示命名参数。
sklearn相关介绍:https://scikit-learn.org/stable/
使用范例
线性回归的范例:本地执行该脚本
uses sklearn_interface_1_2; //注意,要使用对应版本号的接口
obj := new LinearRegression();
obj.fit_intercept := false;
obj.fit(array('X':x,'y':y));
obj.coef_.tolist();
writeln(tostn(obj.predict(array(x)).tolist()|y));