仙桃城铁站在仙桃哪?

时间:2024-08-19 01:17 人气:0 编辑:招聘街

一、仙桃城铁站在仙桃哪?

在仙桃市城东,原龙华山办事处的纱毛等附近几个村。有好多公交到站。

二、仙桃西跟仙桃站哪个距仙桃市区近?

仙桃西站在毛场那边离城区三十公里左右,一般不建议城区居民到那边上下车。仙桃站在沔州大道上,白天都有公交车始发城区,相比较要方便一些。

三、仙桃特色?

旅游有百万花海,梦里水乡,古城沔城,郑场渔泛峰古村。

美食有:沔阳三蒸,毛嘴卤鸡,黄新场锅亏,三伏潭豆皮。

土特产有沔城莲藕,红庙萝卜,沙湖红心盐蛋,沙湖贝雕,沙湖皮蛋,郑场豆豉。

生态农业有西流河的鸭稻田,麻港的富硒农田,胡场阿尔迪有机生态果园,张沟鳝鱼等。

四、仙桃方言?

干什么-搞么家,游泳-打鼓求

睡觉-睡阔水,红薯-勺

妈妈-母妈,爸爸-爷

毛巾-浮子,苕气-傻子

团子-姑娘,学生-男娃

半转-250,岔地-没问题

五、仙桃景区?

仙桃的景区代表之一的沔阳小镇为国家AAA级旅游景区。沔阳小镇定位为具有江汉水乡风情和沔阳文化特色的文化生活类小镇,打造环武汉都市圈大型休闲度假目的地。依托百里排湖浓郁的水乡特色。将特色小镇、养生休闲、水乡度假、佛禅养心、文创乐园融为一体,形成一个涵盖文化旅游、休闲度假、特色美食、水乡特产、休闲农业、科普教育的休闲度假综合体,全面布局"食、住、行、游、娱、购"等功能业态。沔阳小镇已建成食神街、无双街、三仙岛、四方场、楚王台等功能区,已开放沔阳花鼓戏艺术馆、贝雕艺术馆、沔阳雕花剪纸艺术馆、麦秆画制作坊等民俗文化展示馆。

六、仙桃早餐

仙桃早餐:养好胃舒服满足的丰盛开始

早餐是一天中最重要的一餐,它为我们提供了每天所需的能量和养分。而在选择早餐时,有一种令人垂涎欲滴的选择,那就是享用美味的仙桃早餐。无论是在家中享用,还是外出用餐,仙桃早餐都能为您带来胃口满足的美好体验。

仙桃早餐以口感丰富、味道独特而闻名。它是一种汇集了新鲜水果、健康谷物和美味酸奶的完美组合。而仙桃则是这顿早餐的点睛之笔,给予了食物更加鲜美的口感和丰富的维生素。无论您是喜欢轻盈的水果沙拉,还是偏爱香甜的水果拼盘,仙桃早餐都能满足您对于美味和营养的需求。

1. 仙桃早餐的好处

一份丰盛的仙桃早餐,不仅能让您充满活力地开始一天,还能为您带来其他诸多好处:

  • 提供充足的能量:仙桃富含天然的果糖和碳水化合物,能够快速为身体提供能量。
  • 增强免疫力:仙桃富含维生素C和抗氧化物质,有助于增强免疫力,预防感冒和其他疾病。
  • 促进消化:仙桃中的纤维素有助于促进肠道蠕动,有助于消化食物。
  • 保持饱腹感:仙桃早餐中的谷物和酸奶富含蛋白质和纤维素,能够让您保持更长时间的饱腹感。
  • 改善心脏健康:仙桃中的胆甾醇有助于降低胆固醇水平,从而改善心脏健康。

2. 创意的仙桃早餐配方

仙桃早餐可以根据个人口味和需求进行创意搭配。以下是一些简单易做且美味的仙桃早餐配方:

  • 仙桃谷物杯:将切好的仙桃和谷物层层叠加在玻璃杯中,最上层撒上一些坚果和蜂蜜,美味又营养。
  • 仙桃酸奶果粒杯:将切好的仙桃和酸奶交替放入杯中,最上层撒上一些谷物和果粒,口感丰富。
  • 仙桃燕麦片:将切好的仙桃与燕麦片混合,加入适量的牛奶或酸奶,搅拌均匀后冷藏一段时间,清爽可口。
  • 仙桃水果沙拉:将切好的仙桃与其他喜欢的水果混合,加入一些蜂蜜和柠檬汁,简单又美味。

3. 外出享用仙桃早餐

如果您想外出享用仙桃早餐,不用担心,很多餐厅和咖啡馆都提供精心制作的仙桃早餐套餐。您可以到当地的餐厅和咖啡馆咨询,选择一家提供丰富仙桃早餐的地方,或者探索一下当地的文化特色,寻找一些以仙桃为特色的早餐店。

无论是在家中还是外出,享用美味的仙桃早餐,都能够让您充满活力地开始一天。它不仅提供了丰富的营养和能量,还能带来口感的满足和味蕾的享受。为了健康和幸福的生活,将仙桃早餐纳入您的生活习惯,享受这份让人心情愉悦的美食吧!

