爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      机器学习方法在测井解释上的应用-以岩性分类为例

      首页 知识中心 软件开发 文章详情页

      机器学习方法在测井解释上的应用-以岩性分类为例

      2024-11-27 03:27:28 阅读次数:25

      代码,数据

      机器学习在测井解释上的应用越来越广泛,主要用于提高油气勘探和开发的效率和精度。通过使用机器学习算法,可以从测井数据中自动识别地质特征,预测岩石物理性质,以及优化油气储层的评估和管理。

      以下是机器学习在测井解释中的一些关键应用:

      1. 岩性分类:机器学习模型能够分析测井数据,如声波、电阻率、伽玛射线等,来识别不同的岩石类型和沉积环境。
      2. 孔隙度和渗透性预测:使用机器学习算法可以根据测井数据预测岩石的孔隙度和渗透性,这对于评估储层质量和油气潜力非常关键。
      3. 储层特征化:机器学习方法可以帮助解释和量化储层的复杂特性,如裂缝、岩层压实度和含油饱和度等。
      4. 时间序列分析:在动态测井解释中,机器学习模型能够分析时间序列数据,监测储层的变化,优化生产策略。
      5. 自动化和精确性:通过自动化的数据处理和分析,机器学习可以减少人为误差,提高解释的精确性和效率。

      使用这些技术,地球物理学家和工程师可以更准确地评估油气田的潜力,优化开采计划,从而降低风险和成本。

      本文介绍零基础配置机器学习环境完成测井解释中的常见任务——岩性分类

      1. 配置实验环境

      1.1 安装conda

      Conda 是一个开源的包管理系统和环境管理系统,它支持多种语言,如 Python、R、Ruby、Lua、Scala、Java、JavaScript、C/C++ 等。Conda 主要用于科学计算领域,帮助用户管理依赖关系和环境,从而方便在不同项目之间切换不同的库版本。

      Conda 的主要特点包括:

      1. 跨平台支持:支持 Linux、Windows 和 macOS。
      2. 环境管理:用户可以创建隔离的环境以避免不同库之间的依赖冲突。每个环境可以拥有不同的库版本,使得多项目开发更为便捷。
      3. 便捷的包管理:Conda 允许用户从其仓库中安装、升级和删除软件包。这些软件包预编译好了,可以避免用户自己编译的复杂性。
      4. 大型生态系统:Conda 通过 Anaconda 和 Miniconda 发行版,为用户提供了大量预编译的科学计算和数据科学相关的软件包。

      使用 Conda 的基本命令很简单,比如:

      • 创建新环境:conda create --name myenv python=3.9
      • 激活环境:conda activate myenv
      • 安装包:conda install numpy
      • 列出环境中的包:conda list

      这样的特性使 Conda 成为科学研究和数据科学领域非常受欢迎的工具之一。

      参考安装方法:Conda安装及使用方法

      这里安装成功即可,记得执行配置清华源(国内网速);

      1.2 Conda安装Python环境

      打开终端,windows打开cmd;

      依次执行以下命令:

      # 1. 创建环境
      conda create -n well-logging python=3.9

      机器学习方法在测井解释上的应用-以岩性分类为例

      # 激活环境
      conda activate well-logging

      机器学习方法在测井解释上的应用-以岩性分类为例

      # 安装包
      pip install jupyter
      pip install matplotlib
      pip install pandas
      pip install scikit-learn

      2. 准备数据

      打开vscode ,选择python环境即可

      机器学习方法在测井解释上的应用-以岩性分类为例

      2.1 测井数据准备

      以csv存储的数据为基础,需要包含研究的测井响应特征以判别的标签;这里Core Lithology 作为岩性标签,为了方便研究这里已经将对应的标签进行数据编号;其中 1=粗砂岩 2=中砂岩 3=细砂岩 4=粉砂岩 5=白云岩 6=石灰岩 7=泥岩;

      机器学习方法在测井解释上的应用-以岩性分类为例

      2.2 导入环境

      2.2.1 导入基本环境

      import pandas as pd
      import numpy as np
      import matplotlib as mpl
      import matplotlib.pyplot as plt
      import matplotlib.colors as colors
      from mpl_toolkits.axes_grid1 import make_axes_locatable
      from pandas import set_option
      set_option("display.max_rows", 10)#设置要显示的默认行数,显示的最大行数是10
      pd.options.mode.chained_assignment = None #为了在增加列表行数的时候防止出现setting with copy warning

      2.2.2 读取数据显示

      # 模型训练的数据
      training_data = pd.read_csv('./train.csv')
      training_data
      # 预测的数据
      testing_data = pd.read_csv('./test.csv')
      testing_data

      机器学习方法在测井解释上的应用-以岩性分类为例

      2.2.3 查看数据分布(可选,防止测井响应特征存在缺失情况)

      查看数目、均值、方差、误差分布图

      # 1=粗砂岩  2=中砂岩   3=细砂岩
      # 4=粉砂岩 5=白云岩 6=石灰岩 7=泥岩 ,不同的颜色选项
      facies_colors = ['#F4D03F', '#F5B041','#DC7633','#6E2C00',
             '#1B4F72','#2E86C1', '#AED6F1']
      
      # 类别不支持中文, 编为英文
      facies_labels = ['CS', 'MS', 'FS', 'SS', 'DM',
                       'LS', 'MDS']
      #facies_color_map is a dictionary that maps facies labels
      #to their respective colors
      facies_color_map = {}
      for ind, label in enumerate(facies_labels):
          facies_color_map[label] = facies_colors[ind]
      testing_data.describe()

      机器学习方法在测井解释上的应用-以岩性分类为例

      2.2.3 查看训练数据的标签数量

      #count the number of unique entries for each facies, sort them by facies number (instead of by number of entries)
      #计算每个相的唯一条目数,然后按相数(而不是条目数)对它们进行排序
      facies_counts = training_data['Core Lithology'].value_counts().sort_index()
      #use facies labels to index each count
      #使用相标签索引每个计数
      facies_counts.index = facies_labels
      
      facies_counts.plot(kind='bar',color=facies_colors, 
                         title='Distribution of Training Data by Facies')
      # 各个岩性数据点统计
      facies_counts

      机器学习方法在测井解释上的应用-以岩性分类为例

      2.2.4 提取对应数据

      除Core Lithology 列,其余均为需要研究的测井响应特征、这里全部提取;

      # 训练数据
      correct_facies_labels = training_data['Core Lithology'].values
      correct_facies_labels_test = testing_data['Core Lithology'].values
      # 测试数据
      feature_vectors = training_data.drop(['Core Lithology'], axis=1)
      feature_vectors_test = testing_data.drop(['Core Lithology'], axis=1)
      
      feature_vectors.describe()
      feature_vectors_test.describe()

      机器学习方法在测井解释上的应用-以岩性分类为例

      3. 数据建模

      3.1 数据标准化

      Scikit包含一个预处理模块,可以“标准化”数据(赋予每个变量零均值和单位方差,也称为白化)。 许多机器学习算法都假定特征将是标准的正态分布数据(即:均值和单位方差为零的高斯)。 用于标准化训练集的因素必须应用于将输入到分类器的任何后续功能集中。 StandardScalar类可以适合于训练集,并在以后用于标准化任何训练数据。

      from sklearn import preprocessing
      # 数据标准化
      scaler = preprocessing.StandardScaler().fit(feature_vectors)
      scaled_features = scaler.transform(feature_vectors)
      
      
      scaler_test = preprocessing.StandardScaler().fit(feature_vectors_test)
      scaled_features_test = scaler.transform(feature_vectors_test)
      
      # 数据标准化后数据
      feature_vectors

      机器学习方法在测井解释上的应用-以岩性分类为例

      3.2 数据划分

      X_train = scaled_features
      X_test = scaled_features_test
      y_train = correct_facies_labels
      y_test = correct_facies_labels_test

      3.3 数据建模

      常用的几种分类方法

      # 支持向量机(Support Vector Machine)
      from sklearn.svm import SVC
      # k近邻分类
      from sklearn.neighbors import KNeighborsClassifier
      # 逻辑回归
      from sklearn.linear_model import LogisticRegression
      # 决策树
      from sklearn.tree import DecisionTreeClassifier
      # 随机森林(Random Forest)
      from sklearn.tree import DecisionTreeClassifier
      # 梯度提升树(Gradient Boosting Machines)
      from sklearn.ensemble import GradientBoostingClassifier
      
      
      ## 定义模型,这里调用支持向量机
      clf = SVC()
      # 调用方式如下:
      # clf = KNeighborsClassifier()

      3.4 模型训练

      clf.fit(X_train,y_train)

      3.5 模型预测

      predicted_labels = clf.predict(X_test)

      See the file classification_utilities.py in this repo for the display_cm() function.

      3.6 评估指标

      我们需要一些指标来评估分类器的效果。 混淆矩阵是可用于描述分类模型性能的表。 Scikit-learn通过提供实际和预测的相貌标签,使我们能够轻松创建混淆矩阵。

      混淆矩阵只是2D数组。 混淆矩阵C [i] [j]的条目等于预测具有相j的观测次数,但已知具有相i。

      精度和回忆度是能够更深入地了解分类器对单个相的执行情况的指标。精度是给定一个样本的分类结果,这个样本实际上属于这个类别的概率。召回率是样本将被正确分类为给定类的概率。使用混淆矩阵可以很容易地计算出精确度和查全率

      from sklearn.metrics import confusion_matrix
      from classification_utilities import display_cm, display_adj_cm
      # 混淆矩阵,还有其他例如,准确率、召回率
      conf = confusion_matrix(y_test, predicted_labels)

      3.7 不同超参数调参

      svm算法存在不同过的超参数,需要显示参数过程,以实际准确率作为评估标准,显示不同超参数情况下模型准确率

      #model selection takes a few minutes, change this variable
      #to true to run the parameter loop
      from sklearn.svm import SVC
      def accuracy(conf):
          total_correct = 0.
          nb_classes = conf.shape[0]
          for i in np.arange(0,nb_classes):
              total_correct += conf[i][i]
          acc = total_correct/sum(sum(conf))
          return acc
      def accuracy_adjacent(conf, adjacent_facies):
          nb_classes = conf.shape[0]
          total_correct = 0.
          for i in np.arange(0,nb_classes):
              total_correct += conf[i][i]
              for j in adjacent_facies[i]:
                  total_correct += conf[i][j]
          return total_correct / sum(sum(conf))
      
      do_model_selection = True
      
      if do_model_selection:
          C_range = np.array([.01, 1, 5, 10, 20, 50, 100, 1000, 5000, 10000])
          gamma_range = np.array([0.0001, 0.001, 0.01, 0.1, 1, 10])
          
          fig, axes = plt.subplots(3, 2, 
                              sharex='col', sharey='row',figsize=(10,10))
          plot_number = 0
          for outer_ind, gamma_value in enumerate(gamma_range):
              row = int(plot_number / 2)
              column = int(plot_number % 2)
              cv_errors = np.zeros(C_range.shape)
              train_errors = np.zeros(C_range.shape)
              for index, c_value in enumerate(C_range):
                  
                  clf = SVC(C=c_value, gamma=gamma_value)
                  clf.fit(X_train,y_train)
                  
                  train_conf = confusion_matrix(y_train, clf.predict(X_train))
                  cv_conf = confusion_matrix(y_test, clf.predict(X_test))
              
                  cv_errors[index] = accuracy(cv_conf)
                  train_errors[index] = accuracy(train_conf)
      
              ax = axes[row, column]
              ax.set_title('Gamma = %g'%gamma_value)
              ax.semilogx(C_range, cv_errors, label='CV error')
              ax.semilogx(C_range, train_errors, label='Train error')
              plot_number += 1
              ax.set_ylim([0.2,1])
              
          ax.legend(bbox_to_anchor=(1.05, 0), loc='lower left', borderaxespad=0.)
          fig.text(0.5, 0.03, 'C value', ha='center',
                   fontsize=14)
                   
          fig.text(0.04, 0.5, 'Classification Accuracy', va='center', 
                   rotation='vertical', fontsize=14)

      机器学习方法在测井解释上的应用-以岩性分类为例

      3.8 交叉验证

      clf = SVC(C=10, gamma=1)        
      clf.fit(X_train, y_train)
      
      cv_conf = confusion_matrix(y_test, clf.predict(X_test))
      
      print('Optimized facies classification accuracy = %.2f' % accuracy(cv_conf))
      print(f'准确率{accuracy(cv_conf)}')
      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_13859040/10743675,作者:qq5b42bed9cc7e9,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:OpenCV从入门到精通实战(四)——答题卡识别判卷系统

      下一篇:MASM32编程完善SysInfo遇到奇怪故障,真切感受全局变量和局部变量之别……

      相关文章

      2025-05-19 09:04:53

      【NetApp数据恢复】误操作导致NetApp存储的卷丢失,卷内虚拟机无法访问的数据恢复案例

      【NetApp数据恢复】误操作导致NetApp存储的卷丢失,卷内虚拟机无法访问的数据恢复案例

      2025-05-19 09:04:53
      存储 , 数据 , 数据恢复 , 解压
      2025-05-19 09:04:30

      【Canvas技法】辐射式多道光影的实现

      【Canvas技法】辐射式多道光影的实现

      2025-05-19 09:04:30
      代码 , 函数 , 实现
      2025-05-19 09:04:14

      复杂度的OJ练习

      复杂度的OJ练习

      2025-05-19 09:04:14
      代码 , 复杂度 , 思路 , 数组 , 算法
      2025-05-16 09:15:10

      画图时使用的函数和一些错误处理

      画图时使用的函数和一些错误处理

      2025-05-16 09:15:10
      数据
      2025-05-14 10:33:25

      30天拿下Rust之高级类型

      Rust作为一门系统编程语言,以其独特的内存管理方式和强大的类型系统著称。其中,高级类型的应用,为Rust的开发者提供了丰富的编程工具和手段,使得开发者可以更加灵活和高效地进行编程。

      2025-05-14 10:33:25
      Rust , type , 代码 , 函数 , 类型 , 返回
      2025-05-14 10:33:25

      超级好用的C++实用库之国密sm4算法

      国密SM4算法,全称为国家密码管理局制定的SM4分组密码算法,是中国自主设计的商用密码算法标准之一,用于数据的对称加密。

      2025-05-14 10:33:25
      加密 , 参数 , 数据 , 模式 , 解密
      2025-05-14 10:33:25

      webpack5基础--13_生产模式介绍

      生产模式是开发完成代码后,我们需要得到代码将来部署上线。

      2025-05-14 10:33:25
      npm , 代码 , 优化 , 指令 , 模式 , 运行
      2025-05-14 10:33:16

      30天拿下Rust之模式与模式匹配

      Rust语言以其强大的类型系统和所有权模型而著称,而模式与模式匹配则是Rust中一种非常强大且灵活的工具,它允许我们在编译时根据数据的结构进行条件分支处理。

      2025-05-14 10:33:16
      match , 代码 , 匹配 , 模式 , 模式匹配 , 绑定
      2025-05-14 10:07:38

      30天拿下Python之函数

      在Python中,函数是一段可以重复使用的代码块,它可以提高代码的可重用性和可维护性,是编程中非常重要的概念。

      2025-05-14 10:07:38
      lambda , 代码 , 传递 , 关键字 , 函数 , 参数 , 定义
      2025-05-14 10:07:38

      30天拿下Rust之枚举

      Rust中的枚举是一种用户定义的类型,它允许你为一组相关的值赋予友好的名称。在Rust中,枚举是强大的工具,它们不仅仅用于表示几个固定的值,还可以包含函数和方法,使得枚举成员可以有自己的行为。

      2025-05-14 10:07:38
      match , None , Rust , 代码 , 枚举 , 类型
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5245480

      查看更多

      最新文章

      【Canvas技法】辐射式多道光影的实现

      2025-05-19 09:04:30

      复杂度的OJ练习

      2025-05-19 09:04:14

      30天拿下Rust之高级类型

      2025-05-14 10:33:25

      超级好用的C++实用库之国密sm4算法

      2025-05-14 10:33:25

      webpack5基础--13_生产模式介绍

      2025-05-14 10:33:25

      30天拿下Rust之模式与模式匹配

      2025-05-14 10:33:16

      查看更多

      热门文章

      Python|斐波那契数列

      2023-02-27 10:01:21

      游戏编程之十一 图像页CPICPAGE介绍

      2022-11-28 01:25:04

      PHP:将list列表转为tree树形数据

      2023-02-28 08:23:26

      数据结构与算法之七 栈

      2022-11-17 12:37:20

      Python编程:Crypto模块RSA非对称加密

      2023-02-15 10:02:30

      Python编程:利用peewee的model_to_dict进行数据迁移

      2023-02-21 06:21:46

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      C++ 模板匹配matchTemplate

      git的操作相关(一)

      超级好用的C++实用库之Base64编解码

      从零开始构建区块链:我的区块链开发之旅

      JavaScript 成绩管理系统与值传递、引用传递详解

      通过debug深度解析xJavaFxTool的源码

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号