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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀大數(shù)據(jù)挖掘中的三種角色_數(shù)據(jù)分析師考試
大數(shù)據(jù)挖掘中的三種角色_數(shù)據(jù)分析師考試
2015-07-29
收藏

數(shù)據(jù)挖掘中的三種角色_數(shù)據(jù)分析師考試


我對(duì)數(shù)據(jù)挖掘機(jī)器學(xué)習(xí)是新手,從去年7月份在Amazon才開(kāi)始接觸,而且還是因?yàn)楣ぷ餍枰粍?dòng)接觸的,以前都沒(méi)有接觸過(guò),做的是需求預(yù)測(cè)機(jī)器學(xué)習(xí)相關(guān)的。后來(lái),到了淘寶后,自己憑興趣主動(dòng)地做了幾個(gè)月的和用戶地址相關(guān)數(shù)據(jù)挖掘上的工作,有一些淺薄的心得。不管怎么樣,歡迎指教和討論。

另外,注明一下,這篇文章的標(biāo)題模仿了一個(gè)美劇《權(quán)力的游戲:冰與火之歌》。在數(shù)據(jù)的世界里,我們看到了很多很牛,很強(qiáng)大也很有趣的案例。但是,數(shù)據(jù)就像一個(gè)王座一樣,像征著一種權(quán)力和征服,但登上去的路途一樣令人膽顫。

數(shù)據(jù)挖掘中的三種角色

在Amazon里從事機(jī)器學(xué)習(xí)的工作時(shí),我注意到了Amazon玩數(shù)據(jù)的三種角色。

Data Analyzer:數(shù)據(jù)分析員。這類(lèi)人的人主要是分析數(shù)據(jù)的,從數(shù)據(jù)中找到一些規(guī)則,并且為了數(shù)據(jù)模型的找不同場(chǎng)景的Training Data。另外,這些人也是把一些臟數(shù)據(jù)洗干凈的的人。

Research Scientist:研究科學(xué)家。這種角色主要是根據(jù)不同的需求來(lái)建立數(shù)據(jù)模型的。他們把自己戲稱為不近人間煙火的奇異性物種,就像《生活大爆炸》里的那個(gè)Sheldon一樣。這些人基本上玩的是數(shù)據(jù)上的科學(xué)

Software Developer:軟件開(kāi)發(fā)工程師。主要是把Scientist建立的數(shù)據(jù)模型給實(shí)現(xiàn)出來(lái),交給Data Analyzer去玩。這些人通常更懂的各種機(jī)器學(xué)習(xí)的算法。

我相信其它公司的做數(shù)據(jù)挖掘或是機(jī)器學(xué)習(xí)的也就這三種工作,或者說(shuō)這三種人,對(duì)于我來(lái)說(shuō),

最有技術(shù)含量的是Scientist,因?yàn)?a href='/map/shujujianmo/' style='color:#000;font-size:inherit;'>數(shù)據(jù)建模和抽取最有意義的向量,以及選取不同的方法都是這類(lèi)人來(lái)決定的。這類(lèi)人,我覺(jué)得在國(guó)內(nèi)是找不到的。

最苦逼,也最累,但也最重要的是Data Analyzer,他們的活也是這三個(gè)角色中最最最重要的(注意:我用了三個(gè)最)。因?yàn)?,無(wú)論你的模型你的算法再怎么牛,在一堆爛數(shù)據(jù)上也只能干出一堆垃圾的活來(lái)。正所謂:Garbage In, Garbage Out!但是這個(gè)活是最臟最累的活,也是讓人最容易退縮的活。

最沒(méi)技術(shù)含量的是Software Developer?,F(xiàn)在國(guó)內(nèi)很多玩數(shù)據(jù)的都以為算法最重要,并且,很多技術(shù)人員都在研究機(jī)器學(xué)習(xí)的算法。錯(cuò)了,最重要的是上面兩個(gè)人,一個(gè)是苦逼地洗數(shù)據(jù)的Data Analyzer,另一個(gè)是真正懂得數(shù)據(jù)建模的Scientist!而像什么K-Means,K Nearest Neighbor,或是別的什么貝葉斯、回歸、決策樹(shù)、隨機(jī)森林等這些玩法,都很成熟了,而且又不是人工智能,說(shuō)白了,這些算法在機(jī)器學(xué)習(xí)數(shù)據(jù)挖掘中,似乎就像Quick Sort之類(lèi)的算法在軟件設(shè)計(jì)中基本沒(méi)什么技術(shù)含量。當(dāng)然,我不是說(shuō)算法不重要,我只想說(shuō)這些算法在整個(gè)數(shù)據(jù)處理中是最不重要的。