请注意以上的文字均由GPT-3.5生成,我们不能保证其准确性。

七、仙桃翠菊

仙桃翠菊是一种美丽的花卉植物,因其鲜艳的花朵和独特的芳香而备受人们喜爱。它在中国的园艺界有着悠久的历史,被广泛栽培于花坛、花境和庭院中,为人们带来一片生机盎然的景象。

仙桃翠菊的特点

仙桃翠菊的学名为Chrysanthemum morifolium var. Batheticum,属于菊科菊属。它的花朵呈现多种颜色,如黄色、红色、白色、粉色等,花型丰富多样,有单层花、重瓣花和蟹爪状花等。花朵通常开放在秋季,为人们送来丰收的喜悦。

仙桃翠菊的叶片翠绿鲜亮,植株丰满挺拔,枝条密集,株形整齐。它的茎干坚实有力,抗风能力强,适应性广泛。同时,它具有较强的抗病虫害能力,种植起来相对容易。

仙桃翠菊的栽培方法

土壤选址:仙桃翠菊喜阳光和温暖的环境,适合生长于肥沃疏松、排水良好的土壤中。在栽种前,可以适量施加腐熟的有机肥料,以提升土壤肥力。

定植时间:仙桃翠菊宜在春季或秋季进行定植,这样可以为其提供适宜的生长温度和光照条件。

浇水与施肥:仙桃翠菊生长期间需要适度浇水,特别是在高温干燥的夏季。同时,可以每个月进行一次有机肥料的追肥,以促进植株的茂盛生长。

修剪与摘心:为了使仙桃翠菊保持良好的株形,可以适时进行修剪与摘心。修剪可以促进新梢的生长,摘心可以使植株更加丰满和分枝更加均匀。

病虫害防治:仙桃翠菊一般较为抗病虫害,但仍需注意防治。常见的病害有白粉病、霉菌病等;常见害虫有蚜虫、红蜘蛛等。可以使用合适的药剂进行防治。

仙桃翠菊的美丽和寓意

仙桃翠菊之所以备受人们喜爱,不仅因为它的美丽花朵,还因为它所蕴含的丰富寓意。

花色寓意:仙桃翠菊花色多样,每种颜色都代表着不同的寓意。红色代表着热情和喜庆,白色代表着纯洁和高雅,黄色代表着温暖和辉煌,粉色代表着浪漫和柔情。根据不同的场合和心情,可以选择不同颜色的仙桃翠菊来表达情感。

丰收寓意:仙桃翠菊开放在秋季,正是丰收的季节。因此,仙桃翠菊也寓意着丰收的喜悦和成果的回报。在庭院中种植一些仙桃翠菊,不仅能够增添生机和美丽,还能给人们带来一份对辛勤劳动的褒奖。

吉祥寓意:作为中国传统的花卉之一,仙桃翠菊在文化中也有着重要的地位。它常被用来寓意吉祥和祝福,带来好运和幸福。在节日或重要的场合,赠送一束仙桃翠菊可以传递美好的祝愿和祝福。

结语

仙桃翠菊作为一种美丽的花卉植物,不仅给人们带来了视觉上的享受,更带来了丰收、吉祥和幸福的寓意。在庭院中种植一些仙桃翠菊,不仅可以美化环境,还可以让人们感受到大自然的魅力和丰饶。希望通过本文的介绍,能够让更多的人了解并喜爱上仙桃翠菊,一同享受它带来的美好。

八、佛手仙桃

佛手仙桃:一颗珍贵的果实

佛手仙桃,又称为“佛手果”,是一种独特而珍贵的水果。其外观如同摆开的佛手,因此得名。佛手仙桃不仅具有独特的外形,还拥有丰富的营养价值和医疗功效。它既是一种美味的水果,又是一种被广泛应用于中医药及美容保健领域的草药。

佛手仙桃的特点和生长环境

佛手仙桃是一种柑橘属植物的变种,主要生长在亚洲地区的热带和亚热带地区,如中国、日本、印度等地。它喜欢温暖湿润的气候,对光照和水分的要求也较高。

佛手仙桃的外观呈现出多瓣、有如手指般伸展开来的特殊形态,果肉鲜黄多汁,口感清爽,具有特殊的香气。不同于一般水果,佛手仙桃的果实由多个的小果组成,每个小果内部都蕴含着丰富的汁液和营养物质。

佛手仙桃的营养价值

佛手仙桃富含多种维生素和矿物质,如维生素C、维生素A、钾、镁等。这些营养物质对人体健康具有极大的益处。

维生素C是一种强力的抗氧化剂,有助于增强免疫力,改善肌肤质地,预防感冒和其他疾病。维生素A对视力保护和提高免疫力也起到重要作用。钾和镁是人体必需的矿物质,对维持心脏健康、平衡体液等功能至关重要。

此外,佛手仙桃还含有丰富的水分和纤维素,有助于保持肠道健康和促进消化。它是一种低热量水果,适合作为减肥和健康饮食的选择。

