一个色的导航资源精品在线观看|手机看片在线精品视频|伊人亚洲成人电影|亚洲欧美在线男女|无码无码在线观看五月精品视频在线|超碰日韩欧美在线|午夜精品蜜桃一区二区久久久|91欧美动态国产精品女主播|色欲色香天天天综合网在线观看免费|伊人春色在线伊人

薪酬專(zhuān)員的薪酬類(lèi)型?

時(shí)間:2024-07-21 21:31 人氣:0 編輯:admin

一、薪酬專(zhuān)員的薪酬類(lèi)型?

有直接貨幣薪酬、間接貨幣薪酬和其他的貨幣薪酬。其中直接薪酬包括工資、福利、獎(jiǎng)金、獎(jiǎng)品、津貼等;間接薪酬包括養(yǎng)老保險(xiǎn)、醫(yī)療保險(xiǎn)、失業(yè)保險(xiǎn)、工傷及遺屬保險(xiǎn)、住房公積金、餐飲等;其他貨幣性薪酬包括有薪假期、休假日、病事假等。

二、薪酬管理中薪酬窄帶含義?

  窄帶薪酬,是通過(guò)崗位定薪的方式來(lái)確定薪酬級(jí)別,這種薪酬制度級(jí)別多、幅度小,薪酬制度的靈活性和適應(yīng)性不足,適合層級(jí)組織結(jié)構(gòu),傳統(tǒng)的勞動(dòng)密集型企業(yè)。而寬帶薪酬是以員工績(jī)效和技能為驅(qū)動(dòng)來(lái)設(shè)定薪酬水平的,這種薪酬制度級(jí)別少、幅度大,薪酬制度的靈活性和適應(yīng)性強(qiáng),適合現(xiàn)代企業(yè)組織結(jié)構(gòu)扁平化的趨勢(shì),適合知識(shí)型企業(yè)。

  寬帶薪酬,是一種新型的薪酬結(jié)構(gòu)設(shè)計(jì)方式,是對(duì)傳統(tǒng)的帶有大量等級(jí)層次的垂直型薪酬結(jié)構(gòu)的一種改進(jìn)或替代。

三、薪酬體系和薪酬制度的區(qū)別?

薪酬體系是指薪酬的構(gòu)成,即一個(gè)人的工作報(bào)酬由哪幾部分構(gòu)成。一般而言:?jiǎn)T工的薪酬包括以下幾大主要部分:基本薪酬(即本薪)、獎(jiǎng)金、津貼、福利四大部分。 薪酬管理是指在組織發(fā)展戰(zhàn)略指導(dǎo)下,對(duì)員工薪酬支付原則、薪酬策略、薪酬水平、薪酬結(jié)構(gòu)、薪酬構(gòu)成進(jìn)行確定、分配和調(diào)整的動(dòng)態(tài)管理過(guò)程。 薪酬體系是人力資源管理六大板塊薪酬管理中的一部分。

四、薪酬等級(jí)及薪酬標(biāo)準(zhǔn)表?

薪酬等級(jí)表是薪酬設(shè)計(jì)的基礎(chǔ)文件,公司所有員工崗位工資必定對(duì)應(yīng)某個(gè)等級(jí),3PM薪酬設(shè)計(jì)薪酬等級(jí)表有3種形式:等比薪酬等級(jí)表、等額薪酬等級(jí)表、系數(shù)薪酬等級(jí)表。

等比薪酬等級(jí)表即各薪級(jí)之間崗位工資是按比例增長(zhǎng)的,這種薪酬等級(jí)表適合薪酬等比調(diào)整需要。

等額薪酬等級(jí)表即同一職等內(nèi)不同薪級(jí)之間薪酬差距是等額的,這種薪酬等級(jí)表適合薪酬等額調(diào)整需要。

薪酬等級(jí)表中數(shù)據(jù)用一系列系數(shù)來(lái)表示,這個(gè)系數(shù)再乘以薪酬基數(shù)就得到每個(gè)崗位的薪酬數(shù)額,薪酬基數(shù)根據(jù)公司效益情況及時(shí)調(diào)整,可增可減。

(一)等比薪酬等級(jí)表

