小编dee*_*eef的帖子

scikit TfidfVectorizer.transform()返回同一文档的不同结果

我很新sckit-learn,很困惑,因为TfidVectorizer有时会为同一个文档返回一个不同的向量.

我的语料库包含> 100个文档.

我在跑:

vectorizer = TfidfVectorizer(ngram_range=(1, 2), token_pattern=r'\b\w+\b', min_df=1)

X = vectorizer.fit_transform(corpus)
Run Code Online (Sandbox Code Playgroud)

初始化TfidVectorizer并使其适合语料库中的文档.corpus是一个文本字符串列表.

之后,如果我这样做:

test = list(vectorizer.transform([corpus[0]]).toarray()[0])

test == list(X.toarray()[0])
Run Code Online (Sandbox Code Playgroud)

结果是False.

如果我打印的第20项的list(X.toarray()[0])test,分别可以看到他们是关闭的一小部分,我希望他们是相同的.

[0.16971458376720741, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Run Code Online (Sandbox Code Playgroud)

[0.16971458376720716, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Run Code Online (Sandbox Code Playgroud)

但如果我这样做:

test_1 …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

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

HKDF 或 PBKDF2 用于生成对称加密密钥?(Python 密码学)

我有一个应用程序,可以为用户加密一些文本。

截至目前,用户输入纯文本密码,然后我通过加密包运行 HKDF 算法,从该密码派生密钥。将密钥转换为 URL 安全的 base64 编码的 32 字节密钥后,我将其用作运行对称加密(使用Fernet 模块)的密钥来加密用户的文本。

我读过 HKDF,并了解到“提取然后扩展”范式使其对于这种类型的场景很有用。但我也阅读了文档,其中指出 HKDF 不适合密码存储。所以我想知道在这种情况下是否应该使用PBKDF2 算法?

我没有存储纯文本密码,或者我从它们派生的密钥,这就是为什么我认为 HKDF 没问题。我想确保我做事安全,并且可以寻求更有经验的人的帮助。

谢谢!

更新

我刚刚看到这篇有用的帖子https://security.stackexchange.com/questions/38303/hkdf-and-key-stretching,这让我相信我应该使用 PBKDF2。如果可能的话,仍然希望得到一些确认。

python encryption

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

为什么Fernet加密令牌始终以相同的顺序开始?(Python加密包)

我一直在使用Cryptography包Fernet(对称加密)模块.

加密某些文本时,如:

key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(b"some random text")
Run Code Online (Sandbox Code Playgroud)

令牌始终以相同的字节序列开头,如下所示:"gAAAABU80.....".

为什么是这样?

python cryptography

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

将numpy int16音频数组转换为float32

我有原始二进制int16数据,正在使用将其转换为numpy数组

audio = np.fromstring(raw_data, dtype=np.int16)

数据是音频数据。当我将数据转换为float32时,音频会失真:

audio = audio.astype(np.float32, order='C')

我将音频保存到磁盘以使用SoundFile进行收听:

soundfile.write('out.wav', audio, sample_rate)

如果我执行该astype操作直接将音频写入磁盘,则不会出现失真(即)。

# no distortion
audio = np.fromstring(raw_data, dtype=np.int16)
soundfile.write('out.wav', audio, sample_rate)

# distortion
audio = np.fromstring(raw_data, dtype=np.int16)
audio = audio.astype(np.float32, order='C')
soundfile.write('out.wav', audio, sample_rate)
Run Code Online (Sandbox Code Playgroud)

在这里转换数据类型的正确方法是什么?

python audio numpy

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

在 AWS Cloudwatch 中显示 EC2 实例数

我正在尝试在 Cloudwatch 中创建一个图表,显示我正在运行的所有实例,以及按需与现货与预留实例的数量。我一直在寻找几个小时,似乎找不到任何方法来做到这一点。

有谁知道使用 Cloudwatch 或其他服务为此创建图表的最简单方法吗?

amazon-web-services amazon-cloudwatch

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

如何将 HMAC 添加到 CryptoJS AES 加密?

CryptoJS 的便利功能CryptoJS.AES.encrypt("some plaintext", "password")似乎没有进行任何身份验证。

我看到 CryptoJS 提供了一个HMAC 类,但我对如何使用它来加密然后进行身份验证感到困惑。

我四处寻找教程和其他问题,但没有找到。

如何使用上述 CryptoJS HMAC 类添加身份验证来验证 生成的密文CryptoJS.AES.encrypt

javascript encryption cryptography aes cryptojs

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