99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀太厲害了!Seaborn也能做多種回歸分析,統(tǒng)統(tǒng)只需一行代碼
太厲害了!Seaborn也能做多種回歸分析,統(tǒng)統(tǒng)只需一行代碼
2021-07-07
收藏

來源:數(shù)據(jù)STUDIO

作者:云朵君

導(dǎo)讀: Seaborn就是讓困難的東西更加簡單。它是針對統(tǒng)計(jì)繪圖的,一般來說,能滿足數(shù)據(jù)分析90%的繪圖需求。Seaborn其實(shí)是在matplotlib的基礎(chǔ)上進(jìn)行了更高級(jí)的API封裝,從而使得作圖更加容易,同時(shí)它能高度兼容numpypandas數(shù)據(jù)結(jié)構(gòu)以及scipy與statsmodels等統(tǒng)計(jì)模式。

本文主要介紹回歸模型圖lmplot、線性回歸圖regplot,這兩個(gè)函數(shù)的核心功能很相似,都會(huì)繪制數(shù)據(jù)散點(diǎn)圖,并且擬合關(guān)于變量x,y之間的回歸曲線,同時(shí)顯示回歸的95%置信區(qū)間。

另一個(gè)是線性回歸殘差圖residplot,該函數(shù)繪制觀察點(diǎn)與回歸曲線上的預(yù)測點(diǎn)之間的殘差圖。

太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

數(shù)據(jù)準(zhǔn)備

所有圖形將使用股市數(shù)據(jù)--中國平安sh.601318歷史k線數(shù)據(jù)。

使用模塊及數(shù)據(jù)預(yù)處理

import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns import baostock as bs
bs.login()
result = bs.query_history_k_data('sh.601318', 
                                 fields = 'date,open,high, low,close,volume',
                                 start_date = '2020-01-01',
                                 end_date = '2021-05-01',
                                 frequency='d')
dataset = result.get_data().set_index('date').applymap(lambda x: float(x))
bs.logout()
dataset['Open_Close'] = (dataset['open'] - dataset['close'])/dataset['open']
dataset['High_Low'] = (dataset['high'] - dataset['low'])/dataset['low']
dataset['Increase_Decrease'] = np.where(dataset['volume'].shift(-1) > dataset['volume'],1,0)
dataset['Buy_Sell_on_Open'] = np.where(dataset['open'].shift(-1) > dataset['open'],1,0)
dataset['Buy_Sell'] = np.where(dataset['close'].shift(-1) > dataset['close'],1,0)
dataset['Returns'] = dataset['close'].pct_change()
dataset = dataset.dropna()
dataset['Up_Down'] = np.where(dataset['Returns'].shift(-1) > dataset['Returns'],'Up','Down')
dataset = dataset.dropna()
dataset.head()
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

一、回歸模型圖lmplot

lmplot是一種集合基礎(chǔ)繪圖與基于數(shù)據(jù)建立回歸模型的繪圖方法。通過lmplot我們可以直觀地總覽數(shù)據(jù)的內(nèi)在關(guān)系。顯示每個(gè)數(shù)據(jù)集的線性回歸結(jié)果,xy變量,利用'hue'、'col'、'row'參數(shù)來控制繪圖變量??梢园阉醋鞣诸惱L圖依據(jù)。

同時(shí)可以使用模型參數(shù)來調(diào)節(jié)需要擬合的模型:order、logistic、lowess、robust、logx。

1、線性回歸

lmplot繪制散點(diǎn)圖線性回歸擬合線非常簡單,只需要指定自變量和因變量即可,lmplot會(huì)自動(dòng)完成線性回歸擬合?;貧w模型的置信區(qū)間用回歸線周圍的半透明帶繪制。

lmplot 支持引入第三維度進(jìn)行對比,例如我們設(shè)置 hue="species"。

sns.lmplot(x="open",
           y="close",
           hue="Up_Down",
           data=dataset)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

2、局部加權(quán)線性回歸

