Hope is a dangerous thing, but I have it.


【语言特性】Python 常用方法

Dataframe

  1. 去掉某个元素为空的一行(以免去停后文本为空)
data.dropna(inplace=True)
  1. 去掉重复项(但是会导致用range进行遍历的时候在删掉位置报错)
data = data.drop_duplicates
  1. 遍历
for index, row in data.iterrows():
    texts.append(row['text'])
    labels1.append(row['l1'])
  1. 随机抽样
dataframe.sample(frac=0.8,random_state=0)

https://blog.csdn.net/zhengxu25689/article/details/87347700

  1. 随机打乱
# 方法一
df = shuffle(df)  # from sklearn.utils import shuffle
# 方法二
cities = cities.reindex(np.random.permutation(cities.index))

Numpy

  1. 将数组转为int
m.astype(int)

Tensorflow 1.0

  1. 保存参数
Saversession.run(init)
saver = tf.train.Saver()
saver.save(session, '/run_result/model.ckpt')

Tensorflow 2.0

  1. 数据特征embedding
thal_embedding = feature_column.embedding_column(thal, dimension=8) # from tensorflow import feature_column
  1. 关闭日志输出
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
  • TF_CPP_MIN_LOG_LEVEL 取值 0 : 0也是默认值,输出所有信息
  • TF_CPP_MIN_LOG_LEVEL 取值 1 : 屏蔽通知信息
  • TF_CPP_MIN_LOG_LEVEL 取值 2 : 屏蔽通知信息和警告信息
  • TF_CPP_MIN_LOG_LEVEL 取值 3 : 屏蔽通知信息、警告信息和报错信息

其他

  1. 划分数据集
train, test = train_test_split(dataframe, test_size=0.2) # from sklearn.model_selection import train_test_split

原函数:

X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)
  • train_data:所要划分的样本特征集
  • train_target:所要划分的样本结果
  • test_size:样本占比,如果是整数的话就是样本的数量
  • random_state:是随机数的种子。随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。
  • stratify是为了保持split前类的分布。比如有100个数据,80个属于A类,20个属于B类。如果train_test_split(... test_size=0.25, stratify = y_all), 那么split之后数据如下:training: 75个数据,其中60个属于A类,15个属于B类。 testing: 25个数据,其中20个属于A类,5个属于B类。 用了stratify参数,training集和testing集的类的比例是 A:B= 4:1,等同于split前的比例(80:20)。通常在这种类分布不平衡的情况下会用到stratify。将stratify=X就是按照X中的比例分配,将stratify=y就是按照y中的比例分配 。
  1. 观察训练集中几对列的联合分布。
sns.pairplot(train_dataset[["MPG", "Cylinders", "Displacement", "Weight"]], diag_kind="kde") # import seaborn as sns

画出来的图是4 * 4的, 一共16张