數(shù)據(jù)的質(zhì)量

目前所流行的Buzz Word——大數(shù)據(jù)是相當(dāng)誤導(dǎo)人的。在我眼中,數(shù)據(jù)不分大小,只分好壞。

在處理數(shù)據(jù)的過(guò)程中,我第一個(gè)感受最大的就是數(shù)據(jù)質(zhì)量。下面我分幾個(gè)案例來(lái)說(shuō)明:

案例一:數(shù)據(jù)的標(biāo)準(zhǔn)

在Amazon里,所有的商品都有一個(gè)唯一的ID,叫ASIN——Amazon Single Identify Number,這個(gè)ID是用來(lái)標(biāo)識(shí)商品的唯一性的(來(lái)自于條形碼)。也就是說(shuō),無(wú)論是你把商品描述成什么樣,只要ASIN一樣,這就是完完全全一模一樣的商品。

這樣,就不像淘寶一樣,當(dāng)你搜索一個(gè)iPhone,你會(huì)出現(xiàn)一堆各種各樣的iPhone,有的叫“超值iPhone”,有的叫“蘋(píng)果iPhone”,有的叫“智能手機(jī)iPhone”,有的叫“iPhone白色/黑色”……,這些同一個(gè)商品不同的描述是商家為了吸引用戶。但是帶來(lái)的問(wèn)題有兩點(diǎn):

1)用戶體驗(yàn)不好。以商品為中心的業(yè)務(wù)模型,對(duì)于消費(fèi)者來(lái)說(shuō),體驗(yàn)明顯好于以商家為中心的業(yè)務(wù)模型。

2)只要你不能正確讀懂(識(shí)別)數(shù)據(jù),你后面的什么算法,什么模型統(tǒng)統(tǒng)沒(méi)用。

所以,只要你玩數(shù)據(jù),你就會(huì)發(fā)現(xiàn),如果數(shù)據(jù)的標(biāo)準(zhǔn)沒(méi)有建立起來(lái),干什么都沒(méi)用。數(shù)據(jù)標(biāo)準(zhǔn)是數(shù)據(jù)質(zhì)量的第一道關(guān)卡,沒(méi)這個(gè)玩意,你就什么也別玩了。所謂數(shù)據(jù)的標(biāo)準(zhǔn),為數(shù)據(jù)做唯一標(biāo)識(shí)只是其中最最基礎(chǔ)的一步,數(shù)據(jù)的標(biāo)準(zhǔn)還單單只是這個(gè),更重要的是把數(shù)據(jù)的標(biāo)準(zhǔn)抽象成數(shù)學(xué)向量,沒(méi)有數(shù)學(xué)向量,后面也無(wú)法挖掘。

所以,你會(huì)看到,洗數(shù)據(jù)的大量的工作就是在把雜亂無(wú)章的數(shù)據(jù)歸并聚合,這就是在建立數(shù)據(jù)標(biāo)準(zhǔn)。這里面絕對(duì)少不了人肉的工作。無(wú)非就是:

聰明的人在數(shù)據(jù)產(chǎn)生之前就定義好標(biāo)準(zhǔn),并在數(shù)據(jù)產(chǎn)生之時(shí)就在干數(shù)據(jù)清洗的工作。

一般的人是在數(shù)據(jù)產(chǎn)生并大量堆積之后,才來(lái)干這個(gè)事。

另外,說(shuō)一下Amazon的ASIN,這個(gè)事從十多年前就開(kāi)始了,我在Amazon的內(nèi)網(wǎng)里看到的資料并沒(méi)有說(shuō)為什么搞了個(gè)這樣一個(gè)ID,我倒覺(jué)得這并不是因?yàn)锳mazon因?yàn)橥鏀?shù)據(jù)發(fā)現(xiàn)必需建議個(gè)商品ID,也許因?yàn)锳mazon的業(yè)務(wù)模型就是設(shè)計(jì)成以“商品為中心”的。今天,這個(gè)ASIN依然有很多很多的問(wèn)題,ASIN一樣不能完全保證商品就是一樣的,ASIN不一樣也不代表商品不一樣,不過(guò)90%以上的商品是保證的。Amazon有專(zhuān)門(mén)的團(tuán)隊(duì)Category Team,里面有很多業(yè)務(wù)人員天天都在拼命地在對(duì)ASIN的數(shù)據(jù)進(jìn)行更正。

