mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-05 20:11:08 +08:00
* Intermediate version * Fix yaml template & Successfully run rolling * Be compatible with benchmark * Get same results with previous linear model * Black formatting * Update black * Update the placeholder mechanism * Update CI * Update CI * Upgrade Black * Fix CI and simplify code * Fix CI * Move the data processing caching mechanism into utils. * Adjusting DDG-DA * Organize import
36 lines
930 B
Python
36 lines
930 B
Python
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
"""
|
|
This module is responsible for analysing data
|
|
|
|
Assumptions
|
|
- The analyse each feature individually
|
|
|
|
"""
|
|
import pandas as pd
|
|
from qlib.log import TimeInspector
|
|
from qlib.contrib.report.utils import sub_fig_generator
|
|
|
|
|
|
class FeaAnalyser:
|
|
def __init__(self, dataset: pd.DataFrame):
|
|
self._dataset = dataset
|
|
with TimeInspector.logt("calc_stat_values"):
|
|
self.calc_stat_values()
|
|
|
|
def calc_stat_values(self):
|
|
pass
|
|
|
|
def plot_single(self, col, ax):
|
|
raise NotImplementedError(f"This type of input is not supported")
|
|
|
|
def skip(self, col):
|
|
return False
|
|
|
|
def plot_all(self, *args, **kwargs):
|
|
ax_gen = iter(sub_fig_generator(*args, **kwargs))
|
|
for col in self._dataset:
|
|
if not self.skip(col):
|
|
ax = next(ax_gen)
|
|
self.plot_single(col, ax)
|