版权声明:本文为原创文章,转载请注明来源。

1.原理

1.1 概念

交叉验证(Cross-validation)主要用于模型训练或建模应用中,如分类预测、PCR、PLS回归建模等。在给定的样本空间中,拿出大部分样本作为训练集来训练模型,剩余的小部分样本使用刚建立的模型进行预测,并求这小部分样本的预测误差或者预测精度,同时记录它们的加和平均值。这个过程迭代K次,即K折交叉。其中,把每个样本的预测误差平方加和,称为PRESS(predicted Error Sum of Squares)。

1.2 目的

用交叉验证的目的是为了得到可靠稳定的模型。在分类,建立PC 或PLS模型时,一个很重要的因素是取多少个主成分的问题。用cross validation校验每个主成分下的PRESS值,选择PRESS值小的主成分数。或PRESS值不再变小时的主成分数。

常用的精度测试方法主要是交叉验证,例如10折交叉验证(10-fold cross validation),将数据集分成十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计,一般还需要进行多次10折交叉验证求均值,例如:10次10折交叉验证,以求更精确一点。
交叉验证有时也称为交叉比对,如:10折交叉比对

1.3 常见的交叉验证形式

Holdout 验证

方法:将原始数据随机分为两组,一组做为训练集,一组做为验证集,利用训练集训练分类器,然后利用验证集验证模型,记录最后的分类准确率为此Hold-OutMethod下分类器的性能指标.。Hold-OutMethod相对于K-fold Cross Validation 又称Double cross-validation ,或相对K-CV称 2-fold cross-validation(2-CV)

一般来说,Holdout 验证并非一种交叉验证,因为数据并没有交叉使用。 随机从最初的样本中选出部分,形成交叉验证数据,而剩余的就当做训练数据。 一般来说,少于原本样本三分之一的数据被选做验证数据。

  • 优点:好处的处理简单,只需随机把原始数据分为两组即可
  • 缺点:严格意义来说Hold-Out Method并不能算是CV,因为这种方法没有达到交叉的思想,由于是随机的将原始数据分组,所以最后验证集分类准确率的高低与原始数据的分组有很大的关系,所以这种方法得到的结果其实并不具有说服性.(主要原因是 训练集样本数太少,通常不足以代表母体样本的分布,导致 test 阶段辨识率容易出现明显落差。此外,2-CV 中一分为二的分子集方法的变异度大,往往无法达到「实验过程必须可以被复制」的要求。)

K-fold cross-validation

K折交叉验证,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。

  • 优点:K-CV可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性.
  • 缺点:K值选取上

留一验证

正如名称所建议, 留一验证(LOOCV)意指只使用原本样本中的一项来当做验证资料, 而剩余的则留下来当做训练资料。 这个步骤一直持续到每个样本都被当做一次验证资料。 事实上,这等同于 K-fold 交叉验证是一样的,其中K为原本样本个数。 在某些情况下是存在有效率的演算法,如使用kernel regression 和Tikhonov regularization。

2.深入

使用交叉验证方法的目的主要有3个:

  • (1)从有限的学习数据中获取尽可能多的有效信息;
  • (2)交叉验证从多个方向开始学习样本的,可以有效的避免陷入局部最小值;
  • (3)可以在一定程度上避免过拟合问题。

采用交叉验证方法时需要将学习数据样本分为两部分:训练数据样本和验证数据样本。并且为了得到更好的学习效果,无论训练样本还是验证样本都要尽可能参与学习。一般选取10重交叉验证即可达到好的学习效果。下面在上述原则基础上设计算法,主要描述下算法步骤,如下所示。

Algorithm

Step1:  将学习样本空间 C 分为大小相等的 K 份  
Step2:  for i = 1 to K :取第i份作为测试集for j = 1 to K:if i != j:将第j份加到训练集中,作为训练集的一部分end ifend forend for
Step3:  for i in (K-1训练集):训练第i个训练集,得到一个分类模型使用该模型在第N个数据集上测试,计算并保存模型评估指标end for
Step4:  计算模型的平均性能
Step5:  用这K个模型在最终验证集的分类准确率平均值作为此K-CV下分类器的性能指标.

3.实现

3.1 scikit-learn交叉验证

在scikit-learn中有CrossValidation的实现代码,地址: scikit-learn官网crossvalidation文档

使用方法:

首先加载数据集

