學習筆記第二次打卡

2021-10-01 11:01:39 字數 2541 閱讀 4225

讀入文字

分詞建立字典,將每個詞對映到乙個唯一的索引(index)

將文字從詞的序列轉換為索引的序列,方便輸入模型

建立詞典

class vocab(object):

def __init__(self, tokens, min_freq=0, use_special_tokens=false):

counter = count_corpus(tokens) # :

self.token_freqs = list(counter.items())

self.idx_to_token =

if use_special_tokens:

# padding, begin of sentence, end of sentence, unknown

self.pad, self.bos, self.eos, self.unk = (0, 1, 2, 3)

self.idx_to_token += ['', '', '', '']

else:

self.unk = 0

self.idx_to_token += ['']

self.idx_to_token += [token for token, freq in self.token_freqs

if freq >= min_freq and token not in self.idx_to_token]

self.token_to_idx = dict()

for idx, token in enumerate(self.idx_to_token):

self.token_to_idx[token] = idx

def __len__(self):

return len(self.idx_to_token)

def __getitem__(self, tokens):

if not isinstance(tokens, (list, tuple)):

return self.token_to_idx.get(tokens, self.unk)

return [self.__getitem__(token) for token in tokens]

def to_tokens(self, indices):

if not isinstance(indices, (list, tuple)):

return self.idx_to_token[indices]

return [self.idx_to_token[index] for index in indices]

def count_corpus(sentences):

tokens = [tk for st in sentences for tk in st]

return collections.counter(tokens) # 返回乙個字典,記錄每個詞的出現次數

無論use_special_token引數是否為真,都會使用的特殊token是____,作用是用來____。

< unk >,表示未登入詞

< pad >, 補齊至句子的長度

< bos >,< eos > 句子開始和結束

缺點:引數空間過大

資料稀疏

建立字元索引

idx_to_char=list(set(corpus_chars))# 去重,得到索引到字元的對映char_to_idx=# 字元到索引的對映vocab_size=len(char_to_idx)print(vocab_size)corpus_indices=[char_to_idx[char]forcharincorpus_chars]# 將每個字元轉化為索引,得到乙個索引的序列sample=corpus_indices[:20]print(『chars:』,』』.join([idx_to_char[idx]foridxinsample]))print(『indices:』,sample)

隨機取樣

下面的**每次從資料裡隨機取樣乙個小批量。其中批量大小batch_size是每個小批量的樣本數,num_steps是每個樣本所包含的時間步數。

在隨機取樣中,每個樣本是原始序列上任意擷取的一段序列,相鄰的兩個隨機小批量在原始序列上的位置不一定相毗鄰。

相鄰取樣

在相鄰取樣中,相鄰的兩個隨機小批量在原始序列上的位置相毗鄰。

python二維乘法

填充和步幅

1*1卷積層(這個還是不太懂)

池化裁剪梯度

第二次打卡

主成分分析法 principal component analysis,pca 就是一種運用線性代數的知識來進行資料降維的方法,它將多個變數轉換為少數幾個不相關的綜合變數來比較全面地反映整個資料集。這是因為資料集中的原始變數之間存在一定的相關關係,可用較少的綜合變數來綜合各原始變數之間的資訊。這些綜...

PANDAS第二次打卡

第2章 索引 import numpy as np import pandas as pd df pd.read csv data table.csv index col id df.head school class gender address height weight math physic...

python第二次打卡

if 語句的 expr true suite 塊只有當條件表示式 expression 結果為真時才執行,否則將繼續執行緊跟在該 塊後面的語句。單個 if 語句中的 expression 條件表示式可以通過布林操作符 and,or和not 實現多重條件判斷。python 提供與 if 搭配使用的 e...