案例二:數(shù)據(jù)的準(zhǔn)確

用戶地址是我從事過(guò)數(shù)據(jù)分析的另一個(gè)事情。我還記得當(dāng)時(shí)看到那數(shù)以億計(jì)的用戶地址的數(shù)據(jù)的那種興奮。但是隨后我就興奮不起來(lái)了。因?yàn)榈刂肥怯脩糇约禾顚?xiě)的,這里面有很多的坑,都不是很容易做的。

第一個(gè)是假/錯(cuò)地址,因?yàn)橛械纳碳易鞅谆蚴怯脩糇鰷y(cè)試。所以地址是錯(cuò)的,

比如,直接就輸入“該地址不存在”,“13243234asdfasdi”之類(lèi)的。這類(lèi)的地址是可以被我的程序識(shí)別出來(lái)的。

還有很難被我的程序所識(shí)別出來(lái)的。比如:“宇宙路地球小區(qū)”之類(lèi)的。但這類(lèi)地址可以被人識(shí)別出來(lái)。

還有連人都識(shí)別不出來(lái)的,比如:“北京市東四環(huán)中路23號(hào)南航大廈5樓540室”,這個(gè)地址根本不存在。

第二個(gè)是真地址,但是因?yàn)橛脩魧?xiě)的不標(biāo)準(zhǔn),所以很難處理,比如:

縮寫(xiě):“建國(guó)門(mén)外大街”和“建外大街”,“中國(guó)工商銀行”和“工行”……

錯(cuò)別字:“潮陽(yáng)門(mén)”,“通慧河”……

顛倒:“東四環(huán)中路朝陽(yáng)公園”和“朝陽(yáng)公園(靠東四環(huán))”……

別名:有的人寫(xiě)的是開(kāi)發(fā)商的小區(qū)名“東恒國(guó)際”,有的則是寫(xiě)行政的地名“八里莊東里”……

這樣的例子多得不能再多了??梢?jiàn)數(shù)據(jù)如果不準(zhǔn)確,會(huì)增加你處理的難度。有個(gè)比喻非常好,玩數(shù)據(jù)的就像是在挖金礦一樣,如果含金量高,那么,挖掘的難度就小,也就容易出效果,如果含金量低,那么挖掘的難度就大,效果就差。

上面,我給了兩個(gè)案例,旨在說(shuō)明——

1)數(shù)據(jù)沒(méi)有大小之分,只有含金量大的數(shù)據(jù)和垃圾量大的數(shù)據(jù)之分。

2)數(shù)據(jù)清洗是一件多么重要的工作,這也是一件人肉工作量很大的工作。

所以,這個(gè)工作最好是在數(shù)據(jù)產(chǎn)生的時(shí)候就一點(diǎn)一滴的完成。

有一個(gè)觀點(diǎn):如果數(shù)據(jù)準(zhǔn)確度在60%的時(shí)候,你干出來(lái)的事,一定會(huì)被用戶罵!如果數(shù)據(jù)準(zhǔn)確度在80%左右,那么用戶會(huì)說(shuō),還不錯(cuò)!只有數(shù)據(jù)準(zhǔn)確度到了90%的時(shí)候,用戶才會(huì)覺(jué)得真牛B。但是從數(shù)據(jù)準(zhǔn)確度從80%到90%要付出的成本要比60%到80%的付出大得多得多。大多數(shù)據(jù)的數(shù)據(jù)挖掘團(tuán)隊(duì)都會(huì)止步于70%這個(gè)地方。因?yàn)椋偻?,這就是一件相當(dāng)累的活。

數(shù)據(jù)的業(yè)務(wù)場(chǎng)景

我不知道有多少數(shù)據(jù)挖掘團(tuán)隊(duì)真正意識(shí)到了業(yè)務(wù)場(chǎng)景和數(shù)據(jù)挖掘的重要關(guān)系?我們需要知道,根本不可能做出能夠滿足所有業(yè)務(wù)的數(shù)據(jù)挖掘和分析模型。

推薦音樂(lè)視頻,和電子商務(wù)中的推薦商品的場(chǎng)景完全不一樣。電商中,只要你買(mǎi)了一個(gè)東西沒(méi)有退貨,那么,有很大的概率我可以相信你是喜歡這個(gè)東西的,然后,對(duì)于音樂(lè)和視頻,你完全不能通過(guò)用戶聽(tīng)了這首歌或是看了這個(gè)視頻就武斷地覺(jué)得用戶是喜歡這首歌和這個(gè)視頻的,所以,我們可以看到,推薦算法在不同的業(yè)務(wù)場(chǎng)景下的實(shí)現(xiàn)難度也完全不一樣。

