我试图检测我的数据集的异常值,我找到了sklearn的隔离森林.我无法理解如何使用它.我将训练数据放入其中,它给了我一个带-1和1值的向量.
任何人都可以向我解释它是如何工作的并提供一个例子吗?
我怎么知道异常值是"真正的"异常值?
调整参数?
这是我的代码:
clf = IsolationForest(max_samples=10000, random_state=10)
clf.fit(x_train)
y_pred_train = clf.predict(x_train)
y_pred_test = clf.predict(x_test)
[1 1 1 ..., -1 1 1]
Run Code Online (Sandbox Code Playgroud) 我试图从 Python 3 和 SQL 生成相同的 MD5 代码,但我总是得到不同的结果。
使用此唯一标识符 f033b004-eb80-412d-9773-f4f06bb994c1
SELECT HASHBYTES('MD5', 'f033b004-eb80-412d-9773-f4f06bb994c1')
Run Code Online (Sandbox Code Playgroud)
结果: 0x9BCE8D23CAC76AF4F61C04673CDD0081
然后我做那个计算
SELECT ABS(HASHBYTES('MD5', 'f033b004-eb80-412d-9773-f4f06bb994c1') % 10)
Run Code Online (Sandbox Code Playgroud)
结果: 5
现在使用 python 我使用hashlib
库
import hashlib
m = hashlib.md5('f033b004-eb80-412d-9773-f4f06bb994c1'.encode() )
m.digest(), m.hexdigest()
Run Code Online (Sandbox Code Playgroud)
结果: b'\x9b\xce\x8d#\xca\xc7j\xf4\xf6\x1c\x04g<\xdd\x00\x81',
'9bce8d23cac76af4f61c04673cdd0081'
然后我做同样的计算
int.from_bytes( b'\x9b\xce\x8d#\xca\xc7j\xf4\xf6\x1c\x04g<\xdd\x00\x81',
byteorder='big',
signed=False )%10
Run Code Online (Sandbox Code Playgroud)
结果: 9
有谁知道如何从 Python 代码中获得与 SQL Server 相同的结果?
我有来自电子邮件的50.000个主题行,我想根据可以用来代替其他人的同义词或单词对其中的单词进行分类.
例如:
最畅销!
最好的销售
我希望他们在同一个小组中.
我使用nltk的wordnet构建以下函数,但它不能正常工作.
def synonyms(w,group,guide):
try:
# Check if the words is similar
w1 = wordnet.synset(w +'.'+guide+'.01')
w2 = wordnet.synset(group +'.'+guide+'.01')
if w1.wup_similarity(w2)>=0.7:
return True
elif w1.wup_similarity(w2)<0.7:
return False
except:
return False
Run Code Online (Sandbox Code Playgroud)
任何想法或工具来实现这一目标?
python ×2
hash ×1
md5 ×1
nlp ×1
nltk ×1
outliers ×1
python-3.x ×1
scikit-learn ×1
sql-server ×1