代码拉取完成,页面将自动刷新
同步操作将从 连享会/Python-causalml 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import pandas as pd
import pytest
from causalml.features import OneHotEncoder, LabelEncoder, load_data
@pytest.fixture
def generate_categorical_data():
generated = False
def _generate_data():
if not generated:
df = pd.DataFrame({'cat1': ['a', 'a', 'b', 'a', 'c', 'b', 'd'],
'cat2': ['aa', 'aa', 'aa', 'bb', 'bb', 'bb', 'cc'],
'num1': [1, 2, 1, 2, 1, 1, 1]})
return df
yield _generate_data
def test_load_data(generate_categorical_data):
df = generate_categorical_data()
features = load_data(df, df.columns)
assert df.shape[0] == features.shape[0]
def test_LabelEncoder(generate_categorical_data):
df = generate_categorical_data()
cat_cols = [col for col in df.columns if df[col].dtype == 'object']
n_category = 0
for col in cat_cols:
n_category += df[col].nunique()
lbe = LabelEncoder(min_obs=2)
X_cat = lbe.fit_transform(df[cat_cols])
n_label = 0
for col in cat_cols:
n_label += X_cat[col].nunique()
assert df.shape[0] == X_cat.shape[0] and n_label < n_category
def test_OneHotEncoder(generate_categorical_data):
df = generate_categorical_data()
cat_cols = [col for col in df.columns if df[col].dtype == 'object']
n_category = 0
for col in cat_cols:
n_category += df[col].nunique()
ohe = OneHotEncoder(min_obs=2)
X_cat = ohe.fit_transform(df[cat_cols]).todense()
assert df.shape[0] == X_cat.shape[0] and X_cat.shape[1] < n_category
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。