設(shè)計(jì)等比薪酬等級(jí)表的過(guò)程如下:

(1)根據(jù)薪酬調(diào)查結(jié)果以及公司制定的薪酬策略,估算企業(yè)在未來(lái)較長(zhǎng)時(shí)間內(nèi),崗位工資可能的最高值和最低值。

(2)根據(jù)最高值和最低值的差距、外部薪酬調(diào)查數(shù)據(jù)以及公司擬采取的薪酬策略,確定不同職等薪酬差距,一般情況下,職等之間薪酬增長(zhǎng)在30%~60%之間,本案例職等薪酬增長(zhǎng)率為50%。

(3)選定某一基準(zhǔn)等級(jí),比如第5級(jí),確定各職等對(duì)應(yīng)的薪酬數(shù)據(jù),如表中一職等第5級(jí)至八職等第5級(jí)分別是:1200、1800、2700、4000、6000、9000、13500、20000。

(4)根據(jù)公司薪酬調(diào)整策略,確定薪級(jí)增長(zhǎng)率,一般為3%~6%,較小的增長(zhǎng)率可以實(shí)現(xiàn)頻繁晉級(jí)激勵(lì),但需要更多的薪級(jí)來(lái)保證相鄰職等的重合度。本表中薪級(jí)增長(zhǎng)率為3%。

(5)根據(jù)薪級(jí)增長(zhǎng)率,將各薪級(jí)向上、向下進(jìn)行數(shù)據(jù)填充,考慮到不同職等應(yīng)有一定的重合度(20%~50%),確定足夠的薪級(jí)數(shù)目。本案例薪級(jí)數(shù)目是22個(gè),職等重合度30%左右。

經(jīng)過(guò)上述過(guò)程,就可以得到等比薪酬等級(jí)表。

(二)等額薪酬等級(jí)表

等額薪酬等級(jí)表薪級(jí)增長(zhǎng)是一個(gè)固定值,但不同職等增長(zhǎng)數(shù)額不一樣,職等越高增長(zhǎng)數(shù)值越大。這種薪酬等級(jí)表適合同層級(jí)崗位薪酬的等額調(diào)整需要。

等額薪酬等級(jí)設(shè)計(jì)過(guò)程與等比薪酬等級(jí)設(shè)計(jì)過(guò)程類(lèi)似,在此不做贅述。

五、薪酬縮寫(xiě)?

薪酬的英文是salary,沒(méi)有縮寫(xiě)形式,縮寫(xiě)適用于詞組和較長(zhǎng)的單詞。

六、薪酬讀音?

薪酬 - 拼音xīn chóu

薪酬是員工因向所在的組織提供勞務(wù)而獲得的各種形式的酬勞。狹義的薪酬指貨幣和可以轉(zhuǎn)化為貨幣的報(bào)酬。廣義的薪酬除了包括狹義的薪酬以外,還包括獲得的各種非貨幣形式的滿足。

七、如何利用薪酬調(diào)研進(jìn)行薪酬管理?

進(jìn)行薪酬調(diào)查,比較常用的方式有以下幾個(gè)方面:

1. 企業(yè)之間的相互調(diào)查。根據(jù)要調(diào)查的崗位,了解同行業(yè)或其他行業(yè)存在同類(lèi)崗位的企業(yè)的薪酬信息,在實(shí)施的過(guò)程中可以向保持良好關(guān)系的外部企業(yè)直接獲取相關(guān)信息,或通過(guò)非官方的渠道了解信息。一些企業(yè)為了實(shí)現(xiàn)信息資源的共享,還會(huì)在企業(yè)間建立一些非正式的組織,定期進(jìn)行包括薪酬信息在內(nèi)的信息交換和共享,實(shí)現(xiàn)信息的互通。

2. 通過(guò)招聘獲得薪酬數(shù)據(jù)。人力資源管理者在招聘過(guò)程中,必然會(huì)接觸到求職者以往任職企業(yè)的薪酬信息,可以將該信息進(jìn)行收集,甄別參考使用。另外,各大招聘網(wǎng)站上各信息發(fā)布的招聘信息中,對(duì)于薪酬定位和區(qū)間的描述信息也有很好的可借鑒意義,如果信息收集的數(shù)據(jù)比較多,采用頻率分析法進(jìn)行分析后,我們也會(huì)看到對(duì)于調(diào)查的崗位其薪酬區(qū)間的分布情況。