說(shuō)到推薦算法,你是不是和我一樣,有時(shí)候會(huì)對(duì)推薦有一種感覺(jué)——推薦就是一種按不同維度的排序的算法。我個(gè)人以為,就提一下推薦這個(gè)東西在某些業(yè)務(wù)場(chǎng)景下是比較Tricky的,比如,推薦有兩種(不是按用戶關(guān)系和按物品關(guān)系這兩種),

一種是共性化推薦,結(jié)果就是推薦了流行的東西,這也許是好的,但這也許會(huì)是用戶已知的東西,比如,到了北京,我想找個(gè)飯館,你總是給我推薦烤鴨,我想去個(gè)地方,你總是給我推薦天安門(mén)故宮天壇(因?yàn)榇蠖鄶?shù)人來(lái)北京就是吃烤鴨,就是去天安門(mén)的),這些我不都知道了嘛,還要你來(lái)推薦?另外,共性化的東西通常是可以被水軍刷的。

另一種是一種是個(gè)性化推薦,這個(gè)需要分析用戶的個(gè)體喜好,好的就是總是給我我喜歡的,不好的就是也許我的口味會(huì)隨我的年齡和環(huán)境所改變,而且,總是推薦符合用戶口味的,不能幫用戶發(fā)掘新鮮點(diǎn)。比如,我喜歡吃辣的,你總是給我推薦川菜和湘菜,時(shí)間長(zhǎng)了我也會(huì)覺(jué)得煩的。

推薦有時(shí)并不是民主投票,而是專(zhuān)業(yè)用戶或資深玩家的建議;推薦有時(shí)并不是推薦流行的,而是推薦新鮮而我不知道的。你可以看到,不同的業(yè)務(wù)場(chǎng)景,不同的產(chǎn)品形態(tài)下的玩法可能完全不一樣,

另外,就算是對(duì)于同一個(gè)電子商務(wù)來(lái)說(shuō),書(shū)、手機(jī)和服裝的業(yè)務(wù)形態(tài)完全不一樣。我之前在Amazon做Demand Forecasting(用戶需求預(yù)測(cè))——通過(guò)歷史數(shù)據(jù)來(lái)預(yù)測(cè)用戶未來(lái)的需求。

對(duì)于書(shū)、手機(jī)、家電這些東西,在Amazon里叫Hard Line的產(chǎn)品,你可以認(rèn)為是“標(biāo)品”(但也不一定),預(yù)測(cè)是比較準(zhǔn)的,甚至可以預(yù)測(cè)到相關(guān)的產(chǎn)品屬性的需求。

但是地于服裝這樣的叫Soft Line的產(chǎn)品,Amazon干了十多年都沒(méi)有辦法預(yù)測(cè)得很好,因?yàn)檫@類(lèi)東西受到的干擾因素太多了,比如:用戶的對(duì)顏色款式的喜好,穿上去合不合身,愛(ài)人朋友喜不喜歡……這類(lèi)的東西太容易變了,買(mǎi)得人多了反而會(huì)賣(mài)不好,所以根本沒(méi)法預(yù)測(cè)好,更別Stock/Vender Manager提出來(lái)的“預(yù)測(cè)某品牌的某種顏色的衣服或鞋子”。

對(duì)于需求的預(yù)測(cè),我發(fā)現(xiàn),長(zhǎng)期在這個(gè)行業(yè)中打拼的人的預(yù)測(cè)是最準(zhǔn)的,什么機(jī)器學(xué)習(xí)都是浮云。機(jī)器學(xué)習(xí)只有在你要面對(duì)的是成千上萬(wàn)種不同商品和品類(lèi)的時(shí)候才會(huì)有意義。

數(shù)據(jù)挖掘不是人工智能,而且差得還太遠(yuǎn)。不要覺(jué)得數(shù)據(jù)挖掘什么事都能干,找到一個(gè)合適的業(yè)務(wù)場(chǎng)景和產(chǎn)品形態(tài),比什么都重要。

數(shù)據(jù)的分析結(jié)果

我看到很多的玩大數(shù)據(jù)的,基本上干的是數(shù)據(jù)統(tǒng)計(jì)的事,從多個(gè)不同的維度來(lái)統(tǒng)計(jì)數(shù)據(jù)的表現(xiàn)。最簡(jiǎn)單最常見(jiàn)的統(tǒng)計(jì)就是像網(wǎng)站統(tǒng)計(jì)這樣的事。比如:PV是多少,UV是多少,來(lái)路是哪里,瀏覽器、操作系統(tǒng)、地理、搜索引擎的分布,等等,等等。