局部加權(quán)回歸散點(diǎn)平滑法(locally weighted scatterplot smoothing,LOWESS),是一種非參數(shù)回歸擬合的方式,其主要思想是選取一定比例的局部數(shù)據(jù),擬合多項(xiàng)式回歸曲線,以便觀察到數(shù)據(jù)的局部規(guī)律和趨勢。通過設(shè)置參數(shù)lowess=True 。

局部加權(quán)線性回歸機(jī)器學(xué)習(xí)里的一種經(jīng)典的方法,彌補(bǔ)了普通線性回歸模型欠擬合或者過擬合的問題。其原理是給待預(yù)測點(diǎn)附近的每個(gè)點(diǎn)都賦予一定的權(quán)重,然后基于最小均方誤差進(jìn)行普通的線性回歸。局部加權(quán)中的權(quán)重,是根據(jù)要預(yù)測的點(diǎn)與數(shù)據(jù)集中的點(diǎn)的距離來為數(shù)據(jù)集中的點(diǎn)賦權(quán)值。當(dāng)某點(diǎn)離要預(yù)測的點(diǎn)越遠(yuǎn),其權(quán)重越小,否則越大。

局部加權(quán)線性回歸的優(yōu)勢就在于處理非線性關(guān)系的異方差問題。

lowess bool, 可選
如果為True,使用統(tǒng)計(jì)模型來估計(jì)非參數(shù)低成本模型(局部加權(quán)線性回歸)。這種方法具有最少的假設(shè),盡管它是計(jì)算密集型的,因此目前根本不計(jì)算置信區(qū)間。

sns.lmplot(x="open",
           y="close",
           hue="Up_Down",
           lowess=True,
           data=dataset)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

3、對數(shù)線性回歸模型

通過設(shè)置參數(shù)logx 完成線性回歸轉(zhuǎn)換對數(shù)線性回歸,其實(shí)質(zhì)上是完成了輸入空間x到輸出空間y非線性映射。

對數(shù)據(jù)做一些變換的目的是它能夠讓它符合我們所做的假設(shè),使我們能夠在已有理論上對其分析。對數(shù)變換(log transformation)是特殊的一種數(shù)據(jù)變換方式,它可以將一類我們理論上未解決的模型問題轉(zhuǎn)化為已經(jīng)解決的問題。

logx : bool, 可選
如果為True,則估計(jì)y ~ log(x)形式的線性回歸,在輸入空間中繪制散點(diǎn)圖和回歸模型。注意x必須是正的。

sns.lmplot(x="open",
           y="close",
           hue="Up_Down",
           data=dataset,
           logx=True)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

4、穩(wěn)健線性回歸

在有異常值的情況下,它可以使用不同的損失函數(shù)來減小相對較大的殘差,擬合一個(gè)健壯的回歸模型,傳入robust=True。

穩(wěn)健回歸是將穩(wěn)健估計(jì)方法用于回歸模型,以擬合大部分?jǐn)?shù)據(jù)存在的結(jié)構(gòu),同時(shí)可識(shí)別出潛在可能的離群點(diǎn)、強(qiáng)影響點(diǎn)或與模型假設(shè)相偏離的結(jié)構(gòu)。

穩(wěn)健回歸是統(tǒng)計(jì)學(xué)穩(wěn)健估計(jì)中的一種方法,其主要思路是將對異常值十分敏感的經(jīng)典最小二乘回歸中的目標(biāo)函數(shù)進(jìn)行修改。經(jīng)典最小二乘回歸以使誤差平方和達(dá)到最小為其目標(biāo)函數(shù)。因?yàn)?a href='/map/fangcha/' style='color:#000;font-size:inherit;'>方差為一不穩(wěn)健統(tǒng)計(jì)量,故最小二乘回歸是一種不穩(wěn)健的方法。

不同的目標(biāo)函數(shù)定義了不同的穩(wěn)健回歸方法。常見的穩(wěn)健回歸方法有:最小中位平方法、M估計(jì)法等。

hue, col, row : strings
定義數(shù)據(jù)子集的變量,并在不同的圖像子集中繪制

height : scalar, 可選
定義子圖的高度

col_wrap : int, 可選
設(shè)置每行子圖數(shù)量

