小编Tob*_*oby的帖子

如何列出支持predict_proba()的所有scikit-learn分类器

我需要一个支持predict_proba()方法的所有scikit-learn分类器的列表.由于文档没有提供获取该信息的简单方法,如何以编程方式获取此信息?

python scikit-learn

18
推荐指数
1
解决办法
4859
查看次数

R中矩阵的行方差

我想计算矩阵中每行的方差.对于以下矩阵A

     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    5    6   10
[3,]   50    7   11
[4,]    4    8   12
Run Code Online (Sandbox Code Playgroud)

我想得到

[1]  16.0000   7.0000 564.3333  16.0000
Run Code Online (Sandbox Code Playgroud)

我知道我可以实现这一目标apply(A,1,var),但是有更快或更好的方法吗?从八度,我可以这样做var(A,0,2),但我不知道如何使用R Y中的var()函数的参数.

编辑:典型块的实际数据集大约有100行和500列.但总数据量约为50GB.

r

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

Lightgbm排名示例

任何人都可以分享一个关于如何使用 lightgbm 训练排名模型的最小数据示例吗?最好使用 Scikit-Lean api?我正在努力解决的是如何传递标签数据。我的数据是页面展示次数,如下所示:

X:
user1, feature1, ...
user2, feature1, ...

y:
user1, page1, 10 impressions
user1, page2, 6 impressions
user2, page1, 9 impressions
Run Code Online (Sandbox Code Playgroud)

到目前为止我想我已经明白了

  • 我的训练数据的长度必须是上面 y (3) 的长度:每个(用户,页面)组一行。
  • groupscikit-klearn api(set_group()在标准 api 中)中的参数是一个 length 列表set(user_ids),其中每个条目是该用户访问过的不同页面的数量。在上面的例子中,那就是 (2, 1)。该列表的总和等于我的训练集的长度。

但是我如何给出对于 user1 来说,page1 的访问频率高于 page2 的信息呢?

python lightgbm

9
推荐指数
1
解决办法
3665
查看次数

Spacy 的多线程:joblib 是必要的吗?

在文档的这一部分中,提到了nlp.pipe()并行工作,并给出了以下示例:

for doc in nlp.pipe(texts, batch_size=10000, n_threads=3):
    pass
Run Code Online (Sandbox Code Playgroud)

之后,给出了另一个使用 joblib 的更长的示例。我不太明白两者之间的关系。据我了解文档,如果我只是想并行化许多文档的标记化,上面的简单 for 循环就可以工作,而且我不必使用 joblib,对吗?

我的管道如下所示:

nlp = spacy.load('en', disable=['parser', 'ner', 'textcat'])
Run Code Online (Sandbox Code Playgroud)

什么时候需要使用 joblib?

python spacy

7
推荐指数
1
解决办法
5728
查看次数

Pandas .str.replace 和不区分大小写

使得更换不区分大小写似乎并不在下面的例子中(我要替换的效果JR。JR):

In [0]: pd.Series('Jr. eng').str.replace('jr.', 'jr', regex=False, case=False)
Out[0]: 0    Jr. eng
Run Code Online (Sandbox Code Playgroud)

为什么?我有什么误解?

python regex string replace pandas

5
推荐指数
1
解决办法
5243
查看次数

将pandas DataFrame的索引增加一

我想让我的数据帧从索引1而不是0开始.但不知怎的,我没有得到它:

In[1]: df = pd.DataFrame([[4,7],[10,11],[7,2]],columns=['one', 'two'])
In[2]: df
Out[2]: 
   one  two
0    4    7
1   10   11
2    7    2
In[3]: df.reindex(range(1,len(df)+1))
Out[3]: 
   one  two
1   10   11
2    7    2
3  NaN  NaN
Run Code Online (Sandbox Code Playgroud)

我的第一排去了哪里?我对reindex()的错误是什么?

python pandas

4
推荐指数
2
解决办法
8622
查看次数

Google Cloud vision api会检测到不同数量的标签

根据此页面,以下代码段返回5个标签:

from google.cloud import vision
url = 'https://farm9.staticflickr.com/8215/8267748261_ea142faf5e.jpg'

client = vision.ImageAnnotatorClient()
client.label_detection({'source': {'image_uri': url}}) # yields 5
Run Code Online (Sandbox Code Playgroud)

当我按照此处所述进行操作时,我会获得10个标签:

client = vision.Client()
image = client.image(source_uri=url)
labels = image.detect_labels() # yields 10
Run Code Online (Sandbox Code Playgroud)

当我使用Cloud Vision演示页面时,我会为同一图像获得18个标签.

为什么这些方法都有所不同?我在这里错过了什么?

python google-cloud-vision

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

Paramiko 或 sshtunnel 和 ssh-agent 无需输入密码

我正在尝试使用 sshtunnel 创建到服务器的隧道。我正在使用 ssh-key 和 ssh-agent:

from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
    (proxyhost, 22),
    ssh_username=ssh_username,
    #ssh_private_key_password=PASSPHRASE, # with this line it works
    remote_bind_address=('127.0.0.1', 3306),
) as tunnel:
    pass
Run Code Online (Sandbox Code Playgroud)

找到正确的私钥,当我给出密码作为参数时,隧道就建立了(请参见上面的注释行)。

但我已经使用 ssh-agent 解锁了我的 ssh 私钥(只有在重新启动后第一次使用 ssh 时才会要求我提供 ssh 密码)。是否可以让 paramiko/sshtunnel 获取解锁的私钥而不提示输入密码?我想避免将我的密码存储在磁盘上的任何位置。

python paramiko ssh-tunnel ssh-agent

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