>>> import numpy as np
>>> from sklearn import cross_validation
>>> from sklearn import datasets
>>> from sklearn import svm
>>> iris = datasets.load_iris()
>>> iris.data.shape, iris.target.shape
((150, 4), (150,))

通过上面代码,数据集特征和类标签分别为iris.data, iris.target,接着进行交叉验证

>>> X_train, X_test, y_train, y_test = cross_validation.train_test_split(
...     iris.data, iris.target, test_size=0.4, random_state=0)
>>> X_train.shape, y_train.shape
((90, 4), (90,))
>>> X_test.shape, y_test.shape
((60, 4), (60,))
>>> clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
>>> clf.score(X_test, y_test)                           
0.96...

上面的clf是分类器,可以自己替换,比如我可以使用RandomForest

clf = RandomForestClassifier(n_estimators=400)

一个比较有用的函数是train_test_split。功能是从样本中随机的按比例选取train data和test data。形式为

X_train, X_test, y_train, y_test = cross_validation.train_test_split(train_data,train_target, test_size=0.4, random_state=0)

test_size是样本占比。如果是整数的话就是样本的数量。random_state是随机数的种子。

当然,也可以换成别的,具体算法可以参考 scikit-learn官方文档


3.2 抽样与CV结合

由于我跑的实验,数据是非均衡数据,不能直接套用,所以这里自己写了一个交叉验证的代码,仅供参考,如有问题,欢迎交流。

首先有一个自适应的数据加载函数,主要用于加载本地文本数据,同时文本每行数据以”\t”隔开,最后一列为类标号,数据样例如下:

A1001   708 K   -4  -3  6   2   -13 0   2   -4  -4  -10 -9  1
A1002   709 L   -4  -4  -1  -2  -11 -1  0   -12 -7  -5  -1  -1
A1003   710 G   0   -6  -2  -6  -8  -4  -6  -6  -9  -4  0   -1
A1004   711 R   0   0   1   -3  -10 -1  -3  -4  -6  -9  -6  1

说明:前面三个不是特征,所以在加载数据集的时候,特征部分起始位置修改了下,loadDataSet函数如下:

def loadDataSet(fileName):fr = open(fileName)dataMat = []; labelMat = []for eachline in fr:lineArr = []curLine = eachline.strip().split('\t') #remove '\n'for i in range(3, len(curLine)-1):lineArr.append(float(curLine[i])) #get all feature from inpurfiledataMat.append(lineArr)labelMat.append(int(curLine[-1])) #last one is class lablefr.close()return dataMat,labelMat

返回的dataMat为纯特征矩阵,labelMat为类别标号。

下面的splitDataSet用来切分数据集,如果是十折交叉,则split_size取10,filename为整个数据集文件,outdir则是切分的数据集的存放路径。

def splitDataSet(fileName, split_size,outdir):if not os.path.exists(outdir): #if not outdir,makrdiros.makedirs(outdir)fr = open(fileName,'r')#open fileName to readnum_line = 0onefile = fr.readlines()num_line = len(onefile)        arr = np.arange(num_line) #get a seq and set len=numLinenp.random.shuffle(arr) #generate a random seq from arrlist_all = arr.tolist()each_size = (num_line+1) / split_size #size of each split setssplit_all = []; each_split = []count_num = 0; count_split = 0  #count_num 统计每次遍历的当前个数#count_split 统计切分次数for i in range(len(list_all)): #遍历整个数字序列each_split.append(onefile[int(list_all[i])].strip()) count_num += 1if count_num == each_size:count_split += 1 array_ = np.array(each_split)np.savetxt(outdir + "/split_" + str(count_split) + '.txt',\array_,fmt="%s", delimiter='\t')  #输出每一份数据split_all.append(each_split) #将每一份数据加入到一个list中each_split = []count_num = 0return split_all

underSample(datafile)方法为抽样函数,强正负样本比例固定为1:1,返回的是一个正负样本比例均等的数据集合。

def underSample(datafile): #只针对一个数据集的下采样dataMat,labelMat = loadDataSet(datafile) #加载数据pos_num = 0; pos_indexs = []; neg_indexs = []   for i in range(len(labelMat)):#统计正负样本的下标    if labelMat[i] == 1:pos_num +=1pos_indexs.append(i)continueneg_indexs.append(i)np.random.shuffle(neg_indexs)neg_indexs = neg_indexs[0:pos_num]fr = open(datafile, 'r')onefile = fr.readlines()outfile = []for i in range(pos_num):pos_line = onefile[pos_indexs[i]]    outfile.append(pos_line)neg_line= onefile[neg_indexs[i]]      outfile.append(neg_line)return outfile #输出单个数据集采样结果

