卡方筛选

功能介绍

针对table数据,进行特征筛选

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
selectorType 筛选类型 筛选类型,包含”numTopFeatures”,”percentile”, “fpr”, “fdr”, “fwe”五种。 String “numTopFeatures”
numTopFeatures 最大的p-value列个数 最大的p-value列个数, 默认值50 Integer 50
percentile 筛选的百分比 筛选的百分比,默认值0.1 Double 0.1
fpr p value的阈值 p value的阈值,默认值0.05 Double 0.05
fdr 发现阈值 发现阈值, 默认值0.05 Double 0.05
fwe 错误率阈值 错误率阈值, 默认值0.05 Double 0.05
selectedCols 选择的列名 计算列对应的列名列表 String[]
labelCol 标签列名 输入表中的标签列名 String

脚本示例

脚本代码

  1. data = np.array([
  2. ["a", 1, 1,2.0, True],
  3. ["c", 1, 2, -3.0, True],
  4. ["a", 2, 2,2.0, False],
  5. ["c", 0, 0, 0.0, False]
  6. ])
  7. df = pd.DataFrame({"f_string": data[:, 0], "f_long": data[:, 1], "f_int": data[:, 2], "f_double": data[:, 3], "f_boolean": data[:, 4]})
  8. source = dataframeToOperator(df, schemaStr='f_string string, f_long long, f_int int, f_double double, f_boolean boolean', op_type="batch")
  9. selector = ChiSqSelectorBatchOp()\
  10. .setSelectedCols(["f_string", "f_long", "f_int", "f_double"])\
  11. .setLabelCol("f_boolean")\
  12. .setNumTopFeatures(2)
  13. selector.linkFrom(source)
  14. selectedColNames = selector.collectResult()
  15. print(selectedColNames)

脚本运行结果

  1. ['f_string', 'f_long']