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.

setup.py 2.7 kB

first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import os
  2. import os.path
  3. import sys
  4. from setuptools import setup, find_packages
  5. PACKAGE_NAME = 'd3m'
  6. MINIMUM_PYTHON_VERSION = 3, 6
  7. def check_python_version():
  8. """Exit when the Python version is too low."""
  9. if sys.version_info < MINIMUM_PYTHON_VERSION:
  10. sys.exit("Python {}.{}+ is required.".format(*MINIMUM_PYTHON_VERSION))
  11. def read_package_variable(key):
  12. """Read the value of a variable from the package without importing."""
  13. module_path = os.path.join(PACKAGE_NAME, '__init__.py')
  14. with open(module_path) as module:
  15. for line in module:
  16. parts = line.strip().split(' ')
  17. if parts and parts[0] == key:
  18. return parts[-1].strip("'")
  19. raise KeyError("'{0}' not found in '{1}'".format(key, module_path))
  20. def read_readme():
  21. with open(os.path.join(os.path.dirname(__file__), 'README.md'), encoding='utf8') as file:
  22. return file.read()
  23. def read_entry_points():
  24. with open('entry_points.ini') as entry_points:
  25. return entry_points.read()
  26. check_python_version()
  27. version = read_package_variable('__version__')
  28. description = read_package_variable('__description__')
  29. author = read_package_variable('__author__')
  30. setup(
  31. name=PACKAGE_NAME,
  32. version=version,
  33. description=version,
  34. author=author,
  35. packages=find_packages(exclude=['contrib', 'docs', 'site', 'tests*']),
  36. package_data={'d3m': ['metadata/schemas/*/*.json', 'contrib/pipelines/*']},
  37. data_files=[('./', ['./entry_points.ini'])],
  38. install_requires=[
  39. 'scikit-learn[alldeps]>=0.20.3,<=0.22.2.post1',
  40. 'pytypes==1.0b5',
  41. 'frozendict==1.2',
  42. 'numpy>=1.15.4,<=1.18.2',
  43. 'jsonschema>=3.0.2,<=3.2.0',
  44. 'requests>=2.19.1,<=2.23.0',
  45. 'strict-rfc3339==0.7',
  46. 'rfc3987==1.3.8',
  47. 'webcolors>=1.8.1,<=1.11.1',
  48. 'dateparser>=0.7.0,<=0.7.2',
  49. 'python-dateutil==2.8.1',
  50. 'pandas>=0.23.4,<=1.0.3',
  51. 'typing-inspect==0.5.0',
  52. 'GitPython==3.1.0',
  53. 'jsonpath-ng==1.4.3',
  54. 'custom-inherit>=2.2.0,<=2.2.2',
  55. 'PyYAML>=5.1,<=5.3',
  56. 'pycurl>=7.43.0.2,<=7.43.0.5',
  57. 'pyarrow>=0.15.1,<=0.16.0',
  58. 'gputil>=1.3.0,<=1.4.0',
  59. 'pyrsistent>=0.14.11,<=0.15.7',
  60. 'scipy>=1.2.1,<=1.4.1',
  61. 'openml==0.10.1',
  62. ],
  63. tests_require=[
  64. 'asv==0.3.1',
  65. 'docker[tls]==2.7',
  66. ],
  67. entry_points=read_entry_points(),
  68. url='https://gitlab.com/datadrivendiscovery/d3m',
  69. long_description=read_readme(),
  70. long_description_content_type='text/markdown',
  71. license='Apache-2.0',
  72. classifiers=[
  73. 'License :: OSI Approved :: Apache Software License',
  74. ],
  75. )

全栈的自动化机器学习系统,主要针对多变量时间序列数据的异常检测。TODS提供了详尽的用于构建基于机器学习的异常检测系统的模块,它们包括:数据处理(data processing),时间序列处理( time series processing),特征分析(feature analysis),检测算法(detection algorithms),和强化模块( reinforcement module)。这些模块所提供的功能包括常见的数据预处理、时间序列数据的平滑或变换,从时域或频域中抽取特征、多种多样的检测算