使用Libsvm进行回归预测SVR

转自网络用LIBSVM进行回归预测的粗浅认识————————作者师梦

说一说我对用LIBSVM进行回归预测的粗浅认识(整理完成于2012年5.11)

作者 :   师梦

      吾本工程小硕一枚,前用matlab建模,已然完成。某日,正沾沾自喜之际,吾师曰:“汝已为之,甚好。然此法仅用于后期处理,若在线,数控之机床不识别之,汝改之,标准C即可”。吾大惊,标准C?难也,难也。然师命不可违。吾即度之,然度娘不甚给力,正愁苦之际,学长曰:“可尝试libsvm。”吾大喜,遂改之。吾本非程序员,故重重困难,可想而知。怎奈三周之调试,才得体验“程序虐我千百遍,我待程序如初恋”之精髓。%>_<%吾只三周,已然疲倦如此,况程序员之一生乎?

      然吾终完成,做此文以记之,非炫耀之本,只为众人之便。此文仅吾一家之言,疏漏之处,在所难免,若能引得众人围观,共同探讨之,改之,则吾之荣幸。

     嘿嘿,小小的“序”了一下哦~~O(∩_∩)O~~,由于只是用libsvm作为一种工具来服务自己的课题,所以不对libsvm本身做深入研究,鉴于自己开始做的时候遇到了很多的困难,也查了很多的资料,所以这篇文字就写的尽量详细一些,给大家以方便。好啦,一起来开始libsvm的奇妙之旅吧。(P.S:本人win7系统,本文所述步骤均为亲测正确。)

本文,将按照以下的顺序来说明libsvm的用法:

1.Libsvm之初相识

1)libsvm简介(略)

2)Libsvm、python、gnuplot下载

3)环境变量的设置以及如何在DOS下寻找路径

2.Libsvm之再体验(此阶段,你会真正体验到“若只如初见”的感觉。%>_<%)

1)将原始数据改为libsvm所规定的数据格式。2种方法:使用excel自带功能或者自己编程实现。

2)用svm-scale.exe对数据集进行归一化处理。

3)用gridregression.py搜索最优参数,主要是c和g。

4)用svm-train训练模型。

5)用svm-predict预测。

一、Libsvm之初相识

1、libsvm简介(略)

  Libsvm主要是用来模式识别与回归,这部分可以自己上网去看,在此略。

2、Libsvm、python、gnuplot下载

  会不会奇怪为什么还要下载python和gnuplot这两个软件很重要,是后面搜索最优参数要用到的,也是很关键的一步。

我用的版本:libsvm-3.12,Python2.4,对于gnuplot,我用的是gp400win32.zip,下面是下载地址:

Libsvm-3.12:http://www.csie.ntu.edu.tw/~cjlin/(libsvm创始人台湾大学林智仁副教授个人主页) 
Python2.4:http://download.csdn.net/detail/linghu9990/3512232(这个是不要积分的)

gp400win32.zip:http://ishare.iask.sina.com.cn/f/14895214.html?from=like

Gridregression.py: http://download.csdn.net/detail/killa11/2225384

将其复制到libsvm下的python2.4文件夹下。

将Libsvm-3.12和gp400win32.zip解压,这两个都不用安装。Python2.4要安装。下面是它们的路径(个人习惯,可以重命名文件或者对文件夹进行整理,以便后续运行):

Libsvm:G:\shukong下面(这里我将libsvm-3.12重命名为libsvm)

Python:G:\shukong\libsvm下面(python2.4重命名为python)记得将python下面的python.exe复制到libsvm下的tools中

gp400win32.zip:G:\shukong\libsvm下面(只保留了gnuplot这个文件夹)

3、环境变量的设置以及如何在DOS下寻找路径

1)环境变量的设置(不明白为什么要设置环境变量@_@,但为了避免后续出了问题不知怎么解决,还是设置了)

添加环境变量到path:右击“计算机(我的电脑)”->属性->高级系统设置->高级->环境变量->系统变量列表里双击path在变量值最后添加“;G:\shukong\libsvm\windows”,这就对Libsvm环境变量设置好了,然后设置python环境变量,也和上面一样,在变量值最后添加“;G:\shukong\libsvm\tools”。如图1:

                           

