- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 我的数据挖掘之路
前言:大概是去年十一月开始接触数据挖掘的,所以入坑也将近一年时间了,一直想找个机会写一写心得体会,以此给同样想学习数据挖掘的朋友一点指引。一、安装必要工具好的,在进入正题之前,我们先来看看机器学习/数据挖掘常用的工具包,numpy,pandas,matplotlib,sklearn,xgboost,lightGBM必要时还需辅助keras,tensorflow。常用python的朋友知...
2019-09-24 19:16:20 3429 6
原创 关于 setw()和setfill()函数
:setw :需要填充多少个字符,默认填充的字符为' '空格setfill:设置std::setw将填充什么样的字符,如:std::setfill('*')举例: cout<<setfill('0')<<setw(4)<<(*ans.first)[0]<<" "<<setw(4)<<(*ans.second)[0];...
2022-03-25 11:59:29 801
原创 1086 就不告诉你 (15 分)
#include<bits/stdc++.h>using namespace std;using gg = long long;int main(){ ios::sync_with_stdio(false); cin.tie(0); gg a,b; cin>>a>>b; string s = to_string(a*b); reverse(s.begin(),s.end()); cout<<st.
2022-03-24 09:26:18 142
原创 STL unordered_set容器
unordered_set 容器,可直译为“无序 set 容器”,即 unordered_set 容器和 set 容器很像,唯一的区别就在于 set 容器会自行对存储的数据进行排序,而 unordered_set 容器不会。总的来说,unordered_set 容器具有以下几个特性:不再以键值对的形式存储数据,而是直接存储数据的值; 容器内部存储的各个元素的值都互不相等,且不能被修改。 不会对内部存储的数据进行排序对于 unordered_set 容器不以键值对的形式存储数据,读者也可以这样认为
2022-03-24 09:05:36 251
原创 1091 N-自守数 (15 分)
#include<bits/stdc++.h>using namespace std;using gg = long long;int main(){ ios::sync_with_stdio(false); cin.tie(0); gg mi,ki; cin>>mi; while(mi--){ gg m = 1; cin>>ki; for(gg i =ki;i!=0;i/.
2022-03-24 08:48:32 143
原创 1092 最好吃的月饼 (20 分)
#include<bits/stdc++.h>using namespace std;using gg = long long;int main(){ ios::sync_with_stdio(false); cin.tie(0); gg ai,bi,ci; cin>>ai>>bi; vector<gg> v(ai); while(bi--){ for(int i=0;i<v.s.
2022-03-23 09:23:04 302
原创 1093 字符串A+B (20 分)
#include <bits/stdc++.h>using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(0); string s; bitset<128> h; while (getline(cin, s)) { for (char c : s) { if (not h[c]) { h.
2022-03-23 08:58:30 130
原创 numpy reshape用法
z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])z.shape(4, 4)z.reshape(-1)array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ...
2019-12-24 19:37:02 146
原创 pandas杂记19.12.7
list(map(lambda x, y: str(x) +'_'+ str(y), [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))['1_2', '3_4', '5_6', '7_8', '9_10']1.array转化为list :np.array(test).tolist()2.list和array的区别list是python基本数据类型,它...
2019-12-07 10:07:26 115
原创 pandas 杂记
1.concat函数用法:pd.concat([df1,df2],axis=0,ignore_idex = True)axis表示合并行,ignore_idex = True表示重置index2.groupby as_index用法import pandas as pddf = pd.DataFrame(data={'books':['bk1','bk1','bk1',...
2019-12-06 09:51:03 115
原创 github如何删除远端文件
1.克隆远程仓库到本地库。例如使用ssh方法:git clone git@github.com:xxx/xxx.git2.对需要删除的文件、文件夹进行如下操作:git rm test.txt (删除文件)git rm -r test (删除文件夹)3.提交修改git commit -m "Delete some files."4.将修改提交到远程仓库的xxx分支:...
2019-11-03 17:28:04 257
原创 杂谈时间序列对数据差分的意义
差分的目的主要是消除一些波动 使数据趋于平稳一阶差分后的确就是增量,这还比较好解释 ,而有时候一阶差分都未必能达到平稳,此时还要做二阶差分,这个就很难解释意义了。所以对于多变量的时序 一般如果不平稳 我们会选择检验他们是否同阶单整然后在同阶单整的情况下做协整分析 。只要有协整关系 就可以用原始数据来建模 。我的理解就是放宽了平稳的要求,毕竟经济数据要平稳很多时候是难以达到的。...
2019-10-09 20:37:02 7552 1
原创 LabelEncoder用法
from sklearn.preprocessing import LabelEncoderle = LabelEncoder()data1['TERMINAL_ID'] = le.fit_transform(data1['TERMINAL_ID'].values)
2019-09-29 19:14:17 5862
原创 lgb杂记
在Python下只有train函数中的num_boost_round才能控制迭代次数,params中的num_iterations及其别名都无法控制迭代次数
2019-09-22 10:40:10 183
原创 np.round()用法
data = pd.DataFrame()data['szy'] = [2.7,6.4]data.szy = np.round(data.szy) szy0 3.01 6.0
2019-09-21 21:04:18 41670 1
原创 xgboost.train()和xgboost.XGBClassifier().fit()的区别
# 1xgm = xgb.XGBClassifier()xgm.fit(X_train, y_train) y_pred = xgm.predict(X_train)# 2param = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic' }num_round = 2bst = xgb.tra...
2019-09-21 19:00:35 13523 4
原创 天池地铁流量预测--鱼佬知乎学习笔记
模型采用滑窗滚动(天)的方式进行构建,这样可以防止因为某一天存在奇异值而导致模型训练走偏。最后将所有滚动滑窗的标签以及特征进行拼接形成我们最终的训练集。滑窗滚动需要选择分布与测试集类似的进行label的构建才能取得较好的结果,所以在此之前需要对分布差异大的数据进行删除。将测试集为周末和测试集为周内进行区别对待,保证训练集分布的稳定。节假日的信息和非节假日的分布差异非常大,所以我们也选择...
2019-09-21 11:13:50 2416
原创 评价函数汇总(待更新。。。)
MAE(Mean Absolute Error)平均绝对误差是绝对误差的平均值。可以更好地反映预测值误差的实际情况。
2019-09-21 08:55:23 411
原创 keras.preprocessing.image.ImageDataGenerator 参数详解
from keras.preprocessing.image import ImageDataGenerator datagen = ImageDataGenerator ( rotation_range = 40 , width_shift_range = 0.2 , height_shift_range = 0.2 , ...
2019-09-15 15:27:56 2550
原创 python apply和lambda用法记录
def plus(df,n): df['c'] = (df['a']+df['b']) df['d'] = (df['a']+df['b']) * n return dflist1 = [[1,3],[7,8],[4,5]]df1 = pd.DataFrame(list1,columns=['a','b'])df1 = df1.apply(plus,axis=1,ar...
2019-09-15 15:27:35 696
原创 数据处理常用方法
列值替换:data.TRADE_TYPE[data.TRADE_TYPE==21] = 1data.TRADE_TYPE[data.TRADE_TYPE==22] = 0取消索引:wo.to_csv('szy.csv',index = False)查看所有列的空缺值data.isnull().sum()查看每列的值的数量data['TRADE_VALUE']....
2019-09-14 20:20:49 541
原创 pandas删除指定行
data = data.drop(data[data.start_day.map(lambda x:x.split('-')[0]).isin(['1900'])].index)
2019-09-14 18:27:59 976
原创 pandas set_index用法
frame = pd.DataFrame({'a':range(3),'b':range(0,3),'c':['one','two','three']})result = frame.set_index('c')print(result) a bc one 0 0two 1 1three 2 2
2019-09-10 09:44:10 123
原创 杂谈池化层
池化层是模仿人的视觉系统对数据进行降维,用更高层次的特征表示图像。实施池化的目的:(1) 降低信息冗余;(2) 提升模型的尺度不变性、旋转不变性;(3) 防止过拟合。池化层的常见操作包含以下几种:最大值池化,均值池化,随机池化,中值池化,组合池化等。出现的原因:图像深度学习中图像尺寸过大,引入池化以减少参数矩阵的尺寸,从而减少最后全连层中的参数数量——根本目的为了防止过拟合。在图像...
2019-09-07 19:06:16 700
原创 杂谈placeholder
Tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,graph为静态的。然后,在实际的运行时,启动一个session,程序才会真正的运行。这样做的好处就是:避免反复地切换底层程序实际运行的上下文,tensorflow帮你优化整个系统的代码。我们知道,很多python程序的底层为C语言或者其他语言,执行一行脚本,就要切换一次,...
2019-09-05 19:38:48 259
原创 杂谈softmax
Softmax 函数,或称归一化指数函数,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。Sigmoid ,它能将一个实数映射到(0,1)区间假设现在我们要给猫和狐狸分类,输入x是一堆特征,最后得到猫的特征表示值1.9,狐狸特征表示值0.6,这样意思是输入包含了更多猫的特征,包含更少狐狸的特征。这个时候,根据常理,为了做出判断,你肯定会选特征表示值最大(max)的那个,对...
2019-09-05 17:04:53 182
原创 杂记
根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称之为无监督学习。深度学习将特征提取和分类两个模块集成一个系统,通过识别图像的特征来进行提取并基于有标签数据进行分类。这样的集成系统就是多层感知机,即有多层神经元密集连接而成的神经网络。ReLU相比Sigmoid的优势是其训练速度更快,因为Sigmoid的导数在稳定区会非常小,从而权重基本上不再更新。这就是梯度消失问题。通过...
2019-09-04 20:46:28 101
原创 浅谈dropout
Dropout背后理念和集成模型很相似。在Drpout层,不同的神经元组合被关闭,这代表了一种不同的结构,所有这些不同的结构使用一个的子数据集并行地带权重训练,而权重总和为1。如果Dropout层有 n个神经元,那么会形成 2^n个不同的子结构。在预测时,相当于集成这些模型并取均值。这种结构化的模型正则化技术有利于避免过拟合。Dropout有效的另外一个视点是:由于神经元是随机选择的,所以...
2019-09-04 20:19:43 327
原创 残差网络杂记
深度增加的一个问题在于这些增加的层是参数更新的信号。梯度是从后向前传播的,增加网络深度后,比较靠前的层梯度会很小。当网络更深时意味着参数空间更大,优化问题变得更难,因此简单地去增加网络深度反而出现更高的训练误差。残差网络ResNet设计一种残差模块让我们可以训练更深的网络。残差模块在输入和输出之间建立了一个直接连接,这样新增的层C仅仅需要在原来的输入层基础上学习新的特征,即学习残差,会...
2019-09-04 19:24:02 225
原创 浅谈激活函数
激活函数(activation function)又称非线性映射函数或是隐藏单元,是神经网络中中最主要的组成部分之一。 “激活”这个名字来自于生物上的神经网络结构。 人工神经网络最初是受到生物上的启发而设计出了神经元这种单位结构,在每个神经元中,需要一个“开关”来决定该神经元的信息是否会被传递到其相连的神经元去,这个“开关”在这里也就是激活函数。若没有激活函数的非线性来赋予神经网络表达能力,那...
2019-09-04 19:03:44 140
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人