龍華區(qū)有175.6平方千米。
龍華區(qū),隸屬于廣東省深圳市,位于深圳地理中心和城市發(fā)展中軸,毗鄰“六區(qū)一市”,北鄰東莞市和光明區(qū),東連龍崗,南接福田、羅湖、南山,西靠寶安??偯娣e175.6平方千米
龍華區(qū)常住人口253.51萬人。
2021年,龍華區(qū)實(shí)現(xiàn)地區(qū)生產(chǎn)總值2828.45億元,其中,第一產(chǎn)業(yè)增加值0.59億元,第二產(chǎn)業(yè)增加值1446.99億元,第三產(chǎn)業(yè)增加值1380.87億元。
龍華區(qū)隸屬于廣東省深圳市,位于深圳地理中心和城市發(fā)展中軸,毗鄰“六區(qū)一市”,北鄰東莞市,東接龍崗區(qū),南連福田區(qū)、羅湖區(qū),西靠南山區(qū)、寶安區(qū),是深圳的“后花園”。
龍華區(qū),不屬于廣州,隸屬海南省??谑?。
地處??谑形鞅辈?,介于東經(jīng)110°14'54"~110°24'47",北緯19°43'07"~20°03'10"之間,總面積300.6平方千米。截至2020年6月,龍華區(qū)轄6個街道、5個鎮(zhèn),區(qū)政府駐濱海街道龍昆北路19號。龍華區(qū)地處臺地和平原,屬于熱帶季風(fēng)氣候,有水域面積15.25平方千米。
龍華區(qū)下轄6個街道。截至2018年,龍華區(qū)6個街道辦事處分別為:觀湖街道辦事處、民治街道辦事處、龍華街道辦事處、大浪街道辦事處、福城街道辦事處、觀瀾街道辦事處。
龍華區(qū)有幾個街道
龍華區(qū)隸屬于廣東省深圳市,位于深圳地理中心和城市發(fā)展中軸,毗鄰“六區(qū)一市”。
在龍華區(qū),客家文化、紅色文化、時尚文化交匯,還擁有白石龍中國文化名人大營救舊址。
龍華區(qū)的著名景點(diǎn)有:觀瀾版畫村、觀瀾古墟、麒麟博物館、觀瀾湖、觀瀾山水田園等。
1.深圳灣公園:位于南山區(qū)和龍華區(qū)交界處,占地面積約26萬平方米,是一個集休閑、娛樂、運(yùn)動于一體的濱海公園。
2.香蜜湖公園:位于龍華區(qū)民治街道,占地面積約42萬平方米,是深圳市最大的城市湖泊公園,以湖光山色、花鳥魚蟲為特色。
3.北站公園:位于龍華區(qū)北站附近,占地面積約4.3萬平方米,是一個以鐵路文化為主題的公園。
4.民治花谷公園:位于龍華區(qū)民治街道,占地面積約11萬平方米,是一個充滿花卉景觀的公園。
5.觀湖公園:位于龍華區(qū)觀湖街道,占地面積約16萬平方米,擁有湖泊、山林等自然景觀。
6.陽臺山國家森林公園:位于龍華區(qū)大浪街道,占地面積約9平方公里,是一個集自然、歷史、人文于一體的森林公園。
深圳龍華區(qū)電話區(qū)號為0755。因?yàn)樯钲谑泄矂澐譃?0個行政區(qū),每個行政區(qū)都有自己的電話區(qū)號,而龍華區(qū)是深圳市較新設(shè)立的行政區(qū)之一,電話區(qū)號為0755。除了電話區(qū)號,深圳市還有手機(jī)號碼前綴,目前是以6、7、8、9開頭,具體分別為66、67、68、69。這些前綴號碼也成為大家經(jīng)常所說的“深圳手機(jī)號”。
0898
龍華區(qū),隸屬海南省??谑校靥幒?谑形鞅辈?,介于東經(jīng)110°14'54"110°24'47",北緯19°43'07"20°03'10"之間,總面積300.6平方千米。截至2020年6月,龍華區(qū)轄6個街道、5個鎮(zhèn),區(qū)政府駐濱海街道龍昆北路19號。龍華區(qū)地處臺地和平原,屬于熱帶季風(fēng)氣候,有水域面積15.25平方千米。根據(jù)全國第七次人口普查數(shù)據(jù)顯示,截至2020年11月1日零時,龍華區(qū)常住人口797684人。起源于漢代,開埠于宋末元初。從漢代起,屬廣西。唐貞觀元年(627年),海口始隸屬于瓊山縣。明洪武三年(1370年),劃歸廣東。1982年10月,成立副縣級新華區(qū)人民政府(市政府派出機(jī)構(gòu))。2002年10月16日,撤銷新華區(qū),設(shè)立龍華區(qū)。龍華區(qū)境內(nèi)有騎樓歷史文化街區(qū)、羊山地區(qū)古郡治古村古廟古文化群、新坡冼夫人紀(jì)念館、觀瀾湖風(fēng)情小鎮(zhèn)、馮小剛電影公社、羊山濕地等歷史人文資源。2020年,龍華區(qū)完成地區(qū)生產(chǎn)總值619.8億元,同比增長8.6%,在全市增速名列第一;全口徑財(cái)政收入和地方一般公共預(yù)算收入分別達(dá)155.13億元、27.8億元,增長2.64%和1.6%,在四個區(qū)中增速第一;城鎮(zhèn)和農(nóng)村常住居民人均可支配收入分別增長2.6%、7.9%。
智慧城市是指運(yùn)用物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算、人工智能等新一代信息技術(shù),與城市基礎(chǔ)設(shè)施深度融合,實(shí)現(xiàn)城市管理智能化、產(chǎn)業(yè)發(fā)展智能化、公共服務(wù)智能化、社會治理智能化的城市形態(tài)。近年來,隨著科技的快速發(fā)展,智慧城市建設(shè)已經(jīng)成為城市發(fā)展的重要方向,將各行各業(yè)都帶入了數(shù)字化時代。
作為深圳市的一個重要組成部分,龍華區(qū)一直致力于推動智慧城市建設(shè)。龍華區(qū)位于深圳市中心區(qū),交通便利,擁有得天獨(dú)厚的區(qū)位優(yōu)勢和產(chǎn)業(yè)基礎(chǔ)。龍華區(qū)智慧城市建設(shè)的目標(biāo)是通過信息化技術(shù)的應(yīng)用,提升城市的管理水平、提高居民生活品質(zhì)、促進(jìn)產(chǎn)業(yè)發(fā)展,實(shí)現(xiàn)經(jīng)濟(jì)社會可持續(xù)發(fā)展。
龍華區(qū)智慧城市建設(shè)主要包括以下幾個方面:
龍華區(qū)智慧城市建設(shè)不僅關(guān)乎城市管理和居民生活,也對產(chǎn)業(yè)發(fā)展有著重要意義。通過數(shù)字化轉(zhuǎn)型,龍華區(qū)的產(chǎn)業(yè)將更加智能化、高效化,為區(qū)域經(jīng)濟(jì)發(fā)展注入新動力。
智慧城市建設(shè)對城市和社會的影響是全方位的。首先,智慧城市建設(shè)可以提升城市的整體形象和知名度,吸引更多的人才和資金流入。其次,智慧城市建設(shè)可以提高城市的運(yùn)行效率,降低城市管理成本,改善城市環(huán)境。再次,智慧城市建設(shè)可以推動產(chǎn)業(yè)升級,培育新的經(jīng)濟(jì)增長點(diǎn),促進(jìn)城市經(jīng)濟(jì)的可持續(xù)發(fā)展。
對于居民而言,智慧城市建設(shè)提升了生活質(zhì)量,提供了更便捷、更高效的公共服務(wù),改善了居住環(huán)境,增強(qiáng)了生活幸福感。在智慧城市中,人們可以通過手機(jī)App實(shí)現(xiàn)在線辦公、在線購物、在線醫(yī)療等,生活更加便利。
同時,智慧城市建設(shè)也帶來一些挑戰(zhàn)和問題。隱私保護(hù)、數(shù)據(jù)安全、信息泄露等問題亟待解決。在推動智慧城市建設(shè)的過程中,需要加強(qiáng)相關(guān)法律法規(guī)的制定和完善,營造公平競爭環(huán)境,保障居民的合法權(quán)益。
隨著科技的不斷進(jìn)步和城市化進(jìn)程的加快,智慧城市建設(shè)將迎來更廣闊的發(fā)展空間和更多的機(jī)遇。未來,智慧城市將更加智能化、綠色化、共享化。人工智能、5G技術(shù)、物聯(lián)網(wǎng)等新技術(shù)將得到更廣泛的應(yīng)用,智慧城市系統(tǒng)將更加完善,服務(wù)將更加便捷。
在龍華區(qū)智慧城市建設(shè)中,政府、企業(yè)、居民等各方將共同努力,推動智慧城市建設(shè)取得更大成就。龍華區(qū)將積極探索智慧城市建設(shè)的路徑,不斷完善智慧城市建設(shè)的體系,為打造宜居宜業(yè)的現(xiàn)代化城市作出積極貢獻(xiàn)。
智慧城市建設(shè)是城市發(fā)展的必然選擇,也是社會進(jìn)步的需要。只有不斷創(chuàng)新、不斷探索,才能實(shí)現(xiàn)城市的可持續(xù)發(fā)展,為人民群眾創(chuàng)造更加美好的生活。
之前看了Mahout官方示例 20news 的調(diào)用實(shí)現(xiàn);于是想根據(jù)示例的流程實(shí)現(xiàn)其他例子。網(wǎng)上看到了一個關(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
檢測數(shù)據(jù):
sunny,hot,high,weak
結(jié)果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代碼調(diào)用Mahout的工具類實(shí)現(xiàn)分類。
基本思想:
1. 構(gòu)造分類數(shù)據(jù)。
2. 使用Mahout工具類進(jìn)行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。
4. 分類器對vector數(shù)據(jù)進(jìn)行分類。
接下來貼下我的代碼實(shí)現(xiàn)=》
1. 構(gòu)造分類數(shù)據(jù):
在hdfs主要創(chuàng)建一個文件夾路徑 /zhoujainfeng/playtennis/input 并將分類文件夾 no 和 yes 的數(shù)據(jù)傳到hdfs上面。
數(shù)據(jù)文件格式,如D1文件內(nèi)容: Sunny Hot High Weak
2. 使用Mahout工具類進(jìn)行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。
4. 分類器對vector數(shù)據(jù)進(jìn)行分類。
這三步,代碼我就一次全貼出來;主要是兩個類 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) {
//將訓(xùn)練數(shù)據(jù)轉(zhuǎn)換成 vector數(shù)據(jù)
makeTrainVector();
//產(chǎn)生訓(xùn)練模型
makeModel(false);
//測試檢測數(shù)據(jù)
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//將測試數(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(){
//將測試數(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("文件序列化失??!");
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("檢測數(shù)據(jù)構(gòu)造成vectors初始化時報(bào)錯。。。。");
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ù)
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());
}
}