2)如何在DOS下寻找路径(这部分会的可以不用看,像我这种菜鸟,还是百度才知道的%>_<%)

 点击“开始”按钮,进入“命令提示符”,默认路径是“C:\User\acer>”。这里有两种情况:一是像我是放在G盘的,所以要将路径改为G盘,方法是:直接在命令提示符里输入“G:”然后回车,就进入G盘的根目录了。如图2:

                 

      还有就是虽然在C盘,但是不在“C:\User\acer>”,这时就先要进入C盘的根目录,方法如下:在命令提示符下输入“cd\”然后回车即可。如图3: 

                 

以上两种情况,进入根目录以后,我们就可以进入libsvm的路径,在这里,我们先进入“G:\shukong\libsvm>”(只是我自己在G盘,你要根据自己实际路径进入),方法如下:

   在命令提示符中输入“cd shukong”,然后回车,再输入“cd libsvm”然后回车即可。如图4:

                 

二、Libsvm之再体验

怎么样,初相识还不是很难的吧,下面个人感觉就有点麻烦了。大家耐心哈。

1、将原始数据改为libsvm所规定的数据格式。

该软件使用的训练数据和检验数据文件格式如下:

    [label] [index1]:[value1] [index2]:[value2] …

       目标值 第一维特征编号:第一维特征值 第二维特征编号:第二维特征值…

例如:2.3 1:5.6 2:3.2 

表示训练用的特征有两维,第一维是5.6,第二维是3.2,目标值是2.3 

原始数据改为libsvm所规定的数据格式有2种方法:

1)使用网络上FormatDataLibsvm.xls来完成(我的excel版本不支持宏命令,所以此种方法没有用)。 

FormatDataLibsvm.xls使用说明: 

a. 先将数据按照下列格式存放(注意label放最后面): 

value1 value2 … label 

value1 value2 … label 

value1 value2 … label

b. 然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具->宏->执行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。

 

2)采用编程实现

a. 先将数据按照下列格式存放(注意label放最后面): 

value1 value2 … label 

value1 value2 … label 

value1 value2 … label

b.本人使用的是简单的matlab编程来实现(以下是本人部分数据)

原数据(data1.txt)如图5:

                 

 

转换之后的数据(svmdata1.txt)如图6:

                

用matlab进行数据转换之后,把svmdata1.txt复制到libsvm文件夹下的tools文件夹即可。

3)数据格式转换好了,那么在libsvm的tools文件夹下还有一个工具,可以用来检查你的数据格式是否正确,那就是checkdata.py。方法是:

打开"命令提示符",进入到libsvm中的tools文件夹下,(怎么样进入我已在上面介绍过),然后输入命令“checkdata.py svmdata1.txt”回车,若显示“No error”,则表示数据格式正确。我的数据结果如图7。(注:如果用这个matlab程序转换的话,一定是no error的。^_^)

               

 

这一步一般不会有太大的问题。

2、用svm-scale.exe对数据集进行归一化处理。

因为原始数据可能范围过大或过小, svmscale可以先将数据重新scale (縮放) 到适当范围使训练与预测速度更快。通常将数据缩放至[-1,1]或者[0,1]之间。

使用方法:svm-scale.exe [-l lower] [-u upper] [-y y_lower y_upper] [-s save_name] [-r store_name] filename;其中

    -l:数据下限标记;

lower:缩放后数据下限 缺省值: lower = -1;

-u:数据上限标记;

upper:缺省值: upper =  1,代表着没有对y进行缩放;

-y:是否对目标值同时进行缩放;

y_lower:为下限值;

y_upper:为上限值;(回归需要对目标进行缩放,因此该参数可以设定为 –y -1 1 );

-s save_name:表示将缩放的规则保存为文件save_name;

-r store_name:表示将缩放规则文件store_name载入后按此缩放; 

filename:待缩放的数据文件(要求满足前面所述的格式)。

在进行这一步的时候,我们要用到的数据是上一步已经改好格式的数据,即svmdata1.txt,所以要把svmdata1.txt复制到libsvm中的windows文件夹下。

具体操作,打开“命令提示符”,进入libsvm中的windows下,输入命令“svm-scale.exe -l 0 -u 1 svmdata1.txt>data.txt”。如图8。

                              