下面的generateDataset(datadir,outdir)方法是从切分的数据集中留出一份作为测试集(无需抽样),对其余的进行抽样然后合并为一个作为训练集,代码如下:

def generateDataset(datadir,outdir): #从切分的数据集中,对其中九份抽样汇成一个,\#剩余一个做为测试集,将最后的结果按照训练集和测试集输出到outdir中if not os.path.exists(outdir): #if not outdir,makrdiros.makedirs(outdir)listfile = os.listdir(datadir)train_all = []; test_all = [];cross_now = 0for eachfile1 in listfile:train_sets = []; test_sets = []; cross_now += 1 #记录当前的交叉次数for eachfile2 in listfile:if eachfile2 != eachfile1:#对其余九份欠抽样构成训练集one_sample = underSample(datadir + '/' + eachfile2)for i in range(len(one_sample)):train_sets.append(one_sample[i])#将训练集和测试集文件单独保存起来with open(outdir +"/test_"+str(cross_now)+".datasets",'w') as fw_test:with open(datadir + '/' + eachfile1, 'r') as fr_testsets:for each_testline in fr_testsets:                test_sets.append(each_testline) for oneline_test in test_sets:fw_test.write(oneline_test) #输出测试集test_all.append(test_sets)#保存训练集with open(outdir+"/train_"+str(cross_now)+".datasets",'w') as fw_train:for oneline_train in train_sets:   oneline_train = oneline_trainfw_train.write(oneline_train)#输出训练集train_all.append(train_sets)#保存训练集return train_all,test_all

因为需要评估交叉验证,所以我写了一个performance方法根据真实类标签纸和预测值来计算SN和SP,当然如果需要其他的评估标准,继续添加即可。

def performance(labelArr, predictArr):#类标签为int类型#labelArr[i] is actual value,predictArr[i] is predict valueTP = 0.; TN = 0.; FP = 0.; FN = 0.   for i in range(len(labelArr)):if labelArr[i] == 1 and predictArr[i] == 1:TP += 1.if labelArr[i] == 1 and predictArr[i] == -1:FN += 1.if labelArr[i] == -1 and predictArr[i] == 1:FP += 1.if labelArr[i] == -1 and predictArr[i] == -1:TN += 1.SN = TP/(TP + FN) #Sensitivity = TP/P  and P = TP + FN SP = TN/(FP + TN) #Specificity = TN/N  and N = TN + FP#MCC = (TP*TN-FP*FN)/math.sqrt((TP+FP)*(TP+FN)*(TN+FP)*(TN+FN))return SN,SP

classifier(clf,train_X, train_y, test_X, test_y)方法是交叉验证中每次用的分类器训练过程以及测试过程,里面使用的分类器是scikit-learn自带的。该方法会将一些训练结果写入到文件中并保存到本地,同时在最后会返回ACC,SP,SN。

def classifier(clf,train_X, train_y, test_X, test_y):#X:训练特征,y:训练标号# train with randomForest print " training begin..."clf = clf.fit(train_X,train_y)print " training end."#==========================================================================# test randomForestClassifier with testsetsprint " test begin."predict_ = clf.predict(test_X) #return type is float64proba = clf.predict_proba(test_X) #return type is float64score_ = clf.score(test_X,test_y)print " test end."#==========================================================================# Modeal EvaluationACC = accuracy_score(test_y, predict_)SN,SP = performance(test_y, predict_)MCC = matthews_corrcoef(test_y, predict_)#AUC = roc_auc_score(test_labelMat, proba)#==========================================================================#save output eval_output = []eval_output.append(ACC);eval_output.append(SN)  #eval_output.append(AUC)eval_output.append(SP);eval_output.append(MCC)eval_output.append(score_)eval_output = np.array(eval_output,dtype=float)np.savetxt("proba.data",proba,fmt="%f",delimiter="\t")np.savetxt("test_y.data",test_y,fmt="%f",delimiter="\t")np.savetxt("predict.data",predict_,fmt="%f",delimiter="\t") np.savetxt("eval_output.data",eval_output,fmt="%f",delimiter="\t")print "Wrote results to output.data...EOF..."return ACC,SN,SP

下面的mean_fun用于求列表list中数值的平均值,主要是求ACC_mean,SP_mean,SN_mean,用来评估模型好坏。

