|
def continuous_feature(name): |
|
return ContinuousFeature(name) |
|
|
|
|
|
class ContinuousFeature: |
|
def __init__(self, name): |
|
self.name = name |
|
|
|
|
|
def global_category(name, size): |
|
return GlobalCategory(name, size) |
|
|
|
|
|
class GlobalCategory: |
|
def __init__(self, name, size): |
|
self.name = name |
|
self.size = size |
|
|
|
|
|
def local_category(name): |
|
return LocalCategory(name) |
|
|
|
|
|
class LocalCategory: |
|
def __init__(self, name): |
|
assert name.startswith('task_'), \ |
|
"only task feature supported: {}".format(name) |
|
self.name = name |
|
|
|
|
|
def local_feature(name): |
|
return LocalFeature(name) |
|
|
|
|
|
class LocalFeature: |
|
def __init__(self, name): |
|
assert name.startswith('task_'), \ |
|
"only task feature supported: {}".format(name) |
|
self.name = name |
|
|
|
|
|
def sparse_local_feature(index, value): |
|
return SparseLocalFeature(index, value) |
|
|
|
|
|
class SparseLocalFeature: |
|
def __init__(self, index, value): |
|
assert index.startswith('task_'), \ |
|
"only task feature supported for index: {}".format(index) |
|
assert value.startswith('task_'), \ |
|
"only task feature supported for value: {}".format(value) |
|
|
|
self.index = index |
|
self.value = value |
|
|
|
|
|
def variable_feature(name): |
|
return VariableFeature(name) |
|
|
|
|
|
class VariableFeature: |
|
def __init__(self, name): |
|
self.name = name |
|
|