这里,我们把svmdata1.txt里面的数据缩放为[0,1]之间,并另存为data.txt,这时,在windows下面会多出一个data.txt,里面就是你要的数据。我没有保存规则,就不用-s。这里也有几个问题:

a.请看下图9:

                

 

和上图对比,感觉输入的命令是一样的,但是却提示错误,打开data.txt却并没有数据,却是英文的svm-scale的用法,刚开始,一直这样,我痛苦死了,后来仔细一看才明白,原来那个是英文的‘l’而我写的是数字‘1’,这样一改就好了。图10:

                

归一化后的数据如图11:

                

可以看到前几行索引没有‘3’,这是因为索引为‘3’的value是0,所以为了节省内存,就不显示了,这并不是错误,不要担心。

3、用gridregression.py搜索最优参数,主要是c和g。

数据都准备好了之后,就可以用svm-train来训练模型了,然而,了解svm-train的都知道,训练的时候又很多的参数,而这些参数又不能随便选,会有最优的,但是人工去选的话,会很麻烦,我看好多人都说用libsvm自带的grid.py进行参数的搜索,但是我查了,也实践了,好像grid.py不支持回归的,于是我用gridregression.py来搜索最优参数。

有关gridregression.py的下载,在第一步已经说了,不在赘述。先打开gridregression.py,注意用Eidt with IDLE打开,然后里面有些参数要改一下。

改前如图12:

          

改后如图13:

         

其实要改的就这些,主要是把svmtain_exe和gnuplot_exe的路径改为自己的路径就行。

然后就可以进行寻优了。要先把路径调好,注意调到G:\shukong\libsvm\python2.4下。

然后输入下面的语句:python G:\shukong\libsvm\python2.4\gridregression.py -svmtain G:\shukong\libsvm\windows\svm-train.exe -gnuplot G:\shukong\libsvm\gnuplot\bin\pgnuplot.exe -log2c -10,10,1 -log2g -10,10,1 -log2p -10,10,1 -v 10 -s 3 -t 2 G:\shukong\libsvm\tools\data.txt如图14:

         

这个比较多字母,容易输错,我是在worrd文档里键入,然后复制到命令提示符中,回车,就开始跑了,在命令提示符窗口中看到运行过程。过程可能会比较长,我的数据少,很快就有结果了。

另:我在网上看的,如果输入python G:\shukong\libsvm\python2.4\gridregression.py -svmtain G:\shukong\libsvm\windows\svm-train.exe -gnuplot G:\shukong\libsvm\gnuplot\bin\pgnuplot.exe -log2c -10,10,1 -log2g -10,10,1 -log2p -10,10,1 -v 10 -s 3 -t 2 G:\shukong\libsvm\tools\data.txt>gridregression_data.parameter比上面的输入多了最后的“>gridregression_data.parameter”,表示将结果保存在gridregression_data.parameter中,会在python文件夹中多出一个gridregression_data.parameter文件,但是在命令提示符中不会看到运行过程,这种方法我也尝试了,但是时间会非常长,大概花了4个小时,而且网上用这个方法的人也是运行了大概24小时,还是没结束,所以,还是不要保存为好,用上面的输入就行。寻优结果如图15:

         

 可以看到寻优的过程,只需关注最后一行即可。最后一行分别为c,g,p,mse,一般来说mse这个参数不是很重要,是越小越好吧(至于为什么是越小越好,我也不清楚哇~~)。

4、用svm-train训练模型。

svmtrain我们在前面已经接触过,他主要实现对训练数据集的训练,并可以获得SVM模型。

        用法: svmtrain [options] training_set_file [model_file]

其中,options为操作参数,至于参数的可的选项及表示的涵义,大家可以在livbsvm中自带的readme里面看得到,很详细,不再赘述。这里只介绍我所选择的参数及其值。

打开命令提示符,进入G:\shukong\libsvm\windows然后输入“svm-train -s 3 -t 2 -c 1024.0 -g 4 .0 -p 0.0625 data.txt”,这里-s是选择SVM的类型。对于回归来说,只能选3或者4,3表示epsilon-support vector regression, 4表示nu-support vector regression。-t是选择核函数,通常选用RBF核函数。然后c,g,p我们已经寻出,直接运行即可。如图16:

         