佛手仙桃在中医药中的应用

佛手仙桃在中医药领域有广泛的应用。根据中医理论,佛手仙桃具有开胃消食、祛痰止咳、健脾益气等功效。

佛手仙桃的果皮和果核被用于制作中药,可以作为草药进行煎煮或加工制成药物,用于治疗食欲不振、脾胃虚弱和咳嗽病症。其有效成分能够促进胃液分泌,加速肠道蠕动,改善消化功能。

此外,佛手仙桃在美容保健领域也有一席之地。其丰富的维生素C含量有助于减少黑色素的沉着,提亮肤色,减少皱纹和色斑。其果肉中的天然果酸也能够去除角质,保持皮肤的光滑和细腻。

佛手仙桃的选购和食用

选择成熟的佛手仙桃时,应该注意果皮的颜色是否鲜艳,在轻轻捏压后是否有一定的弹性,有无刺激性气味等。新鲜的佛手仙桃应该触感柔软,果皮光滑,没有软烂或破损。

佛手仙桃的食用方式多样,可以直接食用,也可用于制作果汁、果酱、蜜饯等。它的酸甜口感和特殊的香气,使其成为烹饪和烘焙的理想食材。

然而,需要注意的是,佛手仙桃虽然具有丰富的营养和草药功效,但对于某些人群来说可能存在过敏反应。因此,在食用之前,建议先咨询医生或营养师的建议,避免个体对其不适应或引发过敏问题。

结语

佛手仙桃作为一种珍贵果实,不仅具有独特的外形,还拥有丰富的营养价值和医疗功效。无论是在美味与健康的结合中,还是在中医药和美容保健领域中,佛手仙桃都扮演着重要的角色。

在大自然中,我们可以发现许多珍贵的植物和水果,它们既滋养了我们的身体,又给我们带来了美好的味觉享受。作为爱护自然的一份子,我们应该珍惜这些宝贵的资源,合理利用,并且深入了解它们的特点和价值。

九、凤仙桃

凤仙桃:中国古老的传统水果

凤仙桃,又称为山桃、福桃,是中国传统文化中一种重要的水果。凤仙桃在中国的历史上有着悠久的传统,不仅作为一种食物,更象征着富贵和吉祥。今天,我们将深入了解这个古老水果的由来、特点以及与中国文化的紧密联系。

凤仙桃的由来

凤仙桃的起源可以追溯到中国古代的传说故事。相传,古代有一位美丽而仙女般的姑娘叫做凤仙。她因为积德行善,被天神赐予一个神奇的水晶桃子。这个水晶桃子长得非常诱人,味道鲜美,具有神奇的功效。后来,凤仙将这种桃子种在了中国的山中,于是就有了传说中的凤仙桃。

凤仙桃自古以来就被人们视为吉祥物,并被广泛应用在中国传统文化和艺术中。人们常常在重要的节日和喜庆的场合上使用凤仙桃来表达对富贵、幸福和吉祥的祝愿。

凤仙桃的特点

凤仙桃是一种水果,外形酷似桃子,但是相比较普通桃子,凤仙桃更大、更圆、更饱满。它的皮是鲜艳的红色,充满着诱人的光泽。当你一口咬下去,会感受到它嫩滑多汁的肉质,每一口都仿佛在品尝甜蜜和幸福。

凤仙桃以其独特的风味而受到人们的喜爱。它的口感柔软,味道甜美,同时带有一丝酸爽的感觉。这种完美的平衡使得凤仙桃成为了中国传统水果之一。此外,凤仙桃还富含维生素C、维生素E和纤维素等大量的营养素,有助于提高免疫力、促进消化和美容养颜。

凤仙桃与中国文化

凤仙桃与中国文化有着紧密的联系。它被认为具有象征着吉祥和好运的意义。在许多重要的传统节日,如春节和中秋节,人们常常将凤仙桃用作礼物和装饰品,来表达对亲人和朋友们的祝福。

此外,在中国的传统艺术中,凤仙桃也是一个常见的主题。在绘画、雕刻、剪纸等传统工艺中,人们经常使用凤仙桃来装点作品,以增加吉祥和美好的意象。

凤仙桃在中国的文化传统中扮演着重要的角色。它不仅代表着富贵和吉祥,还寄托了人们的美好愿望。在这个快节奏的现代社会中,人们依然保留着对这种古老水果的喜爱和推崇。

结语

凤仙桃是中国古老传统水果中的一种,它以其独特的风味和象征意义而受到人们的喜爱。它的诱人外形和美味使得人们乐于品尝,同时也激发了他们对富贵和吉祥的向往。

凤仙桃是中国文化中一个重要的符号,在传统节日和艺术创作中都有着广泛的应用。它代表着对美好生活的追求和对幸福的祈愿。

正因为凤仙桃的独特之处和与中国文化的紧密联系,它在中国的地位和价值愈发凸显。

十、mahout面试题?

之前看了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());

}

}

相关资讯
热门频道

Copyright © 2024 招聘街 滇ICP备2024020316号-38