Repository: scikit-learn-contrib/category_encoders (language: python)

Issue:
An `examples` package is installed and messes up every other `examples` folder
The `examples` folder is a package because it contains an `__init__.py` file. 
However, every project that has an `examples` folder in its root (many-many packages), can not refer to other modules in the folder. For examples, consider the following simple example in some package:

```python
import my_package
from examples.utils import generate_data

data = generate_data()
print(my_package.process(data))
```

This sort of code raises the exception:
> ModuleNotFoundError: No module named 'examples.utils'

So, please do at least one of the following:
1. Please use `include=(...)` and not `exclude=(...)` in the package-finding mechanism in `setup.py` (**PREFERRED** ).
2. Remove the `examples/__init__.py` file.
3. Add `examples` to the `exclude=(...)` clause

For now I must uninstall this package as it hinders my ability to run examples in my code.

Thanks!


Discussion / hints:

Fix patch:
diff --git a/setup.py b/setup.py
index cbf37b45..f14732e3 100644
--- a/setup.py
+++ b/setup.py
@@ -25,7 +25,7 @@
       'Programming Language :: Python :: 3',
     ],
     keywords='python data science machine learning pandas sklearn',
-    packages=find_packages(exclude=['tests*']),
+    packages=find_packages(include=['category_encoders']),
     include_package_data=True,
     author='Will McGinnis',
     install_requires=[


Test patch:
diff --git a/tests/test_leave_one_out.py b/tests/test_leave_one_out.py
index a0d38219..b5602080 100644
--- a/tests/test_leave_one_out.py
+++ b/tests/test_leave_one_out.py
@@ -116,3 +116,23 @@ def test_HandleUnknownValue_HaveUnknownInTest_ExpectMean(self):
         obtained = ce_leave.transform(test, test_target)
 
         self.assertEqual([1.0, .6], list(obtained['color']))
+
+    def test_leave_one_out_categorical(self):
+        """
+        test that if the input is a pd.Categorical the output is the same as for string columns
+        :return:
+        """
+        df = pd.DataFrame({
+            'color_str': ["a", "a", "a", "b", "b", "b"],
+            'color_num_cat': pd.Categorical([1.0, 1.0, 1.0, 2.0, 2.0, 2.0]),
+            'color_str_cat': pd.Categorical(["a", "a", "a", "b", "b", "b"]),
+            'outcome': [1, 0, 0, 1, 0, 1]})
+
+        X = df.drop('outcome', axis=1)
+        y = df["outcome"]
+
+        ce_leave = encoders.LeaveOneOutEncoder()
+        obtained = ce_leave.fit_transform(X, y)
+
+        for col in obtained.columns:
+            self.assertEqual([0.0, 0.5, 0.5, 0.5, 1.0, 0.5], list(obtained[col]))