#iter 为迭代次数, nu 与前面的操作参数 -n n 相同, obj 为 SVM 文件

转换为的二次规划求解得到的最小值, rho 为判决函数的常数项 b , nSV 为支持

向量个数, nBSV 为边界上的支持向量个数, Total nSV 为支持向量总个数。

这时在windows中会生成一个data.txt.model文件。可以用来进行下面的预测了。

5、用svm-predict预测。

vmpredict 是根据训练获得的模型,对数据集合进行预测。

   用法:svmpredict [options] test_file model_file output_file

   其中,options为操作参数,可用的选项即表示的涵义如下所示:

-b probability_estimates——是否需要进行概率估计预测,可选值为0 或者1,默认值为0。

model_file ——是由svmtrain 产生的模型文件;

test_file—— 是要进行预测的数据文件,格式也要符合libsvm格式,即使不知道label的值,也要任意填一个,svmpredict会在output_file中给出正确的label结果,如果知道label的值,就会输出正确率;

output_file ——是svmpredict 的输出文件,表示预测的结果值。

还是在命令提示符windows下输入“svm-predict  test.txt  data.txt.model out.txt”,如图17:

    

 可以看到,第一行是均差,第二行是相关系数,预测结果还是不错的。如果预测结果不好,一可能是你的参数选择不当,还可能是你的特征值选择的有问题。

另外,在windows下会生成一个out.txt文件,可以打开看一下和test.txt文件的差别。

至此,用libsvm进行回归预测的大概步骤就是这个样子,只是个人总结,不妥之处,还希望大家讨论指出。

特别注意:用gridregression.py搜索最优参数时,极有可能会报错worker local quit.这是由于用svm-scale.exe对SVM格式的原始数据集进行归一化后的文件格式不对,经过比对官网的数据格式,我这里最终把归一化后的数据改为UTF-8编码,就可以解决这个问题。

