You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

fe_tutorial.py 1.3 kB

1234567891011121314151617181920212223242526272829303132333435
  1. # 1. Choose a dataset.
  2. from autogl.datasets import build_dataset_from_name
  3. data = build_dataset_from_name('cora')
  4. # 2. Compose a feature engineering pipeline
  5. from autogl.module.feature._base_feature_engineer._base_feature_engineer import _ComposedFeatureEngineer
  6. from autogl.module.feature import EigenFeatureGenerator
  7. from autogl.module.feature import NetLSD
  8. # you may compose feature engineering bases through autogl.module.feature._base_feature_engineer
  9. fe = _ComposedFeatureEngineer([
  10. EigenFeatureGenerator(size=32),
  11. NetLSD()
  12. ])
  13. # 3. Fit and transform the data
  14. fe.fit(data)
  15. data1=fe.transform(data,inplace=False)
  16. import autogl
  17. import torch
  18. from autogl.module.feature._generators._basic import BaseFeatureGenerator
  19. class OneHotFeatureGenerator(BaseFeatureGenerator):
  20. # if overrider_features==False , concat the features with original features; otherwise override.
  21. def __init__(self, override_features: bool = False):
  22. super(BaseFeatureGenerator, self).__init__(override_features)
  23. def _extract_nodes_feature(self, data: autogl.data.Data) -> torch.Tensor:
  24. num_nodes: int = (
  25. data.x.size(0)
  26. if data.x is not None and isinstance(data.x, torch.Tensor)
  27. else (data.edge_index.max().item() + 1)
  28. )
  29. return torch.eye(num_nodes)