嘮叨一句,千萬(wàn)不要以為,你一天有十幾個(gè)T的日志就是數(shù)據(jù)了,也不要以為你會(huì)用Hadoop/MapReduce分析一下日志,這就是數(shù)據(jù)挖掘了,說(shuō)得難聽(tīng)一點(diǎn),你在做的只不過(guò)是一個(gè)統(tǒng)計(jì)的工作。那幾個(gè)T的Raw Data,基本上來(lái)說(shuō)沒(méi)什么意義,只能叫日志,連數(shù)據(jù)都算不上,只有你統(tǒng)計(jì)出來(lái)的這些數(shù)據(jù)才是有點(diǎn)意義的,才能叫數(shù)據(jù)。

當(dāng)一個(gè)用戶在面對(duì)著自己網(wǎng)店的數(shù)據(jù)的時(shí)候,比如:每千人有5個(gè)人下單,有65%的訪客是男的,18-24歲的人群有30%,等等。甚至你給出了,你打敗了40%同類(lèi)型商家的這樣的數(shù)據(jù)。作為一個(gè)商戶,面對(duì)這些數(shù)據(jù)時(shí),大多數(shù)人的表現(xiàn)是完全不知道自己能干什么?是把網(wǎng)站改得更男性一點(diǎn),還是讓年輕人更喜歡一點(diǎn)?完全不知道所措。

只要你去看一看,你會(huì)發(fā)現(xiàn),好些好些的數(shù)據(jù)分析出來(lái)的結(jié)果,看上去似乎不錯(cuò),但是其實(shí)完全不知道下一步該干什么?

所以,我覺(jué)得,數(shù)據(jù)分析的結(jié)果并不僅僅只是把數(shù)據(jù)呈現(xiàn)出來(lái),而更應(yīng)該關(guān)注的是通過(guò)這些數(shù)據(jù)后面可以干什么?如果看了數(shù)據(jù)分析的結(jié)果后并不知道可以干什么,那么這個(gè)數(shù)據(jù)分析是失敗的。

總結(jié)

綜上所述,下面是我覺(jué)得數(shù)據(jù)挖掘機(jī)器學(xué)習(xí)最重要的東西:

1)數(shù)據(jù)的質(zhì)量。分為數(shù)據(jù)的標(biāo)準(zhǔn)和數(shù)據(jù)的準(zhǔn)確。數(shù)據(jù)中的雜音要盡量地排除掉。為了數(shù)據(jù)的質(zhì)量,大量人肉的工作少不了。

2)數(shù)據(jù)的業(yè)務(wù)場(chǎng)景。我們不可能做所有場(chǎng)景下的來(lái),所以,業(yè)務(wù)場(chǎng)景和產(chǎn)品形態(tài)很重要,我個(gè)人感覺(jué)業(yè)務(wù)場(chǎng)景越窄越好。

3)數(shù)據(jù)的分析結(jié)果,要讓人能看得懂,知道接下來(lái)要干什么,而不是為了數(shù)據(jù)而數(shù)據(jù)。

數(shù)據(jù)挖掘的人很多,但成功的案例卻不多(相比起大量的嘗試來(lái)說(shuō)),就目前而言,我似乎覺(jué)得目前的數(shù)據(jù)挖掘的技術(shù)是一種過(guò)渡技術(shù),還在摸索階段。另外,好些數(shù)據(jù)挖掘的團(tuán)隊(duì)搞得業(yè)務(wù)不業(yè)務(wù),技術(shù)不技術(shù)的,為其中的技術(shù)人員感到惋惜……

不好意思,我只給出了問(wèn)題,沒(méi)有建議,這也說(shuō)明數(shù)據(jù)分析中有很多的機(jī)會(huì)……

最后,還要提的一個(gè)是“數(shù)據(jù)中的個(gè)人隱私問(wèn)題”,這似乎就像那些有悖倫理的黑魔法一樣,你要成功就得把自己變得黑暗。是的,數(shù)據(jù)就像一個(gè)王座一樣,像征著一種權(quán)力和征服,但登上去的路途一樣令人膽顫。

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

若不方便掃碼,搜微信號(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)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(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ù)說(shuō)明請(qǐng)參見(jiàn):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 = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+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); }