n_boot int, 可選
用于估計(jì)的重采樣次數(shù)ci。默認(rèn)值試圖平衡時(shí)間和穩(wěn)定性。

ci int in [ 0,100 ]或None, 可選
回歸估計(jì)的置信區(qū)間的大小。這將使用回歸線周圍的半透明帶繪制。置信區(qū)間是使用bootstrap估算的;

robust bool, 可選
如果為True,則用于statsmodels估計(jì)穩(wěn)健的回歸。這將消除異常值的權(quán)重。并且由于使用引導(dǎo)程序計(jì)算回歸線周圍的置信區(qū)間,您可能希望將其關(guān)閉獲得更快的迭代速度(使用參數(shù)ci=None)或減少引導(dǎo)重新采樣的數(shù)量(n_boot)。

sns.lmplot(x="open",
           y="volume",
           data=dataset,
           hue="Increase_Decrease",
           col="Increase_Decrease", 
           # col|hue控制子圖不同的變量species            col_wrap=2,    
           height=4,      
           robust=True)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

5、多項(xiàng)式回歸

在存在高階關(guān)系的情況下,可以擬合多項(xiàng)式回歸模型來擬合數(shù)據(jù)集中的簡單類型的非線性趨勢。通過傳入?yún)?shù)order大于1,此時(shí)使用numpy.Polyfit估計(jì)多項(xiàng)式回歸的方法。

多項(xiàng)式回歸是回歸分析的一種形式,其中自變量 x 和因變量 y 之間的關(guān)系被建模為關(guān)于 x 的 次多項(xiàng)式。多項(xiàng)式回歸擬合x的值與 y 的相應(yīng)條件均值之間的非線性關(guān)系,表示為 ,被用于描述非線性現(xiàn)象。

雖然多項(xiàng)式回歸是擬合數(shù)據(jù)的非線性模型,但作為統(tǒng)計(jì)估計(jì)問題,它是線性的。在某種意義上,回歸函數(shù) 在從數(shù)據(jù)估計(jì)到的未知參數(shù)中是線性的。因此,多項(xiàng)式回歸被認(rèn)為是多元線性回歸的特例。

order : int, 可選
多項(xiàng)式回歸,設(shè)定指數(shù)

