このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
交差検証を使用した損失の推定
は,関数值
= crossval (有趣的
,X
)有趣的
をX
内のデタに適用して10分割交差検証を実行します。X
の行は観測値に,X
の列は変数に対応します。
詳細は,好玩の一般的な交差検証手順を参照してください。
10分割交差検証を使用し,回帰モデルの平均二乗誤差を計算します。
carsmall
デ,タセットを読み込みます。加速度,馬力,重量,ガロンあたりの走行マaaplル数(mpg)の値を行列数据
に格納します。南
値が含まれている行を削除します。
负载carsmalldata =[加速度、马力、重量MPG];Data (any(isnan(Data),2),:) = [];
数据
の最後の列(英里/加仑
に対応)をy
の応答変数として指定します。数据
のそれ以外の列を予測子デ,タX
として指定します。回帰関数が回归
を使用する場合,この例のように,値が1の列をX
に追加します。
メモ:回归
は,回帰モデルの係数推定値または残差が必要な場合に便利です。あてはめた回帰モデルをさらに調べる必要がある場合は,fitlm
を使用して線形回帰モデルオブジェクトを作成します。fitlm
とcrossval
を使用する例にいては,交差検証を使用した平均絶対誤差の計算を参照してください。
Y = data(:,4);X = [ones(length(y),1) data(:,1:3)];
カスタム関数regf
(この例の終わりに掲載)を作成します。この関数は,学習デ,タに回帰モデルをあてはめ,検定セットで予測値を計算します。
メモ:この例のラ▪▪ブスクリプトファ▪▪ルを使用している場合,関数regf
は既にファ@ @ルの終わりに含まれています。それ以外の場合は,この関数をmファイルの終わりに作成するか,MATLAB®パス上のファイルとして追加する必要があります。
予測子デ,タX
と応答変数y
を使用し,回帰モデルに対する既定の10分割交差検証の平均二乗誤差を計算します。
rng (“默认”)%用于再现性cvMSE = crossval(mse的, X, y,“Predfun”@regf)
cvMSE = 17.5399
次のコ,ドは,関数regf
を作成します。
函数yfit = regf(Xtrain,ytrain,Xtest) b =回归(ytrain,Xtrain);yfit = Xtest*b;结束
10分割交差検証を使用して,数値データとカテゴリカル予測子データで学習させたロジスティック回帰モデルの分類誤差を計算します。
病人
デ,タセットを読み込みます。予測子として,数値変数舒张压
、收缩压
,およびカテゴリカル変数性别
を指定し,応答変数として吸烟者
を指定します。
负载病人X1 =舒张期;X2 =分类(性别);X3 =收缩期;y =吸烟者;
カスタム関数classf
(この例の終わりに掲載)を作成します。この関数は,学習デ,タにロジスティック回帰モデルをあてはめ,検定デ,タを分類します。
メモ:この例のラ▪▪ブスクリプトファ▪▪ルを使用している場合,関数classf
は既にファ@ @ルの終わりに含まれています。それ以外の場合は,この関数をmファイルの終わりに作成するか,MATLAB®パス上のファイルとして追加する必要があります。
予測子デ,タX1
、X2
、X3
,および応答変数y
を使用して,このモデルに対する10分割交差検証の分類誤差を計算します。学習セットと検定セットで必ず喫煙者の比率がほぼ同じになるように,“分层”,y
を指定します。
rng (“默认”)%用于再现性Err = crossval(“宏”, X1, X2, X3, y,“Predfun”@classf,“分层”, y)
Err = 0.1100
次のコ,ドは,関数classf
を作成します。
函数pred = classf(X1train,X2train,X3train,ytrain,X1test,X2test,X3test,X3test)...“VariableNames”, {舒张压的,“性别”,“收缩”,“抽烟”});Xtest = table(X1test,X2test,X3test,...“VariableNames”, {舒张压的,“性别”,“收缩”});modelspec =“吸烟者~舒张期+性别+收缩期”;mdl = fitglm(Xtrain,modelspec,“分布”,“二”);yfit = predict(mdl,Xtest);Pred = (yfit > 0.5);结束
与えられた数のクラスターについて,観測値とそれに最も近いクラスターの中心との間の,交差検証された距離の二乗和を計算します。1 ~ 10個のクラスタにいて,結果を比較します。
fisheriris
デ,タセットを読み込みます。X
は,150種類の花にいての花の測定値が格納された行列量
です。
负载fisheririsX = meas;
カスタム関数clustf
(この例の終わりに掲載)を作成します。この関数は以下の手順を実行します。
学習デ,タを標準化します。
学習デ,タをk
個のクラスタ,に分割します。
学習デ,タの平均と標準偏差を使用して,検定デ,タを変換します。
各検定デ,タ点とそれに最も近いクラスタ,の中心(重心)との距離を計算します。
距離の二乗和を計算します。
メモ:この例のラ▪▪ブスクリプトファ▪▪ルを使用している場合,関数clustf
は既にファ@ @ルの終わりに含まれています。それ以外の場合は,この関数をmファイルの終わりに作成するか,MATLAB®パス上のファイルとして追加する必要があります。
各反復でクラスタ,数k
を指定する为
ル,プを作成します。決められた各クラスタ数にいて,対応する関数clustf
をcrossval
に渡します。crossval
は,既定で10分割交差検証を実行するため,ソフトウェアは10個の距離の二乗和を計算します(各平方和は学習データと検定データの各分割に対応します)。これらの値を合計します。これが,所定の数のクラスタ,に,いての交差検証された距離の二乗和です。
rng (“默认”)%用于再现性Cvdist = 0 (5,1);为fun = @(Xtrain,Xtest)clustf(Xtrain,Xtest,k);距离= crossval(fun,X);Cvdist (k) = sum(距离);结束
各クラスタ数にいて,交差検証された距離の二乗和をプロットします。
情节(cvdist)包含(“簇数”) ylabel (CV距离平方和)
通常は,使用するクラスターの数を決定する場合,交差検証された距離の二乗和が大幅な減少を示すクラスター数のうち最も数が大きいものを使用することを検討してください。この例の場合2つか3つのクラスターの使用が適切と考えられますが,3つを超えるクラスターの使用は適切と考えられません。
次のコ,ドは,関数clustf
を作成します。
函数距离= clustf(Xtrain,Xtest,k) [Ztrain,Zmean,Zstd] = zscore(Xtrain);[~,C] = kmeans(Ztrain,k);%创建k个集群Ztest = (Xtest-Zmean)./Zstd;d = pdist2(C,Ztest,“欧几里得”,“最小”1);距离= sum(d.^2);结束
10分割交差検証を使用して,回帰モデルの平均絶対誤差を計算します。
carsmall
デ,タセットを読み込みます。予測子として変数加速度
と位移
を指定し,応答として変数重量
を指定します。
负载carsmallX1 =加速度;X2 =位移;y =重量;
カスタム関数regf
(この例の終わりに掲載)を作成します。この関数は,学習デ,タに回帰モデルをあてはめ,検定セットで車両の重量を計算します。この関数は,車両の予測重量と真の値を比較して,平均絶対誤差(MAE)と検定セットの車両の重量の範囲に調整された美を計算します。
メモ:この例のラ▪▪ブスクリプトファ▪▪ルを使用している場合,関数regf
は既にファ@ @ルの終わりに含まれています。それ以外の場合は,この関数をmファイルの終わりに作成するか,MATLAB®パス上のファイルとして追加する必要があります。
既定では,crossval
は10分割交差検証を実行します。X1
、X2
,およびy
に含まれるデタから得られた学習セットと検定セットの10個の分割のそれぞれにいて,関数regf
を使用してmaeと調整済みmaeの値を計算します。美の平均値と調整済み美の平均値を求めます。
rng (“默认”)%用于再现性values = crossval(@regf,X1,X2,y)
值=10×2319.2261 0.1132 342.3722 0.1240 214.3735 0.0902 174.7247 0.1128 189.4835 0.0832 249.4359 0.1003 194.4210 0.0845 348.7437 0.1700 283.1761 0.1187 210.7444 0.1325
意思是(值)
ans =1×2252.6701 - 0.1129
次のコ,ドは,関数regf
を作成します。
函数errors = regf(X1train,X2train,ytrain,X1test,X2test,ytest) tbltrain = table(X1train,X2train,ytrain,...“VariableNames”, {“加速”,“位移”,“重量”});tbltest = table(X1test,X2test,ytest,...“VariableNames”, {“加速”,“位移”,“重量”});MDL = fitlm(tbltrain,“重量~加速度+位移”);Yfit = predict(mdl,tbltest);MAE =均值(abs(yfit-tbltest.Weight));adjMAE = MAE/range(tbltest.Weight);errors = [MAE adjMAE];结束
主成分分析(pca)と5分割交差検証を使用して,分類木の分類誤差を計算します。
fisheriris
デ,タセットを読み込みます。量
には,150種類の花にいての花の測定値が格納されています。変数物种
には,それぞれの花の種類がリストされています。
负载fisheriris
カスタム関数classf
(この例の終わりに掲載)を作成します。この関数は,学習デ,タに分類木をあてはめ,検定デ,タを分類します。関数の内部では PCA を使用し、ツリー モデルの作成に使用する予測子の数を減らします。
メモ:この例のラ▪▪ブスクリプトファ▪▪ルを使用している場合,関数classf
は既にファ@ @ルの終わりに含まれています。それ以外の場合は,この関数をmファイルの終わりに作成するか,MATLAB®パス上のファイルとして追加する必要があります。
層化5分割交差検証用に,cvpartition
オブジェクトを作成します。既定では,cvpartition
により,学習セットと検定セットで花の種類の比率がほぼ同じになることが保証されます。
rng (“默认”)%用于再现性CVP = cvpartition(species,“KFold”5);
予測子デ,タ量
および応答変数物种
を使用して,この分類木に対する5分割交差検証の分類誤差を計算します。
cvError = crossval(“宏”量,物种,“Predfun”@classf,“分区”本量利)
cvError = 0.1067
次のコ,ドは,関数classf
を作成します。
函数yfit = classf(Xtrain,ytrain,Xtest)标准化训练预测数据。然后,找到为标准化训练预测因子的主成分%的数据。[Ztrain,Zmean,Zstd] = zscore(Xtrain);[coeff,scoreTrain,~,~,explained,mu] = pca(Ztrain);找出最小数量的主成分%,至少95%的可变性。N = find(cumsum(explained)>=95,1);找到标准化的n个主成分分数%训练预测器数据。训练一个分类树模型%仅使用这些分数。scoreTrain95 = scoreTrain(:,1:n);mdl = fitctree(scoreTrain95,ytrain);找出转换后的n个主成分得分%测试数据。分类测试数据。Ztest = (Xtest-Zmean)./Zstd;scoreTest95 = (Ztest-mu)*coeff(:,1:n);yfit = predict(mdl,scoreTest95);结束
判別分析モデルの10分割交差検証結果から,混同行列を作成します。
メモ:学習速度が重要となる場合は分类
を使用します。そうでない場合はfitcdiscr
を使用して判別分析モデルを作成します。この例と同じワ,クフロ,でfitcdiscr
を使用する例にいては,交差検証予測を使用した混同行列の作成を参照してください。
fisheriris
デ,タセットを読み込みます。X
は150種類の花にいての花の測定値を格納し,y
はそれぞれの花の種類をリストします。花の種類の順序を指定する変数订单
を作成します。
负载fisheririsX = meas;Y =物种;顺序=唯一(y)
订单=3 x1细胞{'setosa'} {'versicolor'} {'virginica'}
以下の手順を実行する関数用に,函数
という名前の関数ハンドルを作成します。
学習デタ(Xtrain
およびytrain
)と検定デ,タ(Xtest
および欧美
)を取り込む。
学習デ,タを使用して,新しいデ,タ(Xtest
)を分類する判別分析モデルを作成する。このモデルを作成し,関数分类
を使用して新しいデ,タを分類する。
真の検定デタクラス(欧美
)と予測された検定デ,タ値を比較し,関数confusionmat
を使用してこの比較結果の混同行列を作成する。“秩序”,秩序
を使用してクラスの順序を指定する。
func = @(Xtrain,ytrain,Xtest,ytest)...分类(Xtest Xtrain ytrain),“秩序”、订单);
層化10分割交差検証用に,cvpartition
オブジェクトを作成します。既定では,cvpartition
により,学習セットと検定セットで花の種類の比率がほぼ同じになることが保証されます。
rng (“默认”)%用于再现性CVP = cvpartition(y,“Kfold”10);
予測子デ,タX
と応答変数y
の各分割にいて,10個の検定セットの混同行列を計算します。confMat
の各行は,1の検定セットから得られた混同行列に対応します。結果を集計し,最終結果の混同行列cvMat
を作成します。
confMat = crossval(func,X,y,“分区”、本量利);cvMat =重塑(sum(confMat),3,3)
cvMat =3×350 0 0 0 48 2 0 1 49
confusionchart
を使用して,混同行列を混同行列チャ,トとしてプロットします。
confusionchart (cvMat顺序)
标准
- - - - - -誤差推定値のタ@ @プmse的
|“宏”
誤差推定値のタ@ @プ。mse的
または“宏”
のいずれかとして指定します。
値 | 説明 |
---|---|
mse的 |
平均二乗誤差(mse) -回帰アルゴリズムにのみ適しています。 |
“宏” |
誤分類率(誤分類された観測値の比率)-分類アルゴリズムにのみ適しています。 |
X
- - - - - -デ,タセットデ,タセット。列ベクトル、行列、または配列として指定します。X
の行は観測値に対応し,X
の列は一般に変数と対応します。複数のデ,タセットX1,…,XN
をcrossval
に渡す場合,すべてのデ,タセットの行数は同じでなければなりません。
デ,タ型:单
|双
|逻辑
|字符
|字符串
|细胞
|分类
y
- - - - - -応答デ,タ応答デ,タ。列ベクトルまたは文字配列として指定します。y
の行は観測値に対応します。y
の行数は,予測子デ,タX
またはX1,…,XN
と同じでなければなりません。
デ,タ型:单
|双
|逻辑
|字符
|字符串
|细胞
|分类
predfun
- - - - - -予測関数予測関数。関数ハンドルとして指定します。この関数は、無名関数、残りのコードが格納されている .m ファイルまたは .mlx ファイルの末尾で定義される関数、または MATLAB®パス上のファ@ @ルとして作成しなければなりません。
次の表は,crossval
に渡される予測子デ,タのタ,いて説明しています。
値 | 予測子デ,タ | 関数の構文 |
---|---|---|
@myfunction |
X |
函数yfit = myfunction(Xtrain,ytrain,Xtest) %计算预测响应…结束
|
@myfunction |
X1,…,XN |
function yfit = myfunction(X1train,…,XNtrain,ytrain,X1test,…,XNtest) %计算预测响应…结束
|
例:@ (Xtrain ytrain Xtest) (Xtest *回归(ytrain Xtrain));
デ,タ型:function_handle
有趣的
- - - - - -交差検証する関数交差検証する関数。関数ハンドルとして指定します。この関数は、無名関数、残りのコードが格納されている .m ファイルまたは .mlx ファイルの末尾で定義される関数、または MATLAB パス上のファイルとして作成しなければなりません。
次の表は,crossval
に渡されるデ,タのタ,いて説明しています。
値 | デタ | 関数の構文 |
---|---|---|
@myfunction |
X |
函数值= myfunction(Xtrain,Xtest) %结束
|
@myfunction |
X1,…,XN |
function value = myfunction(X1train,…,XNtrain,X1test,…,XNtest) %结束
|
デ,タ型:function_handle
オプションの名称,值
引数のコンマ区切りペアを指定します。的名字
は引数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
crossval (mcr的量,物种,Predfun, @classf, KFold, 5,“分层”,物种)
は,予測子デ,タ量
と応答変数物种
を使用して関数classf
の層化5分割交差検証の誤分類率を計算するよう指定します。
坚持
- - - - - -ホ,ルドアウト検証に使用される観測値の比率または数[]
(既定値) |(0,1)の範囲のスカラ,値|正の整数スカラホ,ルドアウト検証に使用される観測値の比率または数。“坚持”
と範囲(0,1)のスカラー値(または正の整数スカラー値)から構成されるコンマ区切りのペアとして指定します。
坚持
の値p
が範囲(0,1)のスカラ値である場合,crossval
は,観測値の約p * 100
%を無作為に選択して検定デタとして確保します。
坚持
の値p
が正の整数スカラ,値である場合,crossval
は,p
個の観測値を無作為に選択して検定デ,タとして確保します。
どらの場合も,crossval
は,残りのデ,タを使用して有趣的
またはpredfun
で指定されたモデルに学習させます。最終的に,この関数は,検定デ,タと学習済みのモデルを使用して,值
または犯错
を計算します。
名前と値のペアの4の引数(坚持
、KFold
、Leaveout
,および分区
)のう,いずれか1。
例:“坚持”,0.3
例:“坚持”,50岁
デ,タ型:单
|双
KFold
- - - - - -分割の数10
(既定値) |1より大きい正の整数スカラK分割交差検証の分割数。“KFold”
および1より大きい正の整数スカラ,から構成されるコンマ区切りのペアとして指定します。
KFold, k
を指定した場合,crossval
はデ,タを無作為にk
個のセットに分割します。関数は,各セットについて、そのセットを検定データとして確保し、それ以外のk
- 1個のセットを使用して有趣的
またはpredfun
で指定されたモデルに学習させます。その後,crossval
は,検定デ,タと学習済みモデルを使用して,值
または犯错
を計算します。
名前と値のペアの4の引数(坚持
、KFold
、Leaveout
,および分区
)のう,いずれか1。
例:“KFold”,5
デ,タ型:单
|双
MCReps
- - - - - -モンテカルロ反復回数1
(既定値) |正の整数スカラ検証用のモンテカルロ反復回数。“MCReps”
と正の整数スカラ,から構成されるコンマ区切りのペアとして指定します。crossval
の最初の入力がmse的
または“宏”
である場合(标准
を参照),crossval
はすべてのモンテカルロ反復におけるmseまたは誤分類率の平均を返します。それ以外の場合,crossval
は,1番目の次元に沿ったすべてのモンテカルロ反復の値を連結します。
分区
とMCReps
の両方を指定した場合,最初のモンテカルロ反復では,cvpartition
オブジェクト内に含まれる分割情報が使用され,残りの各反復で新しい分割を作成するときに,ソフトウェアによってオブジェクト関数重新分区
が呼び出されます。
例:“MCReps”,5
デ,タ型:单
|双
分区
- - - - - -交差検証分割[]
(既定値) |cvpartition
分割オブジェクト交差検証分割。“分区”
と,cvpartition
で作成したcvpartition
分割オブジェクトから構成されるコンマ区切りのペアとして指定します。分割オブジェクトは,交差検証のタイプと、学習セットおよび検定セットのインデックス付けを指定します。
crossval
を使用する場合,分区
と分层
の両方を指定することはできません。cvpartition
分割オブジェクトを作成する場合は,代わりに層化区分を直接指定します。
分层
- - - - - -階層化に使用するグル,プを指定する変数階層化に使用するグル,プを指定する変数。“分层”
と,デ,タX
またはX1,…,XN
と同じ行数の列ベクトルから構成されるコンマ区切りのペアとして指定します。
分层
を指定した場合,学習セットと検定セットはどらも,クラスの比率が分层
とほぼ同じになります。分层
内の南
,空の文字ベクトル,空の字符串,< >失踪
値,および<定义>
値はソフトウェアによって欠損デ,タとして扱われ,デ,タの対応する行は無視されます。
分類アルゴリズムを使用して交差検証を行う場合は,階層化を使用することをお勧めします。それ以外の場合,検定セットによってはクラスの観測値がすべて含まれないことがあります。
crossval
を使用する場合,分区
と分层
の両方を指定することはできません。cvpartition
分割オブジェクトを作成する場合は,代わりに層化区分を直接指定します。
デ,タ型:单
|双
|逻辑
|字符串
|细胞
|分类
选项
- - - - - -並列計算と乱数ストリ,ム設定のオプション並列計算と乱数ストリ,ム設定のオプション。構造体として指定します。statset
を使用して选项
構造体を作成します。次の表は,オプションのフィールドとその値の一覧です。
フィ,ルド名 | 値 | 既定の設定 |
---|---|---|
UseParallel |
並列計算を行う場合は,この値を真正的 に設定します。 |
假 |
UseSubstreams |
再生可能な方法で並列計算する場合は,この値を 再現性のある計算を行うには, |
假 |
流 |
RandStream オブジェクトまたはそのようなオブジェクトで構成されるcell配列としてこの値を指定します。 |
流 を指定しなかった場合,crossval は既定のストリ,ムを使用します。 |
メモ
並列計算を行うには,并行计算工具箱™が必要です。
例:“选项”,statset (UseParallel,真的)
デ,タ型:结构体
犯错
-平均二乗誤差または誤分類率平均二乗誤差または誤分類率。数値スカラとして返されます。誤差のタイプは标准
の値によって異なります。
值
-損失値損失値。列ベクトルまたは行列として返されます。值
の各行は、学習デ、タと検定デ、タの1の分割に対する有趣的
の出力に対応します。
有趣的
によって返される出力が多次元の場合,crossval
は,值
の1の行に収まるように出力の形状を変更します。たとえば,交差検証を使用した混同行列の作成を参照してください。
分類アルゴリズムを使用して交差検証を行う場合は、階層化(分层
を参照)を使用することをお勧めします。それ以外の場合,検定セットによってはクラスの観測値がすべて含まれないことがあります。
predfun
の一般的な交差検証手順predfun
を使用する場合,関数crossval
は,通常,次のように10分割交差検証を実行します。
予測子デ,タX
と応答変数y
に含まれる観測値を,各グル,プの観測値の数がほぼ同じになるように10個のグル,プに分割します。
最後の9の観測値グルプを使用し,predfun
の指定に従ってモデルの学習を実行します。最初の観測値グル,プを検定デ,タとして使用します。この検定の予測子デ,タを学習済みのモデルに渡し,predfun
の指定に従って予測値を計算します。标准
で指定された誤差を計算します。
最初の観測値グルプと最後の8の観測値グルプを使用し,predfun
の指定に従ってモデルの学習を実行します。2番目の観測値グルプを検定デタとして使用します。この検定デ,タを学習済みのモデルに渡し,predfun
の指定に従って予測値を計算します。标准
で指定された誤差を計算します。
すべての観測値グル,プが検定デ,タとして1回のみ使用されるように,同様の方法で処理を行います。
スカラ,の犯错
として平均誤差推定値を返します。
有趣的
の一般的な交差検証手順有趣的
を使用する場合,関数crossval
は,通常,次のように10分割交差検証を実行します。
X
に含まれるデ,タを,各グル,プの観測値の数がほぼ同じになるように10個のグル,プに分割します。
最後の9のデタグルプを使用し,有趣的
の指定に従ってモデルの学習を実行します。最初のデ,タグル,プを検定セットとして使用します。この検定セットを学習済みのモデルに渡し,有趣的
の指定に従って値(損失など)を計算します。
最初のデタグルプと最後の8のデタグルプを使用し,有趣的
の指定に従ってモデルの学習を実行します。2番目のデタグルプを検定セットとして使用します。この検定セットを学習済みのモデルに渡し,有趣的
の指定に従って同じ値を計算します。
すべてのデータグループが検定セットとして1回のみ使用されるように,同様の方法で処理を行います。
計算された10個の値をベクトル值
として返します。
多くの分類関数や回帰関数では,交差検証を直接実行できます。
fitcsvm
、fitctree
,およびfitrtree
などの近似関数を使用する場合,名前と値のペアの引数を使用して交差検証のオプションを指定できます。または,これらの近似関数を使用してモデルをまず作成した後,オブジェクト関数crossval
を使用して,分割オブジェクトを作成することもできます。オブジェクト関数kfoldLoss
とkfoldPredict
を使用して,分割オブジェクトの損失値と予測値を計算します。詳細にいては,ClassificationPartitionedModel
とRegressionPartitionedModel
を参照してください。
並列実行するには,この関数を呼び出すときに名前と値の引数“选项”
を指定し,statset
を使用してオプション構造体の“UseParallel”
フィ,ルドを真正的
に設定します。
たとえば,次のようにします。“选项”,statset (UseParallel,真的)
並列計算の詳細にいては,自動並列サポトを使用したmatlab関数の実行(并行计算工具箱)を参照してください。
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。