def mean_fun(onelist):count = 0for i in onelist:count += ireturn float(count/len(onelist))

交叉验证代码

def crossValidation(clf, clfname, curdir,train_all, test_all):os.chdir(curdir)#构造出纯数据型样本集cur_path = curdirACCs = [];SNs = []; SPs =[]for i in range(len(train_all)):os.chdir(cur_path)train_data = train_all[i];train_X = [];train_y = []test_data = test_all[i];test_X = [];test_y = []for eachline_train in train_data:one_train = eachline_train.split('\t') one_train_format = []for index in range(3,len(one_train)-1):one_train_format.append(float(one_train[index]))train_X.append(one_train_format)train_y.append(int(one_train[-1].strip()))for eachline_test in test_data:one_test = eachline_test.split('\t')one_test_format = []for index in range(3,len(one_test)-1):one_test_format.append(float(one_test[index]))test_X.append(one_test_format)test_y.append(int(one_test[-1].strip()))#======================================================================#classifier start hereif not os.path.exists(clfname):#使用的分类器os.mkdir(clfname)out_path = clfname + "/" + clfname + "_00" + str(i)#计算结果文件夹if not os.path.exists(out_path):os.mkdir(out_path)os.chdir(out_path)ACC, SN, SP = classifier(clf, train_X, train_y, test_X, test_y)ACCs.append(ACC);SNs.append(SN);SPs.append(SP)#======================================================================ACC_mean = mean_fun(ACCs)SN_mean = mean_fun(SNs)SP_mean = mean_fun(SPs)#==========================================================================#output experiment resultos.chdir("../")os.system("echo `date` '" + str(clf) + "' >> log.out")os.system("echo ACC_mean=" + str(ACC_mean) + " >> log.out")os.system("echo SN_mean=" + str(SN_mean) + " >> log.out")os.system("echo SP_mean=" + str(SP_mean) + " >> log.out")return ACC_mean, SN_mean, SP_mean

测试:

if __name__ == '__main__':os.chdir("your workhome") #你的数据存放目录datadir = "split10_1" #切分后的文件输出目录splitDataSet('datasets',10,datadir)#将数据集datasets切为十个保存到datadir目录中#==========================================================================outdir = "sample_data1" #抽样的数据集存放目录train_all,test_all = generateDataset(datadir,outdir) #抽样后返回训练集和测试集print "generateDataset end and cross validation start"#==========================================================================#分类器部分from sklearn.ensemble import RandomForestClassifierclf = RandomForestClassifier(n_estimators=500) #使用随机森林分类器来训练clfname = "RF_1"    #==========================================================================curdir = "experimentdir" #工作目录#clf:分类器,clfname:分类器名称,curdir:当前路径,train_all:训练集,test_all:测试集ACC_mean, SN_mean, SP_mean = crossValidation(clf, clfname, curdir,train_all,test_all)print ACC_mean,SN_mean,SP_mean  #将ACC均值,SP均值,SN均值都输出到控制台

上面的代码主要用于抽样后的十倍交叉验证,该怎么设置参数,还得具体分析。

总之,交叉验证在一定程度上能够避免陷入局部最小值。一般实际操作中使用的是十折交叉验证,单具体情况还得具体分析,并没有一个统一的标准固定十倍交叉的参数或者是算法的选择以及算法参数的选择。不同的数据使用不同的算法往往会的得到不同的最优分类器。So,just try it!Happy coding!



本栏目Machine Learning持续更新中,欢迎关注CSDN博客:dream_angel_z