YoungLittleT
关注 关注
  • 12
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
【支持向量机(SVM)在时序数据回归预测中的应用】
weixin_51352614的博客
04-05 564
支持向量机(SVM)是一种强大的监督学习方法,通常用于分类问题。然而,通过引入支持向量回归SVR),SVM也可以用于回归预测任务,包括时序数据的回归预测。本文将介绍SVR在时序数据回归预测中的应用,探讨其优缺点,并通过一个Python示例演示如何使用SVR进行时序数据的回归预测。我们可以看到SVR在时序数据回归预测中的强大能力。虽然它面临着参数选择和高计算成本的挑战,但其优点,如强大的泛化能力、高维数据处理能力和处理非线性关系的灵活性,使其成为许多时序预测任务中的一个强有力的工具。
[转]libsvm介绍及使用
heiyeluren的blog(黑夜路人的开源世界)
03-10 4940
支持向量机简介  支持向量机SVM是从线性可分情况下的最优分类面提出的。所谓最优分类,就是要求分类线不但能够将两类无错误的分开,而且两类之间的分类间隔最大,前者是保证经验风险最小(为0),而通过后面的讨论我们看到,使分类间隔最大实际上就是使得推广性中的置信范围最小。推广到高维空间,最优分类线就成为最优分类面。    支持向量机是利用分类间隔的思想进行训练的,它依赖于对数据的预处理,即,在更高维的空
【Python机器学习系列】一文教你建立SVR模型预测房价(案例+源码)
最新发布
数据杂坛
04-29 640
一文教你建立SVR模型预测房价(案例+源码)
MATLAB环境使用LIBSVM-回归问题详解(四)
wokaowokaowokao12345的专栏
02-18 1万+
简介 LIBSVM可以用于解决分类和回归问题,上一篇博文中介绍了分类问题。在这里将对回归问题结合实例运用LIBSVM
【SVM回归预测】麻雀搜索算法优化支持向量机SSA-SVM回归预测【含Matlab源码 1625期】
Matlab武动乾坤的博客
11-03 121
麻雀搜索算法优化支持向量机SSA-SVM回归预测 完整的代码,方可运行;可提供运行操作视频!适合小白!
解密SVM系列(五):matlab下libsvm的简单使用:分类与回归
热门推荐
我爱智能
08-17 6万+
本节简单介绍一下libsvm使用方法。关于libsvm似乎曾经使用过,那个时候主要用libsvm进行简单的人脸识别实验。当时还翻译过关于libsvm里面的matlab英文文档介绍与分类实验那么现在最新版本的libsvm为3.2.0,下载地址如下: http://www.csie.ntu.edu.tw/~cjlin/libsvm/下载下来的libsvm其实包含好多个平台的工具箱软件,c++,mat
libsvm使用说明
luojiaao的博客
09-10 2114
SVM是一个以空间为依据的机器学习算法 1、C-SVC 以惩罚系数为基础来进行近似平面分割 2、V-SVC 以错分的比例来近似平面分割,是对C-SVC的改进版本,解决了惩罚系数的难以确定的问题。 SVM包括SVC和SVR,一个是分类,一个是回归。 1.E-SVR (ε-SVR) 2.v-SVR 他们的区别没有找到具体的点,有人说ε-SVR是最小化ε为目标;v-SVR是限制...
libsvm支持向量机回归示例
09-04
在本示例中,我们将专注于支持向量机回归(Support Vector Regression,SVR),特别是使用libsvm进行实现。libsvm是陈嘉庚学院开发的一个开源库,它提供了多种SVM模型的实现,包括分类和回归。 首先,让我们了解...
执行LibSVM预测.rar
06-14
LIBSVM 是台湾大学林智仁(Chih-Jen Lin)博士等开发设计的一个操作简单、易于使用、快速有效的通用SVM软件包,可以解决分类问题(包括C- SVC、n - SVC )、回归问题(包括e - SVR、n - SVR )以及分布估计(one-class...
libsvm回归步骤
08-17
【描述】: "本文档详细阐述了如何使用C语言实现的libsvm进行回归预测,适合初学者参考。" 【标签】: "libsvm" 【正文】: libsvm是一款广泛使用的支持向量机(SVM)库,不仅适用于分类任务,也可用于回归问题。...
LIBSVM的简介与使用
07-10
5. **ν-SVR** (nu-SVR):结合`-c`和`-n`参数进行回归分析。 LIBSVM使用流程包括以下几个关键步骤: 1. **数据准备**:按照LIBSVM特定的格式组织数据集,每行数据包含一个标签和一系列特征,特征间以空格分隔,...
基于支持向量机libsvm回归预测分析
07-22
基于基于支持向量机libsvm回归预测分析拟合模型,利用数据做预测,数据代码都在压缩包里。
libsvm gridregression.py文件
11-03
用于获取最优回归参数的gridregression文件,参数可以在直接在文件中修改
gridregression.py
01-16
gridregression.py 是和前两个一起用的,不过用它的时候(在libsvm中做最优参数选择时)要注意将其里面的路径改一下。
gridregression.py文件
03-14
Libsvm使用,结合python和gnuplot,主要是用来参数寻优
数据回归-支持向量回归机在药品销售预测中的分析及应用.pdf
06-26
常用的回归分析方法有线性回归、逻辑回归、决策树回归等,而SVR算法可以克服传统回归分析方法的局限性,提供更好的预测结果。 4.2 支持向量回归SVR算法是基于支持向量机(Support Vector Machine,SVM)算法的...
【SVM回归预测】基于LibSVM实现多特征数据的预测
总结论文中的算法并给出论文的复现代码
10-22 8158
本文介绍了如何利用机器学习中的SVM算法来解决生活中的问题,通过获取影响电动车价格的数据来建立一个预测电动车价格的模型。
【SVM回归预测】基于支持向量机的数据回归预测(libsvm)附matlab代码
m0_60703264的博客
07-18 200
基于支持向量机(Support Vector Machines,SVM)的数据回归预可以使用libsvm进行实现。以下是一种基本的步骤:数据准备:将回归预测的数据集划分为训练集和测试集,并对数据进行预处理(如归一化、标准化等)。特征提取:根据具体问题,选择合适的特征提取方法来将数据转化为特征向量。常用的特征提取方法包括统计特征、频域特征、时域特征等。标签准备:将待预测的目标值作为标签,并与特征向量对应起来。SVM参数选择:选择合适的SVM回归参数,包括核函数类型、正则化参数C、核函数参数等。
【Matlab股票价格预测】基于SVM支持向量机的多变量股票价格预测(libsvm)(附MATLAB代码)
k8291121的博客
12-21 1008
【Matlab股票价格预测】基于SVM支持向量机的多变量股票价格预测(libsvm)(附MATLAB代码)
libsvm回归预测matlab代码
09-16
Sure, here's an example of MATLAB code for regression prediction using LibSVM: ```matlab % Load the LIBSVM library addpath('path_to_libsvm_folder'); % Load the training data data = load('training_data.txt'); X = data(:, 1:end-1); y = data(:, end); % Load the test data test_data = load('test_data.txt'); X_test = test_data(:, 1:end-1); % Set the parameters for training svm_model = svmtrain(y, X, '-s 3 -t 2 -c 1 -g 0.1'); % Predict the test data [predicted_label, accuracy, decision_values] = svmpredict(zeros(size(X_test, 1), 1), X_test, svm_model); % Display the predicted labels disp(predicted_label); ``` Make sure to replace `path_to_libsvm_folder` with the actual path to the LibSVM library on your system. Also, replace `training_data.txt` and `test_data.txt` with the paths to your actual training and test data files. In this example, we use the `-s 3` option to enable regression mode, `-t 2` for using the radial basis function (RBF) kernel, `-c 1` to set the cost parameter, and `-g 0.1` to set the gamma parameter. You can adjust these parameters according to your specific needs. The predicted labels for the test data will be displayed at the end of the code.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 使用Libsvm进行回归预测SVR 8494
  • Praat脚本提取时长及基频并示例如何绘制声调图 5596
  • MFCC特征使用方法总结 5320
  • java调用shell命令并返回执行结果 4932
  • 对话导师与研究生:“如果导师有坏心思,学生容易成为牺牲品” 3940

分类专栏

  • 程序人生 1篇
  • Java学习 3篇
  • 网络 1篇
  • 在线语音识别 1篇
  • Praat 4篇
  • 语音信号处理 5篇
  • MFCC特征提取 5篇

最新评论

  • Mac上Matlab_R2023b ARM 版 启动闪退(意外退出)解决方法

    八里香~: 帮大忙了,感谢!!!

  • Mac上Matlab_R2023b ARM 版 启动闪退(意外退出)解决方法

    m0_55059075: 可以的,我也是14 sonoma

  • Mac上Matlab_R2023b ARM 版 启动闪退(意外退出)解决方法

    Triangleye: 感谢!成功了

  • Mac上Matlab_R2023b ARM 版 启动闪退(意外退出)解决方法

    Linkin Park forever: 你的Mac运行的是macOS 14 Sonoma吗,好像是Matlab对于macOS Sonoma没有太好的支持导致用替换许可证激活的Matlab会出现这个情况,官方给出的建议是使用账户激活,看来macOS Sonoma暂时没办法使用Matlab了

  • Mac上Matlab_R2023b ARM 版 启动闪退(意外退出)解决方法

    hermit2009: 楼主,按照你的方法可以进去了,但一会儿就会报错。退出。请问还有啥办法吗?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Mac上Matlab_R2023b ARM 版 启动闪退(意外退出)解决方法
  • 以前序遍历的方式创建和遍历二叉树
  • 使用栈实现四则运算中缀到后缀的转换
2024年1篇
2021年4篇
2019年14篇
2018年6篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司平湖外贸网站设计大运建网站坂田网站推广工具惠州网站排名优化惠州关键词按天扣费西乡标王观澜关键词按天收费平湖seo网站推广罗湖网站改版吉祥网络广告推广福永网页制作双龙网站排名优化石岩百度爱采购惠州百搜标王南山百度网站优化排名塘坑关键词按天收费横岗网站关键词优化同乐英文网站建设龙岗阿里店铺运营同乐SEO按天收费大浪seo优化大鹏至尊标王深圳关键词按天扣费塘坑网站优化吉祥网站建设设计南山百姓网标王推广南联网络推广南澳企业网站改版大鹏网站关键词优化双龙建站歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化