pykliep
pykliep copied to clipboard
KeyError: 44
I am getting keyerror while running the code. What could be the issue ?
`KeyError Traceback (most recent call last) /Application/DataScience/Anaconda/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 3077 try: -> 3078 return self._engine.get_loc(key) 3079 except KeyError:
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 44
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
in () 2 3 kliep = DensityRatioEstimator() ----> 4 kliep.fit(X_train, X_test) # keyword arguments are X_train and X_test 5 # weights = kliep.predict(X_train) 6 ~/nma/Shankar/pykliep.py in fit(self, X_train, X_test, alpha_0) 59 np.random.seed(self.random_state) 60 X_test_shuffled = X_test.copy() ---> 61 np.random.shuffle(X_test_shuffled) 62 63 j_scores = {}
mtrand.pyx in mtrand.RandomState.shuffle()
mtrand.pyx in mtrand.RandomState.shuffle()
/Application/DataScience/Anaconda/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in getitem(self, key) 2686 return self._getitem_multilevel(key) 2687 else: -> 2688 return self._getitem_column(key) 2689 2690 def _getitem_column(self, key):
/Application/DataScience/Anaconda/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in _getitem_column(self, key) 2693 # get column 2694 if self.columns.is_unique: -> 2695 return self._get_item_cache(key) 2696 2697 # duplicate columns & possible reduce dimensionality
/Application/DataScience/Anaconda/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in _get_item_cache(self, item) 2487 res = cache.get(item) 2488 if res is None: -> 2489 values = self._data.get(item) 2490 res = self._box_item_values(item, values) 2491 cache[item] = res
/Application/DataScience/Anaconda/anaconda3/lib/python3.6/site-packages/pandas/core/internals.py in get(self, item, fastpath) 4113 4114 if not isna(item): -> 4115 loc = self.items.get_loc(item) 4116 else: 4117 indexer = np.arange(len(self.items))[isna(self.items)]
/Application/DataScience/Anaconda/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 3078 return self._engine.get_loc(key) 3079 except KeyError: -> 3080 return self._engine.get_loc(self._maybe_cast_indexer(key)) 3081 3082 indexer = self.get_indexer([key], method=method, tolerance=tolerance)
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 44`
I got the same error. My problem was: LabelEncoder used on training data but not on testing data.
# having X_train and X_valid
encoders_pipeline.fit(X_train)
X_train = encoders_pipeline.transform(X_train)
X_valid = encoders_pipeline.transform(X_valid)
kliep = DensityRatioEstimator()
kliep.fit(X_train, X_valid)