查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Eclipse Android项目 为控件添加了Id,但是在Java代码中提示xxx cannot be resolved or is not a field

    在Android开发过程中,常需要在布局文件中为控件添加Id,以便在Java代码中找到这个控件。 但在使用Eclipse进行开发的过程中,常会出现明明已经在Layout XML文件中为组件添加了Id,并且保存。但在代码中使用findView方法时,仍然寻找不到相应的id,系统报错提示 xxx cannot be …...

    2024/4/20 17:43:41
  2. 【SQLServer系列教程】——存储过程的创建与使用

    1.什么是存储过程?2.存储过程的优点3.存储过程的定义及使用4.存储过程的分类 4.1 系统存储过程 4.1.1 系统存储过程的介绍4.1.2 系统存储过程明细4.1.3 系统存储过程的调用4.2 带参数的存储过程4.3 有输出返回的存储过程5.案例代码: 示例1:常用系统存储过程的使用 sp_databa…...

    2024/4/21 10:20:46
  3. Meteor 一个完全基于js的web app框架

    https://www.cnblogs.com/Leo_wl/p/4468876.html#_label0https://www.meteor.com/...

    2024/4/21 10:20:44
  4. SQL - NOT NULL约束

    我在 CSDN 学院发布的 SQL 入门视频教程。默认情况下,列可以存储NULL值。如果你不想让列存储NULL值,你需要在该列上定义这种非空约束,指定该列不允许存储NULL值。NULL不是表示没有数据,而是未知数据。示例例如,以下SQL创建一个名为CUSTOMERS的新表,添加了5个列,其中的ID…...

    2024/4/21 10:20:44
  5. eclipse中system.out.println()出现问题,总是提示out cannot be resolved or is not a field

    eclipse中system.out.println()出现问题,总是提示out cannot be resolved or is not a field2014-01-17 17:01不悔将来 | 分类:JAVA相关 | 浏览1073次 在线等答案,求救啊分享到:2014-01-17 17:10提问者采纳请换成java.lang.System.out.println();试试。 可能是你已经引入了…...

    2024/5/6 7:53:08
  6. METEOR: An Automatic Metric for MT Evaluation with Improved Correlation with Human Judgments

    METEOR: An Automatic Metric for MT Evaluation with Improved Correlation with Human Judgments 原文地址 时间:2005 Intro 对于机器翻译(Machine Translation,MT)的结果,相比人工度量,使用自动度量更块、简单、便捷,本文提出了自动度量METEOR,它解决了IBM的BLEU的缺…...

    2024/4/21 10:20:41
  7. SQL SERVER2014卸载方法

    刚来新公司,用到SQL server数据库,因为分给我的电脑里面安装了一个2012版本的sqlSERVER数据库,但是因为电脑时间长了,程序残破不全,所以我就决定重新安装。 我需要删除以前的sql SERVER2012.网上写的千篇一律,都是抄的,根本解决不了问题。亲自按照这个教程走了一遍,这个…...

    2024/5/5 12:46:24
  8. Meteor 客户端远程调用服务端函数

    如果没有仔细看Meteor文档,可能对于远程调用 感觉无从下手。其实Meteor提供了很简单 的API 来完成这个功能 尊重劳动成功,转载请注明见API Meteor.methods 部分 。Meteor.methods(methods)Defines functions that can be invoked over the network by clients.定义函数 可…...

    2024/4/21 10:20:39
  9. SQL基础整理(一)

    概要:表的创建,约束的设置,表的删除和更新,表的重命名1. SQL的分类:DDL(数据定义语言)比如CREATE/DROP/ALTER,DML(数据操纵语言)比如SELECT/INSERT/UPDATE/DELETE,DCL(数据控制语言)比如COMMIT/ROLLBACK/GRANT/REVOKE2. SQL语句不区分大小写,SELECT与sel…...

    2024/4/20 12:03:42
  10. meteor的publish和subscribe

    在使用publish时 需要现在工程目录下运行 meteor remove autopublish,subscribe缓存在客户端的数据集合,读取操作不再需要对服务端进行往返操作。并限制缓存中的内容,在客户端对集合中的每个文档的查询,仅在服务发布到客户端的文档集合中。eg:waitOn() { return [Meteor.s…...

    2024/4/21 10:20:37
  11. Yearning基于Inception的开源SQL审核平台(数据库审计)

    2019独角兽企业重金招聘Python工程师标准>>> 基础环境: python3 nodejs vuejs mysql python-ldap pymysql mysql 新建数据库 create database Yearning DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;Navicat导入初始化数据 : Yearning.sql Yearning前端 nvm…...

    2024/4/21 10:20:37
  12. PhalApi视频教程

    PhalApi视频教程先在这里感谢以下录制小组的同学,是你们让世界看到PhalApi的视频教程! A西瓜妹子、听风不语、彩色的雨、Catch、喵了个咪、dogstar经过了一个多月的录制基础篇和进阶篇终于结束了,在这里感谢一起合作的小伙伴的帮助,也希望本视频能够实在的帮助到大家!PhalAp…...

    2024/4/21 10:20:35
  13. Meteor+AngularJS:超快速Web开发

    为了更好地描述Meteor和AngularJS为什么值得一谈,我先从个人角度来回顾一下这三年来WEB开发的变化: 三年前,我已经开始尝试前后端分离,后端使用php的轻量业务逻辑框架。但当时前端还没有成熟且广泛流行的业务逻辑框架。所以在做产品开发时我仍然选用drupal等整体开…...

    2024/4/21 10:20:35
  14. SQL Server 2012 安装图解教程

    注:1、该文章转载于:http://www.jb51.net/article/36049.htm,放上来仅作为大家学习交流使用,有任何问题请联系博主。2、本安装教程除SQl下载部分其余本人已实践过,有任何问题欢迎各位大牛提出大家相互交流,本人机器运行环境为 Windows 7、32位、2GHzSQL Server 2012 安装…...

    2024/5/5 1:14:14
  15. 实时开发框架Meteor API解读系列 DDP

    写在前面的话 本篇博客主要讲 DDP使用的meteor版本为0.8.0老话重提 ,尽量以官方文档为主本篇博客有不正确的地方在所难免,如有发现望指出。本篇博客地址:http://blog.csdn.net/a6383277/article/details/23656929 转载请注明出处,谢谢DDP 这个类只有个方法 DDP.connect(url)…...

    2024/4/20 17:43:51
  16. j2ee书籍推荐:J2EE软件开发视频教程

    J2EE软件开发视频教程-BF-TECH3.0 J2EE软件工程师高薪就业品牌课http://程J2EE软件开发视频教程包括三大阶段:920学时(预计),28个阶段项目贯穿其中,四大项目专业实训,快速了解整个软件开发流程与相关专业工具的使用!J2EE软件开发视频教程初级阶段:侧重于Java核心技术。中级…...

    2024/5/4 22:11:02
  17. request.getInputStream()得不到值

    用的HttpUrlConnection模拟请求URL serverUrl = new URL(""); HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.connect(); String params = "hello&q…...

    2024/4/20 17:43:49
  18. 编译meteor项目

    meteor开发环境搭建:http://blog.csdn.net/u010947098/article/details/54290159这里是编译meteor项目的第二步,正式开始编译。 1.进入项目的目录,我这里的是 cd /root/bin/meteor/BizInsurance 2.查看package.json文件,这个文件中记录了项目所需要的插件,以及插件的版本…...

    2024/4/20 17:43:49
  19. Apache Calcite教程-SQL解析-Calcite SQL解析

    Calcite SQL解析代码目录config.fmppParser.jjparserImpls.ftl/compoundIdentifier.ftl生成解析器的流程Sql解析使用解析示例代码解析流程常用类SpanSqlAbstractParserImplSqlParseExceptionSqlParserSqlParserImplFactorySqlParserPosSqlParserUtilSqlNodeSqlCallSqlLiteralSq…...

    2024/4/20 17:43:48
  20. 网站开发只需数小时?Meteor 说这才是未来

    网站开发只需数小时?Meteor 说这才是未来[核心提示] 未来开发一个网站的时间可能不是数周而只有数小时,让开发更简单的 Meteor 会推动下一代网站的创新吗?微博微信TwitterLinkedIn那个想要挑战过去数十年沿用至今的网站开发模式的新势力来了。Meteor 是从 YC 孵化而出的现代…...

    2024/4/20 17:43:47

最新文章

  1. PHP基础【介绍,注释,更改编码,赋值,数据类型】

    源码 <?php //单行注释 /* 多行注释 *///通过header()函数发送http头的请求信息用来指定页面的字符集编码 header("Content-type:text/html;Charsetutf-8"); //告诉浏览器&#xff0c;当前页面的内容类型是HTML&#xff0c;并且页面内容使用的是UTF-8编码。//ph…...

    2024/5/6 8:22:30
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Python读取文件里内容

    如果要读取一个文件里的内容是 # 文件名&#xff1a;db.txt 1 2 3 4代码如下 import requests f open("db.txt", mode"rb") content f.read() f.close()data content.decode(utf-8)# 存到 list 里 data_list data.split(\r\n) print(data_list)# 结果…...

    2024/5/5 8:37:34
  4. JAVA------基础篇

    java基础 1.JDK JDK :java development kit JRE&#xff1a;java runtime environment JDK包含JRE java跨平台&#xff1a;因为java程序运行依赖虚拟机&#xff0c;虚拟机需要有对应操作系统的版本&#xff0c;而jre中有虚拟机。 当你想要在Linux系统下运行&#xff0c;则需要…...

    2024/5/5 8:40:27
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57