3. 通過(guò)專(zhuān)業(yè)的機(jī)構(gòu)進(jìn)行薪酬調(diào)查。當(dāng)通過(guò)其他渠道很難獲得系統(tǒng)性強(qiáng)、可信度高的數(shù)據(jù)時(shí),委托專(zhuān)業(yè)的人力資源咨詢公司進(jìn)行調(diào)查也是常用的方式,這種方式需要一定的花費(fèi),但相對(duì)來(lái)說(shuō)獲得數(shù)據(jù)的專(zhuān)業(yè)度和系統(tǒng)性都會(huì)更好。除了付費(fèi)方式,一些機(jī)構(gòu)也會(huì)定期發(fā)布免費(fèi)的薪酬報(bào)告,可以注意收集使用。

4. 采集社會(huì)的公開(kāi)信息。政府部門(mén)、有關(guān)協(xié)會(huì)、學(xué)會(huì)等也會(huì)定期提供薪酬調(diào)查數(shù)據(jù),這些信息往往在公開(kāi)渠道就能夠獲得,但這種方式針對(duì)性不強(qiáng)。

5. 發(fā)放調(diào)查問(wèn)卷方式進(jìn)行薪酬信息的調(diào)查。面向特定崗位的群體,發(fā)放薪酬調(diào)研問(wèn)卷,對(duì)收集到的信息進(jìn)行分析,獲得較為準(zhǔn)確的薪酬信息。

在實(shí)際的操作過(guò)程中,往往是多種方式結(jié)合使用的,通過(guò)不同渠道采集的信息也起到互相印證、參照的作用,增加信息的可信度和參考價(jià)值。

? 一、在薪酬設(shè)計(jì)時(shí),首先要進(jìn)行薪酬調(diào)研。(詳見(jiàn)上述方法)

? 二、確定薪酬設(shè)計(jì)的目的和策略

? 1、薪酬設(shè)計(jì)的目的是為了吸引和保留優(yōu)秀員工,還是鼓勵(lì)員工提高能力?激勵(lì)員工高效率工作?或者是平衡企業(yè)發(fā)展與薪酬成本的關(guān)系。不同的目的應(yīng)設(shè)計(jì)不同的薪酬體系。

? 2、確定企業(yè)的薪酬策略,包括核心的薪酬價(jià)值觀、薪酬總量目標(biāo)、重點(diǎn)激勵(lì)人群、本次薪酬改革的目標(biāo)、水平策略、結(jié)構(gòu)策略等。依據(jù)薪酬設(shè)計(jì)的目的和策略進(jìn)行薪酬設(shè)計(jì)。

? 三、崗位序列劃分和價(jià)值評(píng)估

? 1、首先需要將企業(yè)所有的崗位劃分為不同的序列,如經(jīng)營(yíng)序列、管理序列、生產(chǎn)序列、研發(fā)序列、營(yíng)銷(xiāo)序列等,不同的崗位序列其薪酬結(jié)構(gòu)不同、激勵(lì)方式不一樣,如經(jīng)營(yíng)層一般實(shí)行年薪制,激勵(lì)周期長(zhǎng),而營(yíng)銷(xiāo)人員可實(shí)行低底薪、高提成方式,激勵(lì)其作出業(yè)績(jī)。

? 2、然后對(duì)所有崗位進(jìn)行崗位價(jià)值評(píng)估,目的是確定崗位在企業(yè)的相對(duì)價(jià)值,并據(jù)此建立崗位價(jià)值序列。一般是根據(jù)崗位在組織中的影響范圍、職責(zé)大小、工作強(qiáng)度、工作難度、任職條件、崗位工作條件等維度進(jìn)行評(píng)價(jià)。

? 四、薪酬體系設(shè)計(jì)

? 1、薪酬體系文件有哪些?

? 包含兩類(lèi),一是薪酬制度性文件,二是本次調(diào)薪的說(shuō)明文件。

