1
0
mirror of https://github.com/microsoft/qlib.git synced 2026-07-07 21:11:50 +08:00

Update docs

This commit is contained in:
Jactus
2020-11-30 18:54:31 +08:00
committed by you-n-g
parent 1877ad8c39
commit 29f12e857f
22 changed files with 180 additions and 159 deletions

View File

@@ -27,13 +27,32 @@ class Model(BaseModel):
.. note::
The the attribute names of learned model should `not` start with '_'. So that the model could be
The attribute names of learned model should `not` start with '_'. So that the model could be
dumped to disk.
Parameters
----------
dataset : Dataset
dataset will generate the processed data from model training.
The following code example shows how to retrieve `x_train`, `y_train` and `w_train` from the `dataset`:
.. code-block:: Python
# get features and labels
df_train, df_valid = dataset.prepare(
["train", "valid"], col_set=["feature", "label"], data_key=DataHandlerLP.DK_L
)
x_train, y_train = df_train["feature"], df_train["label"]
x_valid, y_valid = df_valid["feature"], df_valid["label"]
# get weights
try:
wdf_train, wdf_valid = dataset.prepare(["train", "valid"], col_set=["weight"], data_key=DataHandlerLP.DK_L)
w_train, w_valid = wdf_train["weight"], wdf_valid["weight"]
except KeyError as e:
w_train = pd.DataFrame(np.ones_like(y_train.values), index=y_train.index)
w_valid = pd.DataFrame(np.ones_like(y_valid.values), index=y_valid.index)
"""
raise NotImplementedError()
@@ -45,6 +64,10 @@ class Model(BaseModel):
----------
dataset : Dataset
dataset will generate the processed dataset from model training.
Returns
-------
Prediction results with certain type such as `pandas.Series`.
"""
raise NotImplementedError()

View File

@@ -6,29 +6,29 @@ from qlib.workflow import R
from qlib.workflow.record_temp import SignalRecord
def task_train(config: dict, experiment_name):
def task_train(task_config: dict, experiment_name):
"""
task based training
Parameters
----------
config : dict
A dict describing the training process
task_config : dict
A dict describes a task setting.
"""
# model initiaiton
model = init_instance_by_config(config.get("task")["model"])
dataset = init_instance_by_config(config.get("task")["dataset"])
model = init_instance_by_config(task_config["model"])
dataset = init_instance_by_config(task_config["dataset"])
# start exp
with R.start(experiment_name=experiment_name):
# train model
R.log_params(**flatten_dict(config.get("task")))
R.log_params(**flatten_dict(task_config))
model.fit(dataset)
recorder = R.get_recorder()
# generate records: prediction, backtest, and analysis
for record in config.get("task")["record"]:
for record in task_config.get["record"]:
if record["class"] == SignalRecord.__name__:
srconf = {"model": model, "dataset": dataset, "recorder": recorder}
record["kwargs"].update(srconf)