sns.lmplot(x="close",
           y="volume",
           data=dataset,
           hue="Increase_Decrease",
           col="Up_Down"# col|hue控制子圖不同的變量species            col_wrap=2,    # col_wrap控制每行子圖數(shù)量            height=4,      # height控制子圖高度            order=3        # 多項(xiàng)式最高次冪           )
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

6、邏輯回歸

Logistic回歸是一種廣義線性回歸logistic回歸的因變量可以是二分類的,也可以是多分類的,但是二分類的更為常用,也更加容易解釋,多類可以使用softmax方法進(jìn)行處理。

實(shí)際中最為常用的就是二分類logistic回歸。

{x,y}_jitter floats, 可選
在x或y變量中加入這個(gè)大小的均勻隨機(jī)噪聲。對回歸擬合后的數(shù)據(jù)副本添加噪聲,只影響散點(diǎn)圖的外觀。這在繪制取離散值的變量時(shí)很有用。

logistic bool, 可選
如果為True,則假定y是一個(gè)二元變量,并使用統(tǒng)計(jì)模型來估計(jì)logistic回歸模型。并且由于使用引導(dǎo)程序計(jì)算回歸線周圍的置信區(qū)間,您可能希望將其關(guān)閉獲得更快的迭代速度(使用參數(shù)ci=None)或減少引導(dǎo)重新采樣的數(shù)量(n_boot)。

# 制作具有性別色彩的自定義調(diào)色板 pal = dict(Up= "#6495ED", Down= "#F08080") # 買賣隨開盤價(jià)與漲跌變化 g = sns.lmplot(x= "open", y= "Buy_Sell", col= "Up_Down", hue= "Up_Down", 
               data=dataset,
               palette=pal, 
               y_jitter= .02, # 回歸噪聲                logistic= True)邏輯回歸模型 
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

二、線性回歸圖regplot

Lmplot()regplot()與兩個(gè)函數(shù)之間的主要區(qū)別是regplot()接受變量的類型可以是numpy數(shù)組、pandas序列(Series)?;蛘咧苯訉?span style="font-weight:700;">data傳入pandas DataFrame對象數(shù)據(jù)。而lmplot()data參數(shù)是必須的,且變量必須為字符串。

1、線性回歸

繪制連續(xù)型數(shù)據(jù)并擬合線性回歸模型。

fit_reg bool,可選
如果為True,則估計(jì)并繪制與x 和y變量相關(guān)的回歸模型。

ci int in [ 0,100 ]或None,可選
回歸估計(jì)的置信區(qū)間的大小。這將使用回歸線周圍的半透明帶繪制。置信區(qū)間是使用自舉估算的;對于大型數(shù)據(jù)集,建議將此參數(shù)設(shè)置為"None",以避免該計(jì)算。

scatter bool,可選
如果為True,則繪制一個(gè)散點(diǎn)圖,其中包含基礎(chǔ)觀察值(或x_estimator值)。

# 繪制線性回歸擬合曲線 f, ax = plt.subplots(figsize=(8,6))
sns.regplot(x="Returns",
            y="volume",
            data=dataset,
            fit_reg=True,
            ci = 95,
            scatter=True, 
            ax=ax)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

除了可以接受連續(xù)型數(shù)據(jù),也可接受離散型數(shù)據(jù)。將連續(xù)變量離散化,并在每個(gè)獨(dú)立的數(shù)據(jù)分組中對觀察結(jié)果進(jìn)行折疊,以繪制中心趨勢的估計(jì)以及置信區(qū)間。

x_estimator callable映射向量->標(biāo)量,可選
將此函數(shù)應(yīng)用于的每個(gè)唯一值,x并繪制得出的估計(jì)值。當(dāng)x是離散變量時(shí),這很有用。如果x_ci給出,該估計(jì)將被引導(dǎo),并得出一個(gè)置信區(qū)間。

x_bins int或vector,可選
將x變量分為離散的bin,然后估計(jì)中心趨勢和置信區(qū)間。這種裝箱僅影響散點(diǎn)圖的繪制方式;回歸仍然適合原始數(shù)據(jù)。該參數(shù)可以解釋為均勻大?。ú槐匾g隔)的垃圾箱數(shù)或垃圾箱中心的位置。使用此參數(shù)時(shí),表示默認(rèn) x_estimator為numpy.mean。

x_ci “ ci”,“ sd”,[ 0,100 ]中的int或None,可選
繪制離散值的集中趨勢時(shí)使用的置信區(qū)間的大小x。如果為"ci",則遵循ci參數(shù)的值 。如果為"sd",則跳過引導(dǎo)程序,并在每個(gè)箱中顯示觀測值的標(biāo)準(zhǔn)偏差。

f, ax = plt.subplots(1,2,figsize=(15,6))
sns.regplot(x="Returns",
            y="volume",
            data=dataset,
            x_bins=10,
            x_ci="ci",
            ax=ax[0])
# 帶有離散x變量的圖,顯示了唯一值的方差和置信區(qū)間:
sns.regplot(x="Returns",
            y="volume",
            data=dataset,
            x_bins=10,
            x_ci='sd',
            ax=ax[1])
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

2、多項(xiàng)式回歸

order : int, 可選
多項(xiàng)式回歸,設(shè)定指數(shù)

sns.regplot(x="open",
            y="close",
            data=dataset.loc[dataset.Up_Down == "Up"],
            scatter_kws={"s": 80},
            order=5, ci=None)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

3、邏輯回歸

{x,y}_jitter floats, 可選
將相同大小的均勻隨機(jī)噪聲添加到x或y 變量中。擬合回歸后,噪聲會(huì)添加到數(shù)據(jù)副本中,并且只會(huì)影響散點(diǎn)圖的外觀。在繪制采用離散值的變量時(shí),這可能會(huì)有所幫助。

