小编Sab*_* 錆兎的帖子

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万
查看次数

在同一环境中使用 conda 和 pip install 是一个坏主意吗?

由于conda install并且pip install在许多情况下基本上做相同的事情,那么最好的选择是什么?有没有人应该pip install只坚持的情况?对称,有没有一种情况conda install只能坚持?有没有办法通过在单个环境中同时使用 conda 和 pip install 来解决问题?

如果这两种方法本质上是相同的并且彼此不矛盾,那么就没有理由只坚持其中一种而不是另一种。

python pip virtualenv conda

29
推荐指数
2
解决办法
1万
查看次数

如何在 Ubuntu 20.04 上为 Python 3.9 安装 pip

Ubuntu 20.04 附带 Python 3.8。我无法卸载 Python 3.8但我需要 Python 3.9

我继续从以下位置安装了 Python 3.9:

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt 安装 python3.9

如何为 python 3.9 安装 pip?

安装 pip using sudo apt-get install python3-pip对我不起作用,因为它为 python 3.8 安装了 pip

使用安装 pippython3.9 get-pip.py出现错误:

~/python_tools$ python3.9 get-pip.py 
Traceback (most recent call last):
  File "/home/ubuntu/python_tools/get-pip.py", line 23704, in <module>
    main()
  File "/home/ubuntu/python_tools/get-pip.py", line 198, in main
    bootstrap(tmpdir=tmpdir)
  File "/home/ubuntu/python_tools/get-pip.py", line 82, in bootstrap
    from pip._internal.cli.main import main as pip_entry_point
  File "<frozen zipimport>", …
Run Code Online (Sandbox Code Playgroud)

python ubuntu pip ubuntu-20.04

18
推荐指数
3
解决办法
2万
查看次数

从 Jupyter Notebook 退出 pdb 交互模式

在 中pdb,我使用交互命令进入交互模式(文档)。

这给了我一个 InteractiveConsole pdb(我需要它来做列表理解)。

在 Jupyter Notebook 中,如何在不完全退出调试器的情况下离开交互模式?

这个问题是完全相同的问题,但解决方案仅适用于终端。

  • ctrl+d从 Jupyter 中添加一个书签。
  • quit()返回NameError: name 'quit' is not defined

我可以import sys; sys.exit(),但这会完全退出调试器,这意味着我必须从头开始。

python debugging jupyter-notebook

17
推荐指数
3
解决办法
1694
查看次数

合并 Pull 请求后,我可以删除分叉存储库而不丢失我的贡献历史记录吗?

我已经分叉了一个 GitHub 存储库来为父存储库做出贡献。进行更改并合并 PR 后,我可以删除分叉的存储库吗?

将删除分叉存储库

  • 删除我在个人资料中对该 PR 的贡献吗?
  • 导致我的贡献活动(我的提交)没有显示在我的个人资料中?
  • 将我从贡献者列表中删除?

我发现这篇博文(Tidying up after Pull Requests )讨论了合并 PR 后删除分支,但找不到任何有关分叉贡献的文章。

github

17
推荐指数
2
解决办法
2850
查看次数

使用没有分类器的 scikit-learn 绘制混淆矩阵

我有一个用sklearn.metrics.confusion_matrix.

现在,我想用 来绘制它sklearn.metrics.plot_confusion_matrix,但第一个参数是经过训练的分类器,如文档中所指定。问题是我没有分类器;结果是通过手动计算获得的。

是否仍然可以通过 scikit-learn 在一行中绘制混淆矩阵,还是必须使用 matplotlib 自己编写代码?

python confusion-matrix scikit-learn

16
推荐指数
1
解决办法
2万
查看次数

np.linspace 和 np.arange 有什么区别?

我一直用np.arange. 我最近遇到了np.linspace。我想知道它们之间到底有什么区别......查看他们的文档:

np.arange

返回给定间隔内均匀间隔的值。

np.linspace

返回指定间隔内均匀间隔的数字。

我能看到的唯一区别是linspace有更多的选择......比如选择包含最后一个元素。

您会推荐这两个中的哪一个,为什么?在哪些情况下np.linspace更胜一筹?

python numpy range linspace

14
推荐指数
3
解决办法
2万
查看次数

从 C 代码调用 Raku 代码的协议是什么?

假设我在 C 中有我的事件驱动的 TCP 通信库。

在我的 Raku 应用程序中,我可以使用 NativeCall 调用 C 库中的函数。

my $server = create-server("127.0.0.1", 4000);
Run Code Online (Sandbox Code Playgroud)

现在,从我用C回调(say onAccept)我想调出在我的应用程序乐功能(说on-accept(connection)那里connection将是一个指向C结构)。

那么,我该怎么做:on-accept从我的 C 函数调用我的 Raku函数onAccept

附:我尝试使用一个简单的标题“如何从 C 代码调用 Raku 代码”进行发布,但无论出于何种原因,stackoverflow.com 都不允许我这样做。正因为如此,我编造了这个花哨的标题。

我正在创建一个 32 位 DLL。我们必须明确告诉 CMake 配置 64 位构建。

cmake -G "Visual Studio 14 2015 Win64" ..
Run Code Online (Sandbox Code Playgroud)

无论如何,现在代码运行了,这不是我所要求的,因为回调仍然在 C 中。

我所要求的似乎不太可能。

我尝试使用 Haakon 建议的方法,但恐怕我不明白它是如何工作的。

我在 Windows 中,不幸的是,Raku 找不到我的 dll,即使我将它们放在 C:\Windows\System32 中。它找到“msvcrt”(C 运行时),但没有找到我的 dll。

dll 代码(Visual Studio 2015)。

#include <stdio.h>

#define EXPORTED __declspec(dllexport) …
Run Code Online (Sandbox Code Playgroud)

raku

14
推荐指数
2
解决办法
350
查看次数

BigQuery - 将查询结果导出到本地文件/Google 存储

我想将查询结果从 BigQuery 导出到本地文件/Google 存储。

我试过 'bq extract' 命令,但它不允许查询作为输入。

Usage: bq extract <source_table> <destination_uris>
Run Code Online (Sandbox Code Playgroud)

我不想提取整个表,因为该表包含许多不需要的列,我需要聚合数据。

到目前为止,我能找到的唯一解决方法是使用“bq query”命令创建一个表并使用“bq extract”来提取数据。

我正在寻找任何更好的方法来通过执行以下操作来实现这一目标。

bq extract 'select dept_id,sum(sal) from temp.employee 
                                 group by dept_id' 'gs://XXXX/employee.csv'
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage google-bigquery

13
推荐指数
5
解决办法
2万
查看次数

与 Python 的 `in` 运算符相关的混淆

我发现 Python 的in操作符有奇怪的行为

d = {}
'k' in d == False # False! 
Run Code Online (Sandbox Code Playgroud)

我认为这是因为优先级:

('k' in d) == False # True, it's okay
'k' in (d == False) # Error, it's also okay
Run Code Online (Sandbox Code Playgroud)

但是,什么优先级评估以下表达式呢?

d = {}
'k' in d == False
Run Code Online (Sandbox Code Playgroud)

如果是因为优先级错误,为什么它不会触发错误,例如:

'k' in (d == False)
Run Code Online (Sandbox Code Playgroud)

换句话说,这个表达式在 Python 的底层发生了什么?

'k' in d == False
Run Code Online (Sandbox Code Playgroud)

python

13
推荐指数
1
解决办法
474
查看次数