Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.59 KB | None | 0 0
  1. IndependentValidation(Results):  # by ilja Grabovsky
  2.     """
  3.    Test on Idenpendent Validation - Splitter
  4.    First the Splitter splits Input data in train_data and test_data.X. train_data will be sized to =.1
  5.    to classify on it....erkärung.
  6.    """
  7.  
  8.     def __init__(self, data, learner, k=2, stratified=True, random_state=0, store_data=False,
  9.                  store_models=False, preprocessor=None, callback=None, warnings=None,
  10.                  n_jobs=1)
  11.  
  12.     self.stratified = stratified
  13.     train_data = train_size
  14.  
  15.  
  16. if warnings is None:
  17.     self.warnings = []
  18. else:
  19.     self.warnings = warnings
  20.  
  21. super().__init__(data, learners=learners, store_data=store_data,
  22.                  store_models=store_models, preprocessor=preprocessor,
  23.                  callback=callback, n_jobs=n_jobs)
  24.  
  25.  
  26. def setup_indices(self, train_data, test_data):
  27.     self.indices = None
  28.  
  29.  
  30. if self.stratified and test_data.domain.has_discrete_class:
  31.     try:
  32.         splitter = skl.IndependentValidation(
  33.             self.k, shuffle=False, random_state=self.random_state
  34.         )
  35.         splitter.get_n_splits(test_data.X, train_data)
  36.         self.indices = list(splitter.split(test_data.X, train_data))
  37.     except ValueError:
  38.         self.warnings.append("Using non-stratified sampling.") #braucht IV Stratified S.
  39.         self.indices = None
  40. if self.indices is None:
  41.     splitter = skl.IndependentValidation(
  42.         self.k, shuffle=True, random_state=self.random_state
  43.     )
  44.     splitter.get_n_splits, train_size = .1(test_data.X, train_data) #train_size in Sklearn definieren
  45.     self.indices = list(splitter.split(test_data))
  46.  
  47.  
  48. # train_data=n.1 -> train.data_main, test.data.X=n.9->skl.splitter=test.data_main
  49.  
  50. class IndependentValidation(Results):  # test.data split
  51.  
  52.     # by ilja Grabovsky
  53.     """
  54.    Test on Idenpendent Validation second Splitter
  55.    First the Splitter splits test_data.X in n_test_data
  56.    n=len(list(test_data.X)) - 1
  57.    n!=0
  58.    to classify on it....erkärung.
  59.    """
  60.  
  61.     def __init__(self, learner, k=n, stratified=True, random_state=0, store_data=False,
  62.                  store_models=False, preprocessor=None, callback=None, warnings=None,
  63.                  n_jobs=n)
  64.         n = len(list(test_data.X)) - 1
  65.         n != 0
  66.         self.k = int(k)
  67.  
  68.     self.stratified = stratified
  69.     self.random_state = random_state
  70.     test_data.X_size = test_data.X_size
  71.  
  72.  
  73. if warnings is None:
  74.     self.warnings = []
  75. else:
  76.     self.warnings = warnings
  77.  
  78. super().__init__(data, learners=learners, store_data=store_data,
  79.                  store_models=store_models, preprocessor=preprocessor,
  80.                  callback=callback, n_jobs=n_jobs)
  81.  
  82.  
  83. def setup_indices(self, test_data.
  84.  
  85.  
  86.     X_data):
  87. self.indices = None
  88. if self.stratified and test_data.X.domain.has_discrete_class:
  89.     try:
  90.         splitter = skl.StratifiedKFold(
  91.             self.k, shuffle=True, random_state=self.random_state  # entfernen
  92.         )
  93.         splitter.get_n_splits(test_data.n)
  94.         self.indices = list(splitter.split(test_data.n, ))
  95.     except ValueError:
  96.         self.warnings.append("Using non-stratified sampling.")
  97.         self.indices = None
  98. if self.indices is None:
  99.     splitter = skl.KFold(
  100.         self.k, shuffle=True, random_state=self.random_state
  101.     )
  102.     splitter.get_n_splits(test_data.n)
  103.     self.indices = list(splitter.split(test_data.X))
  104.  
  105.  
  106. class IndependentValidation(Results):  # by ilja Grabovsky
  107.     """
  108.    Classification of train_data sized to =.1
  109.    """
  110.  
  111.     def __init__(self, data, learners, feature, store_data=False, store_models=False,
  112.                  preprocessor=None, callback=None,
  113.                  n_jobs=  # len(list(test_data.X)): wenn ich das so lasse dann geht der jegliche Schritte x mal entsprechend der len(list(test_data,X)) durch
  114.                  self.feature =
  115.  
  116.     feature
  117.     super().__init__(data, learners=learners, store_data=store_data,
  118.                      store_models=store_models, preprocessor=preprocessor,
  119.                      callback=callback, n_jobs=n_jobs)
  120.  
  121.     def setup_indices(self, train_data, test_data.
  122.  
  123.         X, test_data):
  124.     data = Table(Domain([self.feature], None), test_data)
  125.     values = data[:, self.feature].X
  126.     self.indices = []
  127.     for v in range(len(self.feature.values)):
  128.         test_index = np.where(values == v)[0]
  129.         train_index = np.where((values != v) & (~np.isnan(values)))[0]
  130.         if len(test_index) and len(train_index):
  131.             self.indices.append((train_index, test_index))
  132.     if not self.indices:
  133.         raise ValueError("No folds could be created from the given feature.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement