Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kullanım
microsoftml.categorical_hash(cols: [str, dict, list],
hash_bits: int = 16, seed: int = 314489979,
ordered: bool = True, invert_hash: int = 0,
output_kind: ['Bag', 'Ind', 'Key', 'Bin'] = 'Bag', **kargs)
Açıklama
Modeli eğitmeden önce veriler üzerinde gerçekleştirilebilecek kategorik karma dönüşümü.
Şey
categorical_hash değeri karma haline getirerek ve karmayı torbada dizin olarak kullanarak kategorik bir değeri gösterge dizisine dönüştürür. Giriş sütunu bir vektörse, bunun için tek bir gösterge çantası döndürülür.
categorical_hash şu anda faktör verilerinin işlenmesini desteklememektedir.
Bağımsız değişken
Cols
Dönüştürülecek karakter dizesi veya değişken adlarının listesi.
dictise, anahtarlar oluşturulacak yeni değişkenlerin adlarını temsil eder.
hash_bits
Karma olarak eklenecek bit sayısını belirten bir tamsayı. 1 ile 30 arasında (dahil) olmalıdır. Varsayılan değer 16'dır.
tohum
Karma tohumunu belirten bir tamsayı. Varsayılan değer 314489979.
Sipariş
Her terimin konumunu karmaya dahil etmek True. Aksi takdirde False. Varsayılan değer True.
invert_hash
Yuva adını oluşturmak için kullanılabilecek anahtar sayısı sınırını belirten tamsayı.
0, ters karma oluşturma olmadığı anlamına gelir; -1 sınır yok anlamına gelir. Sıfır değeri daha iyi performans sağlarken, anlamlı katsayı adlarını almak için sıfır olmayan bir değer gerekir.
Varsayılan değer 0.
output_kind
Çıkış türünün türünü belirten bir karakter dizesi.
"Bag": Çok kümeli bir vektör oluşturur. Giriş sütunu kategorilerden oluşan bir vektörse, çıkış bir vektör içerir; burada her yuvadaki değer, giriş vektörlerindeki kategorinin oluşum sayısıdır. Giriş sütunu tek bir kategori içeriyorsa, gösterge vektör ve çanta vektörleri eşdeğerdir"Ind": Bir gösterge vektöru oluşturur. Giriş sütunu bir kategori vektördür ve çıkış giriş sütununda yuva başına bir gösterge vektörüne sahip olur."Key: Dizin çıkışı oluşturur. Çıkış, kategorinin tamsayı kimliğidir (1 ile sözlükteki kategori sayısı arasında)."Bin: Kategorinin ikili gösterimi olan bir vektör oluşturur.
Varsayılan değer "Bag".
kargs
İşlem altyapısına gönderilen ek bağımsız değişkenler.
Döndürür
dönüşümü tanımlayan bir nesne.
Ayrıca bkz.
Örnek
'''
Example on rx_logistic_regression and categorical_hash.
'''
import numpy
import pandas
from microsoftml import rx_logistic_regression, categorical_hash, rx_predict
from microsoftml.datasets.datasets import get_dataset
movie_reviews = get_dataset("movie_reviews")
train_reviews = pandas.DataFrame(data=dict(
review=[
"This is great", "I hate it", "Love it", "Do not like it", "Really like it",
"I hate it", "I like it a lot", "I kind of hate it", "I do like it",
"I really hate it", "It is very good", "I hate it a bunch", "I love it a bunch",
"I hate it", "I like it very much", "I hate it very much.",
"I really do love it", "I really do hate it", "Love it!", "Hate it!",
"I love it", "I hate it", "I love it", "I hate it", "I love it"],
like=[True, False, True, False, True, False, True, False, True, False,
True, False, True, False, True, False, True, False, True, False, True,
False, True, False, True]))
test_reviews = pandas.DataFrame(data=dict(
review=[
"This is great", "I hate it", "Love it", "Really like it", "I hate it",
"I like it a lot", "I love it", "I do like it", "I really hate it", "I love it"]))
# Use a categorical hash transform.
out_model = rx_logistic_regression("like ~ reviewCat",
data=train_reviews,
ml_transforms=[categorical_hash(cols=dict(reviewCat="review"))])
# Weights are similar to categorical.
print(out_model.coef_)
# Use the model to score.
source_out_df = rx_predict(out_model, data=test_reviews, extra_vars_to_write=["review"])
print(source_out_df.head())
Çıktı:
Not adding a normalizer.
Beginning processing data.
Rows Read: 25, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 25, Read Time: 0, Transform Time: 0
Beginning processing data.
LBFGS multi-threading will attempt to load dataset into memory. In case of out-of-memory issues, turn off multi-threading by setting trainThreads to 1.
Warning: Too few instances to use 4 threads, decreasing to 1 thread(s)
Beginning optimization
num vars: 65537
improvement criterion: Mean Improvement
L1 regularization selected 3 of 65537 weights.
Not training a calibrator because it is not needed.
Elapsed time: 00:00:00.1209392
Elapsed time: 00:00:00.0190134
OrderedDict([('(Bias)', 0.2132447361946106), ('f1783', -0.7939924597740173), ('f38537', 0.1968022584915161)])
Beginning processing data.
Rows Read: 10, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0284223
Finished writing 10 rows.
Writing completed.
review PredictedLabel Score Probability
0 This is great True 0.213245 0.553110
1 I hate it False -0.580748 0.358761
2 Love it True 0.213245 0.553110
3 Really like it True 0.213245 0.553110
4 I hate it False -0.580748 0.358761