? 1.1制度文件包括總的薪酬管理制度,再分別設(shè)計(jì)不同群體的具體薪酬發(fā)放辦法。辦法中規(guī)定工資、獎(jiǎng)金、津貼、福利各部分具體的核算方法、計(jì)算公式、發(fā)放辦法。

? 1.2調(diào)薪說(shuō)明文件是本次調(diào)薪的說(shuō)明性文件。內(nèi)容包括本次調(diào)薪原則及方法、調(diào)薪前后薪酬總量對(duì)比、各層面人員收入水平對(duì)比、與市場(chǎng)薪酬的對(duì)比、關(guān)鍵崗位調(diào)薪前后對(duì)比、個(gè)人二次歸位的方法、特殊人員及特殊情況的處理方法等。

? 2、薪酬結(jié)構(gòu)設(shè)計(jì)即要考慮薪酬的保障性,保障員工基本生活需求;又要考慮薪酬的激勵(lì)性,通過(guò)薪酬設(shè)計(jì)激勵(lì)員工做出業(yè)績(jī)、提高能力。薪酬一般分三類(lèi):一是基本薪酬,如基本工資、崗位工資、職務(wù)工資、技能工資;二是激勵(lì)薪酬,如績(jī)效工資、計(jì)件計(jì)時(shí)工資、獎(jiǎng)金等;三是間接薪酬,如補(bǔ)貼津貼、社保公積金、年假、過(guò)節(jié)費(fèi)等。通過(guò)這幾類(lèi)薪酬的組合,設(shè)計(jì)不同的薪酬結(jié)構(gòu),一般有崗位薪酬體系、技能薪酬體系、績(jī)效薪酬體系。

? 3、不同層級(jí)、不同崗位序列的激勵(lì)重點(diǎn)不一樣,比如生產(chǎn)員工關(guān)注產(chǎn)量,可以用計(jì)件工資,有的企業(yè)對(duì)質(zhì)量或安全非常重視,可以加一塊質(zhì)量獎(jiǎng)或安全獎(jiǎng)。高中基層激勵(lì)的重點(diǎn)和周期不同,高層激勵(lì)周期長(zhǎng),關(guān)注企業(yè)長(zhǎng)期持續(xù)盈利,可以用年薪、超額利潤(rùn)分享、期股權(quán)激勵(lì)等形式;而基層員工一般采用月薪。

? 4、注意薪酬設(shè)計(jì)的公平性,充分考慮到老員工和新員工、高層和基層、不同序列崗位之間、不同地域的單位之間薪酬的平衡,不要讓員工感到不公平、不合理。

? 5、對(duì)薪酬水平做好定位,處理好薪酬的市場(chǎng)競(jìng)爭(zhēng)性和企業(yè)人工成本之間的關(guān)系,既能保持薪酬水平在區(qū)域和行業(yè)的競(jìng)爭(zhēng)力,又不能使企業(yè)承擔(dān)過(guò)高的人工成本。

? 6、平衡員工薪酬增長(zhǎng)與企業(yè)效益增長(zhǎng)、勞動(dòng)績(jī)效增長(zhǎng)之間的關(guān)系,三者應(yīng)保持一致,企業(yè)效益提高了,勞動(dòng)生產(chǎn)率提高了,員工的薪酬才能相應(yīng)增長(zhǎng)。

? 7、公司利潤(rùn)與員工共享,對(duì)重要崗位、骨干員工和有良好業(yè)績(jī)的員工進(jìn)行分享。

? 企業(yè)是個(gè)利益共同體,利潤(rùn)大家創(chuàng)造,收益共同分享。因此,企業(yè)利潤(rùn)要拿出少部注意分配適度。分享過(guò)少,不利于激勵(lì)員工,過(guò)多則影響企業(yè)發(fā)展。

八、薪酬結(jié)構(gòu)與薪酬構(gòu)成的區(qū)別?

一、性質(zhì)不同

1、薪酬體系:薪酬的構(gòu)成和分配方式。

2、薪酬制度:企業(yè)整體人力資源管理制度與體系之重要組成部分。

二、影響因素不同

1、薪酬體系影響因素:

(1)公平性

根據(jù)職責(zé)的大小、所需知識(shí)的水平以及工作要求的不同性質(zhì),工資合理地反映了企業(yè)內(nèi)不同層次、不同等級(jí)、不同崗位的價(jià)值差異。

(2)外部競(jìng)爭(zhēng)性

保持行業(yè)薪酬和福利的競(jìng)爭(zhēng)力可以吸引人才加入。

(3)績(jī)效性

薪酬必須與企業(yè)、團(tuán)隊(duì)和個(gè)人的績(jī)效成就密切相關(guān)。不同的績(jī)效考核結(jié)果應(yīng)準(zhǔn)確反映在工資中,實(shí)現(xiàn)員工的自我平等,以保證企業(yè)整體績(jī)效目標(biāo)的實(shí)現(xiàn)。

(4)激勵(lì)性

薪酬是以提高薪酬激勵(lì)為導(dǎo)向,通過(guò)動(dòng)態(tài)薪酬、獎(jiǎng)金等激勵(lì)性工資單位的設(shè)計(jì),激發(fā)員工的積極性。此外,還應(yīng)設(shè)計(jì)和開(kāi)放不同的薪酬渠道,使不同職位的員工獲得平等的晉升機(jī)會(huì)。

2、薪酬制度影響因素:

(1)薪酬的制定是否依據(jù)職位分析進(jìn)行;

(2)薪酬的制定是否與員工的績(jī)效掛鉤;

(3)薪酬的制定是否與員工能力掛鉤;

(5)薪酬是否做到公平公正。

九、mahout面試題?

之前看了Mahout官方示例 20news 的調(diào)用實(shí)現(xiàn);于是想根據(jù)示例的流程實(shí)現(xiàn)其他例子。網(wǎng)上看到了一個(gè)關(guān)于天氣適不適合打羽毛球的例子。

訓(xùn)練數(shù)據(jù):

Day Outlook Temperature Humidity Wind PlayTennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

檢測(cè)數(shù)據(jù):

sunny,hot,high,weak

結(jié)果:

Yes=》 0.007039

No=》 0.027418

于是使用Java代碼調(diào)用Mahout的工具類(lèi)實(shí)現(xiàn)分類(lèi)。

基本思想:

1. 構(gòu)造分類(lèi)數(shù)據(jù)。

2. 使用Mahout工具類(lèi)進(jìn)行訓(xùn)練,得到訓(xùn)練模型。

3。將要檢測(cè)數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。

4. 分類(lèi)器對(duì)vector數(shù)據(jù)進(jìn)行分類(lèi)。

接下來(lái)貼下我的代碼實(shí)現(xiàn)=》

1. 構(gòu)造分類(lèi)數(shù)據(jù):

在hdfs主要?jiǎng)?chuàng)建一個(gè)文件夾路徑 /zhoujainfeng/playtennis/input 并將分類(lèi)文件夾 no 和 yes 的數(shù)據(jù)傳到hdfs上面。

數(shù)據(jù)文件格式,如D1文件內(nèi)容: Sunny Hot High Weak

2. 使用Mahout工具類(lèi)進(jìn)行訓(xùn)練,得到訓(xùn)練模型。

3。將要檢測(cè)數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。

4. 分類(lèi)器對(duì)vector數(shù)據(jù)進(jìn)行分類(lèi)。

這三步,代碼我就一次全貼出來(lái);主要是兩個(gè)類(lèi) PlayTennis1 和 BayesCheckData = =》

package myTesting.bayes;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.util.ToolRunner;

import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;

import org.apache.mahout.text.SequenceFilesFromDirectory;

import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;

public class PlayTennis1 {

private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";

/*

* 測(cè)試代碼

*/

public static void main(String[] args) {

//將訓(xùn)練數(shù)據(jù)轉(zhuǎn)換成 vector數(shù)據(jù)

makeTrainVector();

//產(chǎn)生訓(xùn)練模型

makeModel(false);

//測(cè)試檢測(cè)數(shù)據(jù)

BayesCheckData.printResult();

}

public static void makeCheckVector(){

//將測(cè)試數(shù)據(jù)轉(zhuǎn)換成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"testinput";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean參數(shù)是,是否遞歸刪除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失敗!");

System.exit(1);

}

//將序列化文件轉(zhuǎn)換成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean參數(shù)是,是否遞歸刪除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件轉(zhuǎn)換成向量失??!");

System.out.println(2);

}

}

public static void makeTrainVector(){

//將測(cè)試數(shù)據(jù)轉(zhuǎn)換成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"input";

String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean參數(shù)是,是否遞歸刪除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失?。?#34;);

System.exit(1);

}

//將序列化文件轉(zhuǎn)換成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean參數(shù)是,是否遞歸刪除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件轉(zhuǎn)換成向量失??!");

System.out.println(2);

}

}

public static void makeModel(boolean completelyNB){

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";

String model = WORK_DIR+Path.SEPARATOR+"model";

String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";

Path in = new Path(input);

Path out = new Path(model);

Path label = new Path(labelindex);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean參數(shù)是,是否遞歸刪除的意思

fs.delete(out, true);

}

if(fs.exists(label)){

//boolean參數(shù)是,是否遞歸刪除的意思

fs.delete(label, true);

}

TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();

String[] params =null;

if(completelyNB){

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};

}else{

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};

}

ToolRunner.run(tnbj, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("生成訓(xùn)練模型失??!");

System.exit(3);

}

}

}

package myTesting.bayes;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import org.apache.commons.lang.StringUtils;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.fs.PathFilter;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.mahout.classifier.naivebayes.BayesUtils;

import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;

import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;

import org.apache.mahout.common.Pair;

import org.apache.mahout.common.iterator.sequencefile.PathType;

import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;

import org.apache.mahout.math.RandomAccessSparseVector;

import org.apache.mahout.math.Vector;

import org.apache.mahout.math.Vector.Element;

import org.apache.mahout.vectorizer.TFIDF;

import com.google.common.collect.ConcurrentHashMultiset;

import com.google.common.collect.Multiset;

public class BayesCheckData {

private static StandardNaiveBayesClassifier classifier;

private static Map<String, Integer> dictionary;

private static Map<Integer, Long> documentFrequency;

private static Map<Integer, String> labelIndex;

public void init(Configuration conf){

try {

String modelPath = "/zhoujianfeng/playtennis/model";

String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";

String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";

String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";

dictionary = readDictionnary(conf, new Path(dictionaryPath));

documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));

labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));

NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);

classifier = new StandardNaiveBayesClassifier(model);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("檢測(cè)數(shù)據(jù)構(gòu)造成vectors初始化時(shí)報(bào)錯(cuò)。。。。");

System.exit(4);

}

}

