我很新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) 我有一个应用程序,可以为用户加密一些文本。
截至目前,用户输入纯文本密码,然后我通过加密包运行 HKDF 算法,从该密码派生密钥。将密钥转换为 URL 安全的 base64 编码的 32 字节密钥后,我将其用作运行对称加密(使用Fernet 模块)的密钥来加密用户的文本。
我读过 HKDF,并了解到“提取然后扩展”范式使其对于这种类型的场景很有用。但我也阅读了文档,其中指出 HKDF 不适合密码存储。所以我想知道在这种情况下是否应该使用PBKDF2 算法?
我没有存储纯文本密码,或者我从它们派生的密钥,这就是为什么我认为 HKDF 没问题。我想确保我做事安全,并且可以寻求更有经验的人的帮助。
谢谢!
更新
我刚刚看到这篇有用的帖子https://security.stackexchange.com/questions/38303/hkdf-and-key-stretching,这让我相信我应该使用 PBKDF2。如果可能的话,仍然希望得到一些确认。
我一直在使用Cryptography包和Fernet(对称加密)模块.
加密某些文本时,如:
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(b"some random text")
Run Code Online (Sandbox Code Playgroud)
令牌始终以相同的字节序列开头,如下所示:"gAAAABU80.....".
为什么是这样?
我有原始二进制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)
在这里转换数据类型的正确方法是什么?
我正在尝试在 Cloudwatch 中创建一个图表,显示我正在运行的所有实例,以及按需与现货与预留实例的数量。我一直在寻找几个小时,似乎找不到任何方法来做到这一点。
有谁知道使用 Cloudwatch 或其他服务为此创建图表的最简单方法吗?
CryptoJS 的便利功能CryptoJS.AES.encrypt("some plaintext", "password")似乎没有进行任何身份验证。
我看到 CryptoJS 提供了一个HMAC 类,但我对如何使用它来加密然后进行身份验证感到困惑。
我四处寻找教程和其他问题,但没有找到。
如何使用上述 CryptoJS HMAC 类添加身份验证来验证 生成的密文CryptoJS.AES.encrypt?
python ×4
cryptography ×2
encryption ×2
aes ×1
audio ×1
cryptojs ×1
javascript ×1
numpy ×1
scikit-learn ×1