1、
def pick_top_n(preds, vocab_size, top_n=5): #选取一个list数据中的前五
p = np.squeeze(preds)
# 将除了top_n个预测值的位置都置为0
p[np.argsort(p)[:-top_n]] = 0
# 归一化概率
p = p / np.sum(p)
# 随机选取一个字符
c = np.random.choice(vocab_size, 1, p=p)[0]
return c
2、
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02), #两个坐标轴上的点在平面上画格
np.arange(y_min, y_max, 0.02))
3、
np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat()。
np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的merge()。
4、
numpy的ravel() 和 flatten()函数
首先声明两者所要实现的功能是一致的(将多维数组降位一维)。这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平)。两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。
5、
Python可视化库matplotlib.pyplot里contour与contourf的区别
contour和contourf都是画三维等高线图的,不同点在于contourf会对等高线间的区域进行填充,无论contour还是contourf,都是绘制三维图,其中前两个参数x和y为两个等长一维数组,第三个参数z为二维数组(表示平面点xi,yi映射的函数值)。正是由于contourf可以填充等高线之间的空隙颜色,呈现出区域的分划状,所以很多分类机器学习模型的可视化常会借助其展现。
6、
python中plt.cm.Paired
plt.cm中cm全称表示colormap,paired表示两个两个相近色彩输出,比如浅蓝、深蓝;浅红、深红;浅绿,深绿这种。
7、append和extend的区别
>>> A = ['q', 'w', 'e', 'r']
>>> A.extend(['t', 'y'])
>>> A
['q', 'w', 'e', 'r', 't', 'y']
>>>len(A)
>>> B = ['q', 'w', 'e', 'r']
>>> B.append(['t', 'y'])
>>> B
['q', 'w', 'e', 'r', ['t', 'y']]
>>>len(B)
8、np.dot(a,b)
如果是一维数组,返回的是两个数组的点积(dot product)
如果是二维数组,返回的是矩阵相乘之后的结果
9.np.where
np.where(condition, x, y),满足条件(condition),输出x,不满足输出y。
10、对于数组a=[0,4,5,7,0,0,0],定位所有的0,并删除所有的0,
new_list = [i for i in old_list if i > 0] #这样获取到所有大于0的数值
del a[:2] 删除a[0] a[1] 2 个数值
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) i
ndex = [2, 3, 6]
new_a = np.delete(a, index)
print(new_a)
#Prints `[1, 2, 5, 6, 8, 9]`
11、list操作:https://blog.csdn.net/wudiyi815/article/details/7775549
12、集合操作set:https://www.cnblogs.com/whatisfantasy/p/5956775.html
13、dict1.update(dict2) 两个字典合并
14、TF-IDF 计算 https://www.zhihu.com/search?type=content&q=tf%20idf%20%E5%8E%9F%E7%90%86
15、pandas:一列分解成多列 series.str.split(',',expand=True);pyspark 一列分解成多列 https://blog.csdn.net/weixin_40161254/article/details/95321858
16、pyspark 使用tips记录 https://www.cnblogs.com/liaowuhen1314/p/12792202.html
17、如何使用python对列表、字典、集合进行过滤筛选? https://www.jianshu.com/p/b0ed946aec26
18、
1)df_majority_downsampled = resample(df_majority,replace=False, n_samples=len(df_minority),random_state=None)
df_downsampled = pd.concat([df_majority_downsampled, df_minority])
2)df_downsampled = df_downsampled.sample(frac=1) #Shuffle the data
df_downsampled = df_downsampled.reset_index() #Reset the index
df_downsampled = df_downsampled.drop(columns=['index']) # Drop original index col
3)NON_LBL = [c for c in df.columns if c != 'authentic']
X = df[NON_LBL]
y = df['authentic']
# Here we are imputing 300 positives as negative
4)hidden_size = 300
y.loc[np.random.choice(y[y == 1].index,replace = False,size = hidden_size)] = 0