小编sum*_*s22的帖子

ConvergenceWarning: lbfgs 未能收敛 (status=1): STOP: TOTAL NO. 达到限制的迭代次数

我有一个由数字和分类数据组成的数据集,我想根据患者的医疗特征预测其不良结果。我为我的数据集定义了一个预测管道,如下所示:

X = dataset.drop(columns=['target'])
y = dataset['target']

# define categorical and numeric transformers
numeric_transformer = Pipeline(steps=[
    ('knnImputer', KNNImputer(n_neighbors=2, weights="uniform")),
    ('scaler', StandardScaler())])

categorical_transformer = Pipeline(steps=[
    ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),
    ('onehot', OneHotEncoder(handle_unknown='ignore'))])

#  dispatch object columns to the categorical_transformer and remaining columns to numerical_transformer
preprocessor = ColumnTransformer(transformers=[
    ('num', numeric_transformer, selector(dtype_exclude="object")),
    ('cat', categorical_transformer, selector(dtype_include="object"))
])

# Append classifier to preprocessing pipeline.
# Now we have a full prediction pipeline.
clf = Pipeline(steps=[('preprocessor', preprocessor),
                      ('classifier', LogisticRegression())])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

clf.fit(X_train, …
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn logistic-regression

43
推荐指数
3
解决办法
7万
查看次数

使用 scikit-learn OneHotEncoder 时如何处理分类数据中的缺失值 (NaN)?

我最近开始学习 Python,以使用机器学习方法为研究项目开发预测模型。我有一个包含数值和分类数据的大型数据集。数据集有很多缺失值。我目前正在尝试使用 OneHotEncoder 对分类特征进行编码。当我读到 OneHotEncoder 时,我的理解是,对于缺失值 (NaN),OneHotEncoder 会将 0 分配给所有特征的类别,如下所示:

0     Male 
1     Female
2     NaN
Run Code Online (Sandbox Code Playgroud)

应用 OneHotEncoder 后:

0     10 
1     01
2     00
Run Code Online (Sandbox Code Playgroud)

但是,当运行以下代码时:

0     Male 
1     Female
2     NaN
Run Code Online (Sandbox Code Playgroud)

我收到错误ValueError: Input contains NaN

所以我猜我之前对 OneHotEncoder 如何处理缺失值的理解是错误的。有没有办法让我获得上述功能?我知道在编码之前插补缺失值将解决这个问题,但我不愿意这样做,因为我正在处理医疗数据,并担心插补可能会降低我的模型的预测准确性。

我发现这个问题很相似,但答案没有提供关于如何处理 NaN 值的足够详细的解决方案。

让我知道你的想法,谢谢。

python machine-learning scikit-learn

6
推荐指数
3
解决办法
4645
查看次数

mongoimport csv文件,包含具有数组值的列

我是MongoDB的新手,我正在尝试将包含程序数据的csv文件导入MongoDB.csv文件(标签)中的一个字段包含一个值列表:

在此输入图像描述

当我将其导入mongoDB时,整个字段显示为字符串:

"tags":" [ethics.philosophy.plato] "

有没有什么办法可以编辑这个字段(在导入命令中或操纵数据库中的数据),使标记字段是一个值数组,如下所示:

"标签":[ "道德","哲学","柏拉图" ]

我已经在线查看并通过mongoDB mongoimport文档,但没有找到相关的解决方案.提前致谢!

mongodb mongoimport

3
推荐指数
1
解决办法
2112
查看次数