n_boot int, 可選
用于估計(jì)ci的bootstrap重樣本數(shù)。默認(rèn)值試圖平衡時(shí)間和穩(wěn)定性。

sns.regplot(x= "volume", 
            y= "Increase_Decrease",
            data=dataset,
            logistic=True, 
            n_boot=500, 
            y_jitter=.03,)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

4、對數(shù)線性回歸

logx bool, 可選
如果為True,則估計(jì)y ~ log(x)形式的線性回歸,但在輸入空間中繪制散點(diǎn)圖和回歸模型。注意x必須是正的,這個(gè)才能成立。

sns.regplot(x="open",
            y="volume",
            data=dataset.loc[dataset.Up_Down == "Up"],
            x_estimator=np.mean, 
            logx=True)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

5、穩(wěn)健線性回歸

robust 布爾值,可選
擬合穩(wěn)健的線性回歸

sns.regplot(x="open",
            y="Returns",
            data=dataset.loc[dataset.Up_Down == "Up"],
            scatter_kws={"s"80},
            robust=True, ci=None)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

三、線性回歸殘差圖residplot

residplot()用于檢查簡單的回歸模型是否擬合數(shù)據(jù)集。它擬合并移除一個(gè)簡單的線性回歸,然后繪制每個(gè)觀察值的殘差值。通過觀察數(shù)據(jù)的殘差分布是否具有結(jié)構(gòu)性,若有則這意味著我們當(dāng)前選擇的模型不是很適合。

1、線性回歸的殘差

此函數(shù)將對x進(jìn)行y回歸(可能作為穩(wěn)健或多項(xiàng)式回歸),然后繪制殘差的散點(diǎn)圖??梢赃x擇將最低平滑度擬合到殘差圖,這可以幫助確定殘差是否存在結(jié)構(gòu)

lowess 布爾值,可選
在殘留散點(diǎn)圖上安裝最低平滑度的平滑器。

# 擬合線性模型后繪制殘差,lowess平滑 x=dataset.open
y=dataset.Returns
sns.residplot(x=x, y=y, 
              lowess=True, 
              color="g")
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

2、穩(wěn)健回歸殘差圖

robust bool,可選
計(jì)算殘差時(shí),擬合穩(wěn)健的線性回歸。

sns.residplot(x="open",
              y="Returns",
              data=dataset.loc[dataset.Up_Down == "Up"],
              robust=True,
              lowess=True)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

3、多項(xiàng)式回歸殘差圖

order int,可選
計(jì)算殘差時(shí)要擬合的多項(xiàng)式的階數(shù)。

sns.residplot(x="open",
              y="close",
              data=dataset.loc[dataset.Up_Down == "Up"],
              order=3,
              lowess=True)
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

四、其他背景中添加回歸

1、jointplot

jointplot()函數(shù)在其他更大、更復(fù)雜的圖形背景中使用regplot()。jointplot()可以通過kind="reg"來調(diào)用regplot()繪制線性關(guān)系。

sns.jointplot("open",
              "Returns",
              data=dataset, 
              kind='reg') # 設(shè)置kind="reg"為添加線性回歸擬合 #(使用regplot())和單變量KDE曲線 
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

jointplot()可以通過kind="resid"來調(diào)用residplot()繪制具有單變量邊際分布。

sns.jointplot(x="open", 
              y="close", 
              data=dataset, 
              kind="resid")
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

2、pairplot

pairplot()傳入kind="reg"參數(shù)則會(huì)融合regplot()PairGrid來展示變量間的線性關(guān)系。注意這里和lmplot()的區(qū)別,lmplot()繪制的行(或列)是將一個(gè)變量的多個(gè)水平(分類、取值)展開,而在這里,PairGrid則是繪制了不同變量之間的線性關(guān)系。

sns.pairplot(dataset, 
             x_vars=["open""close"], 
             y_vars=["Returns"],
             height=5, 
             aspect=.8,
             kind="reg");
太厲害了!Seaborn也能做多種<a href='/map/huiguifenxi/' style='color:#000;font-size:inherit;'>回歸分析</a>,統(tǒng)統(tǒng)只需一行代碼

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }