运动流汗一定要适量,流汗太多对身体不好,这是因为汗液中不仅仅是一些代谢产生的废物,还有很多对机体有用的物质,例如:矿物质、氨基酸、维生素等,流汗越多,这些营养物质流失的越多。
运动之后补水需要根据流汗的情况来决定,运动流汗补水应该在运动的前期、中期和后期进行。
.我们有时会有不顺利的时刻,不要抱怨任何人任何事,该回头想想,我是否有福气去享受这个成功?若怀抱着一种自私心去做事,不顺,未必是坏事,免得增强你的自私心,最终带出苦果。改变心态,自利,也利他,结果便有机会不一样了。
2.你可以羡慕别人,抱怨,甚至大哭一场,你没那么坚强,怎样任性都好,但一定要及时清醒,孤独者要学会自我充足,永远走在更好的路上。不怕没人并肩,就怕错信了一些人,一路遇见,一路告别。你是什么样的人,便会遇见什么样的人,你跟什么样的人靠近,便会成为什么样的人。
3.在医院里老公抱怨道:“你看你生完孩子第一天,我跑上跑下忙的我一天没睡觉,我容易吗?”二货媳妇神回复:“哼,这就是你爽的代价!”
4.说什么不要抱怨,可是偶尔抱怨也算是一种纾解压力的方法吧,倒到苦水,然后再继续。无论什么样的生活,都是有规律,然后顺着规律生活。加油呗,还有一点年轻的身影,抓住,好好拼,不管以后是否会好,但至少现在奋斗,生活变得有意义就好了。
5.常遇到背叛我的人,开始总抱怨他们忘恩负义,现在才发觉都是我的错。是我一开始给他们太多了造成他们误解赚钱很容易。是我给他们太多空间让他们错觉全靠自己努力换来的。是我总舍不得骂人以致说话太重就让他们不开心。是我太信任人让他们觉得人都很好骗。对不起!都是我的错,害了你们一辈子。
6.委屈生牢骚,牢骚多了变抱怨,抱怨久了成是非。委屈这东西,唯一的作用就是可以在爱自己的人面前说出来换一点安慰,在他的好言相劝里平和一下心态。但在职场和社会上是不大适用的,除非你长的极帅或极美。——马丁
7.【麻省理工职场理念】永远不抱怨。抱怨只会暴露你的无能。公私要分明。随时保持积极主动。不要过多流露自己的情绪和情感。做事讲效率。跟同事领导搞好关系,但不要妄想和他们成为知心朋友。少说话,多做事。该知道的知道,不该知道的甭打听。有些事情,看破但不要说破。
8.无须有过多的抱怨,那样只会使你自己的心更累。人生就像盖房子,想修成正果,必须一块砖一块砖的叠起,当你跳跃了一层,两层,三层的时候,哪怕你建立成功,也是不牢靠的,它终有一天会倒塌。
9.每一天都会告诉自己要好好控制情绪,不抱怨,谨言慎行,这不是将自己变的懦弱和没有性格,而是在慢慢的提升自己。凡事不以恶意揣度别人,不以私利给他人添堵,不妄自菲薄,也不诋毁他人,这是对自己最基本的要求。
10.两个不认真的人出现在同一段感情里就会互相抱怨不真诚,她可能说她花心,他可能说她多情。就像生活一样很可笑,有时让你遇见一个和自己差不多的人,然后你开始有模有样的告诉那人认真是什么模样,努力是什么模样,成熟是什么模样,其实自己也根本不认真,不努力,不成熟。
11.不要去抱怨自己不幸福,要知道,很多的人连温饱都没解决。要定期的去对记忆进行一次删除,去把不愉快的人和事从记忆中摈弃,人生苦短,财富地位都是附加的,生不带来死不带去,简单的生活就是快乐的生活。
12.与其抱怨生活,不如改变,如果不能改变,就要学会适应。对于已发生的事情,抱怨不会产生任何改变,只会让事情变得更糟。抱怨不会使人更聪明更强大,而只会让你在自怨自艾中漫慢消沉。放下抱怨,坦然面对,才能摆脱烦恼的纠缠。心平气和,换一种视角看待生活,就会有不一样的人生。
13.不要抱怨生活给予太多的磨难,不要抱怨生命中有太多的曲折。把每—次的失败都归结为一次尝试而不去自卑,把每一次的成功都想象成一种幸运而不去自傲。微笑着去面对挫折,去接受幸福,去品味孤独,去战胜忧伤,去面对生活带给我们的一切。
14.心境似湖,抱怨全无。一杯盐水,很咸,倒进湖里,很淡。烦恼如盐,是咸是淡,是苦是甜,取决于心量的大小。我们常常不是被世界惹火了,而是被自己逼疯了。不要活得太被动,因为这样会让你很辛苦。只要自己觉得幸福就行,用不着向别人证明什么。不要光顾着看别人,走错了自己脚下的路。
15.人生要学会不抱怨,不等待,不盲从;身安,不如心安,屋宽,不如心宽;以自然之道,养自然之身;以喜悦之身,养喜悦之神;有所畏惧,是做人最基本的良心准则;所谓快乐,不是财富多而是欲望少;做人,人品为先,才能为次;做事,明理为先,勤奋为次。
16.心中的苦楚,没人替你品尝。抱怨不会使人变得更聪明,而只会让人在自怨自爱中慢慢消沉。放下抱怨,坦然面对,才能摆脱烦恼的纠缠。心平气和,换一种视角看待生活,就会有不一样的人生。
17.偶尔的抱怨发泄一下,也是十分必要的。但是无休止的抱怨只会增添烦恼,只能向别人显示自己的无能。抱怨是一种致命的消极心态,一旦自己的抱怨成为恶习,那么人生就会暗无天日,不仅自己好心境全无,而且别人跟着也倒霉。
18.不抱怨,不言苦,不忧伤,不认输,压抑了,换个环境深呼吸;困惑了,换个角度静思考;失败了,蓄满信心重新再来。
19.有时我们总想抱怨时间,无聊寂寞时说它太过得太慢,繁忙慌乱时又说它太快。其实生活原本就是答案,你会发现无论渴望还是挣脱,都逃不出一个心结,通常伴着渴望后的挣脱和挣脱后的渴望。但人就是在这般折腾后才看清了生活。
20.心情再差你可以写在脸上,工作再累你可以抱怨,生命再短你可以随意作践,生活再苦你可以失去信念,前行再难你可以踯躅不前。但是前提你必须知道:没有人喜欢看你的臭脸,没有人无条件替你干活,没有人为你的健康买单,美好将在明天,自己的选择,跪着也要走完。每个人都累,不是只有你一个而已。
21.我们很多人总是在遇到挫折的时候,抱怨事与愿违,更多的人总是在失败的时候,抱怨生不逢时,大多数人总是认为,这个世界对自己充满了不公,然而却只有少部分的人,能够在遇到困难时选择正视自己,通过改变自己来解决问题。——《第五空间》
22.你付出什么,就能得到什么。抱怨他人,折磨自己;羡慕他人,浪费自己;怨恨他人,气坏自己;贪恋他人,烦恼自己;阻碍他人,陷害自己;慈悲他人,快乐自己;尊重他人,敬重自己;宽容他人,豁达自己;随喜他人,富贵自己;帮助他人,善待自己;平视他人,富足自己。
23.从不怨恨,也不抱怨。过去的,就让它过去吧,无论怎样美好,怎样伤感,我们,始终回不到过去,走不进曾经。重要的是今天,明天。那些曾经的路,过去的人,都将成为驿站成为过客,渐渐的,也会淡漠,也会遗忘。
24.不要去抱怨你的工作,今天的生活一直都是你选择的!努力了不一定会有什么结果,但是放弃了肯定不会有结果。很多事情你做了,今天不会有结果,或者以后更不会有结果。有时候,有些人,为了得到他喜欢的东西,费尽心机,更甚者可能会不择手段,以至走向极端。
25.生活总是跌宕起伏,不要抱怨什么,要学会珍惜自己拥有的,无论在什么时候,无论在什么地方,我们都不要抱怨我们自己的人生,抱怨改变不了任何事实真相,不如坦然面对,接受现实,随缘来去,直面人生,人生也就少了许多烦恼困惑。
26.抱怨不会使人变得更聪明,而只会让人在自怨自爱中慢慢消沉。放下抱怨,坦然面对,才能摆脱烦恼的纠缠。哭了,就让泪水尽情流淌,痛彻心菲也是精彩。选择一条道路,就选择一种人生一种无悔一种执着。
27.我们有时会受到委屈冤枉排斥,因此抱怨愤怒恐惧,那是正常不过的事。然而,若理智闪现,只要一个理由,就会令我们知道,得摆脱负面情绪:这样只会令事情更糟糕。所以,消极性冲动爆发之前,深呼吸一下,拖长反应时间,让理智和提醒有更多空间,养成这习惯,可能改变一生。——麦成辉
28.多一份洒脱,少一份抱怨,让自己在豁达的心态中,感悟生命,解读生活。人生苦短,不要为难了自己。让我们坦然愉悦的走过人生的春夏秋冬。
29.寂寞孤单的时候,也曾抱怨,为什么?我在最美的年华里,没有遇到最美的她。已是沧海桑田的自已,为什么?还没有过一场惊艳的风花雪月。后来,慢慢明白,有些缘分,注定是为了分离才相遇。青春,只是一场没有结局的邂逅,陪你走到终点的,只有自己。学会了好好爱自己,才会遇到一个完美的她。
30.不去抱怨,也不值得抱怨,这个世界,看不惯的事情很多,抱怨,只会使你伤情;不去怨恨,也不用去怨恨,每个社会,都有不公不平,怨恨,会使你失去包容。世界很大,社会很杂,总有一些事情,让我们失望伤心;生活繁琐,人事繁杂,总有一些时候,让我们难以接受。人生,很难称心,何必痛心,开心则顺心
31.不要总是怨天尤人,满腹牢骚抱怨这世界不公平,也许你所拥有的一切,恰恰是别人梦寐以求期待的生活。人生简单就是快乐,知足就是幸福。
32.心境似湖,抱怨全无。一杯盐水,很咸,倒进湖里,很淡。烦恼如盐,是咸是淡,取决于心量的大小。我们常常不是被世界惹火了,而是被自己逼疯了。开导自己,让眼光放远,让心变宽,多少今天让你流泪的事,总有一天你会笑着说出来。有些烦恼是凭空虚构的,而我们却把它当成真实去感受。
33.我们常常会说:“好累呀!”然后顺道抱怨两句,但请不要把抱怨当作一种习惯。因为所有的一切都是我们自己选择的结果,有些人会说他没得选择,任何时候,我们面前都不会只有一条路,除非是自己放弃选择。而不选择,本身也是一种选择。所以,既然一切都是自己的抉择,就请,扛起你该扛的责任,微笑面对。
34.己选择的路就要坚持走下去,路上的艰辛,无需抱怨。在选择前,有一张真诚坚定的脸;在选择后,有一颗绝不改变的心。许多的时候,让我们放不下的其实并不是对方,而是那些逝去的共同回忆。
35.当人们抱怨自己孤独时,他们的意思是说没有人明白他们在说些什么:理解需要有着共同的过去共同的感受和语言共同的设想以及进行亲密交流的可能性——简而言之,就是要具有共同的生活方式。
36.不去抱怨,也不值得抱怨,这个世界,看不惯的事情很多,抱怨,只会使你伤情;不去怨恨,也不用去怨恨,每个社会,都有不公不平,怨恨,会使你失去包容。世界很大,社会很杂,总有些事情,让我们失望伤心;生活繁琐,人事繁杂,总有一些时候,让我们难以接受。人生,很难称心,何必痛心,开心则顺心。
37.自认为抱怨是最没有用的事,每一次的抱怨的结果不仅不会让自己因此而得到些许释放,反而会让自己周围的人又一次感受到这个世界的恶意与冷漠,传播负能量的人一向不懂得自我救赎与超脱,每一次向这个世界倾泻不满与不安,只不过是又欠下了这个世界一笔债务,又对世界犯下了一次罪过。
38.生活总是起伏跌荡,不要抱怨什么,人生如戏,可又有别于戏。人生路上会有美丽的风景等待我们去欣赏,该来的不要躲闪,该去的不要纠缠,该做的勇于担当;把该放弃的让它随风而去,不要抓住不放;把该留下的藏在记忆深处,尘封起来;把曾经的坎坷和磨难沉淀成珍贵的财富,鞭策我们前行。
39.有时候,我们总是抱怨别人对自己太冷漠,不给自己好脸色看,却不知道你其实是对方最好的镜子,你对对方笑,对方就会对你笑。你骂对方,对方就会骂你。你不为对方着想,对方就不会为你着想。你替对方着想,考虑他的方便,对方也会替你着想,考虑你的利益。要学会换位思考,这样你的人生一定会焕然一新。
40.如果那样不停地去抱怨生活,抱怨身边的人和事,那么会活的很累很累,终有一天,会被生活所抛弃。人生路上有风有雨,到处是荆棘丛生,只有去奋斗,去拼搏,才会有鲜花和掌声在等待着我们。名人说过,挫折对无能的人是一个无底深渊,而对那些敢于面对挫折的人来说,它是一块成功的踮脚石。
41.生命是一场纷纷扬扬的花事,不要抱怨现状,抱怨永远只能显示我们没本事。因为如果我们有本事,就可以改变现状,而不只是忍受。既然改变不了,又不能走开,那么就沉默地接受现实,用积极的情绪,用自己的努力去改变现实。
42.追求成功的人,皆会经历一段困苦不抱怨孤寂不责难的磨砺。不断地努力攀登,终会寻找到绚丽的境界。有些人生
做人要实,为人要诚;做官要廉,为政要勤;踏实做事、诚信做人、勤廉立身、淡以明志;忠诚待事业,热诚待工作,坦城待得失,真诚待他人。
首先如果树立了正确的政绩观、功利观之后,低调做事与高调做事就会处理好。低调做事是一种扎实做事、不事张扬的风格,高调做事则能达到舆论造势、宣传发动的客观效果。
其次应处理好个人与集体、局部和大局的关系。凡是把集体、组织、工作摆在前面的高调都是有益的。
首先你要敬你哥要行和你嫂子,然后说些祝福的话,然后在和那些客人喝,陪酒就是这样,不过你的酒量要行
之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。
训练数据:
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
检测数据:
sunny,hot,high,weak
结果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代码调用Mahout的工具类实现分类。
基本思想:
1. 构造分类数据。
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
接下来贴下我的代码实现=》
1. 构造分类数据:
在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。
数据文件格式,如D1文件内容: Sunny Hot High Weak
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
这三步,代码我就一次全贴出来;主要是两个类 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";
/*
* 测试代码
*/
public static void main(String[] args) {
//将训练数据转换成 vector数据
makeTrainVector();
//产生训练模型
makeModel(false);
//测试检测数据
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//将测试数据转换成序列化文件
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参数是,是否递归删除的意思
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);
}
//将序列化文件转换成向量文件
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参数是,是否递归删除的意思
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("序列化文件转换成向量失败!");
System.out.println(2);
}
}
public static void makeTrainVector(){
//将测试数据转换成序列化文件
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参数是,是否递归删除的意思
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);
}
//将序列化文件转换成向量文件
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参数是,是否递归删除的意思
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("序列化文件转换成向量失败!");
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参数是,是否递归删除的意思
fs.delete(out, true);
}
if(fs.exists(label)){
//boolean参数是,是否递归删除的意思
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("生成训练模型失败!");
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("检测数据构造成vectors初始化时报错。。。。");
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时表示总文档数
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);
}
// 利用贝叶斯算法开始分类,并提取得分最好的分类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("检测所属类别是:"+getCheckResult());
}
}
1. 请介绍一下WebGIS的概念和作用,以及在实际应用中的优势和挑战。
WebGIS是一种基于Web技术的地理信息系统,通过将地理数据和功能以可视化的方式呈现在Web浏览器中,实现地理空间数据的共享和分析。它可以用于地图浏览、空间查询、地理分析等多种应用场景。WebGIS的优势包括易于访问、跨平台、实时更新、可定制性强等,但也面临着数据安全性、性能优化、用户体验等挑战。
2. 请谈谈您在WebGIS开发方面的经验和技能。
我在WebGIS开发方面有丰富的经验和技能。我熟悉常用的WebGIS开发框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能够使用HTML、CSS和JavaScript等前端技术进行地图展示和交互设计,并能够使用后端技术如Python、Java等进行地理数据处理和分析。我还具备数据库管理和地理空间数据建模的能力,能够设计和优化WebGIS系统的架构。
3. 请描述一下您在以往项目中使用WebGIS解决的具体问题和取得的成果。
在以往的项目中,我使用WebGIS解决了许多具体问题并取得了显著的成果。例如,在一次城市规划项目中,我开发了一个基于WebGIS的交通流量分析系统,帮助规划师们评估不同交通方案的效果。另外,在一次环境监测项目中,我使用WebGIS技术实现了实时的空气质量监测和预警系统,提供了准确的空气质量数据和可视化的分析结果,帮助政府和公众做出相应的决策。
4. 请谈谈您对WebGIS未来发展的看法和期望。
我认为WebGIS在未来会继续发展壮大。随着云计算、大数据和人工智能等技术的不断进步,WebGIS将能够处理更大规模的地理数据、提供更丰富的地理分析功能,并与其他领域的技术进行深度融合。我期望未来的WebGIS能够更加智能化、个性化,为用户提供更好的地理信息服务,助力各行各业的决策和发展。
这块您需要了解下stm32等单片机的基本编程和简单的硬件设计,最好能够了解模电和数电相关的知识更好,还有能够会做操作系统,简单的有ucos,freeRTOS等等。最好能够使用PCB画图软件以及keil4等软件。希望对您能够有用。
1.负责区域大客户/行业客户管理系统销售拓展工作,并完成销售流程;
2.维护关键客户关系,与客户决策者保持良好的沟通;
3.管理并带领团队完成完成年度销售任务。