/**

* 加載字典文件,Key: TermValue; Value:TermID

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {

Map<String, Integer> dictionnary = new HashMap<String, Integer>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

String name = path.getName();

return name.startsWith("dictionary.file");

}

};

for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {

dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());

}

return dictionnary;

}

/**

* 加載df-count目錄下TermDoc頻率文件,Key: TermID; Value:DocFreq

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {

Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

return path.getName().startsWith("part-r");

}

};

for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {

documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());

}

return documentFrequency;

}

public static String getCheckResult(){

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String classify = "NaN";

BayesCheckData cdv = new BayesCheckData();

cdv.init(conf);

System.out.println("init done...............");

Vector vector = new RandomAccessSparseVector(10000);

TFIDF tfidf = new TFIDF();

//sunny,hot,high,weak

Multiset<String> words = ConcurrentHashMultiset.create();

words.add("sunny",1);

words.add("hot",1);

words.add("high",1);

words.add("weak",1);

int documentCount = documentFrequency.get(-1).intValue(); // key=-1時(shí)表示總文檔數(shù)

for (Multiset.Entry<String> entry : words.entrySet()) {

String word = entry.getElement();

int count = entry.getCount();

Integer wordId = dictionary.get(word); // 需要從dictionary.file-0文件(tf-vector)下得到wordID,

if (StringUtils.isEmpty(wordId.toString())){

continue;

}

if (documentFrequency.get(wordId) == null){

continue;

}

Long freq = documentFrequency.get(wordId);

double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);

vector.setQuick(wordId, tfIdfValue);

}

// 利用貝葉斯算法開(kāi)始分類(lèi),并提取得分最好的分類(lèi)label

Vector resultVector = classifier.classifyFull(vector);

double bestScore = -Double.MAX_VALUE;

int bestCategoryId = -1;

for(Element element: resultVector.all()) {

int categoryId = element.index();

double score = element.get();

System.out.println("categoryId:"+categoryId+" score:"+score);

if (score > bestScore) {

bestScore = score;

bestCategoryId = categoryId;

}

}

classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";

return classify;

}

public static void printResult(){

System.out.println("檢測(cè)所屬類(lèi)別是:"+getCheckResult());

}

}

十、webgis面試題?

1. 請(qǐng)介紹一下WebGIS的概念和作用,以及在實(shí)際應(yīng)用中的優(yōu)勢(shì)和挑戰(zhàn)。

WebGIS是一種基于Web技術(shù)的地理信息系統(tǒng),通過(guò)將地理數(shù)據(jù)和功能以可視化的方式呈現(xiàn)在Web瀏覽器中,實(shí)現(xiàn)地理空間數(shù)據(jù)的共享和分析。它可以用于地圖瀏覽、空間查詢、地理分析等多種應(yīng)用場(chǎng)景。WebGIS的優(yōu)勢(shì)包括易于訪問(wèn)、跨平臺(tái)、實(shí)時(shí)更新、可定制性強(qiáng)等,但也面臨著數(shù)據(jù)安全性、性能優(yōu)化、用戶體驗(yàn)等挑戰(zhàn)。

2. 請(qǐng)談?wù)勀赪ebGIS開(kāi)發(fā)方面的經(jīng)驗(yàn)和技能。

我在WebGIS開(kāi)發(fā)方面有豐富的經(jīng)驗(yàn)和技能。我熟悉常用的WebGIS開(kāi)發(fā)框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能夠使用HTML、CSS和JavaScript等前端技術(shù)進(jìn)行地圖展示和交互設(shè)計(jì),并能夠使用后端技術(shù)如Python、Java等進(jìn)行地理數(shù)據(jù)處理和分析。我還具備數(shù)據(jù)庫(kù)管理和地理空間數(shù)據(jù)建模的能力,能夠設(shè)計(jì)和優(yōu)化WebGIS系統(tǒng)的架構(gòu)。

3. 請(qǐng)描述一下您在以往項(xiàng)目中使用WebGIS解決的具體問(wèn)題和取得的成果。

在以往的項(xiàng)目中,我使用WebGIS解決了許多具體問(wèn)題并取得了顯著的成果。例如,在一次城市規(guī)劃項(xiàng)目中,我開(kāi)發(fā)了一個(gè)基于WebGIS的交通流量分析系統(tǒng),幫助規(guī)劃師們?cè)u(píng)估不同交通方案的效果。另外,在一次環(huán)境監(jiān)測(cè)項(xiàng)目中,我使用WebGIS技術(shù)實(shí)現(xiàn)了實(shí)時(shí)的空氣質(zhì)量監(jiān)測(cè)和預(yù)警系統(tǒng),提供了準(zhǔn)確的空氣質(zhì)量數(shù)據(jù)和可視化的分析結(jié)果,幫助政府和公眾做出相應(yīng)的決策。

4. 請(qǐng)談?wù)勀鷮?duì)WebGIS未來(lái)發(fā)展的看法和期望。

我認(rèn)為WebGIS在未來(lái)會(huì)繼續(xù)發(fā)展壯大。隨著云計(jì)算、大數(shù)據(jù)和人工智能等技術(shù)的不斷進(jìn)步,WebGIS將能夠處理更大規(guī)模的地理數(shù)據(jù)、提供更豐富的地理分析功能,并與其他領(lǐng)域的技術(shù)進(jìn)行深度融合。我期望未來(lái)的WebGIS能夠更加智能化、個(gè)性化,為用戶提供更好的地理信息服務(wù),助力各行各業(yè)的決策和發(fā)展。

相關(guān)資訊
熱門(mén)頻道

Copyright © 2024 招聘街 滇ICP備2024020316號(hào)-38