《封号码罗》数据分析与人工智能之KNN分类问题(七)

数据挖掘算法原理与实践:k-近邻 这里写自定义目录标题数据挖掘算法原理与实践:k-近邻任务代码1代码2knn算法思想 数据挖掘算法原理与实践:k-近邻 任务 1.本关任务:使用python实现方法,找出目标样本最近的k个样本。 2.使用python实现knn算法,并对手写数字进行识别。 代码1 #encoding=utf8 import numpy as np def topK(i,k,x,y): ''' input: i(int):第i个样本 k(int):最近邻样本个数 阅读详情

第一部分

# KNN
# K最近邻(k-Nearest Neighbor,KNN)分类算法:
# 是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。
# 该方法的思路是:
# 在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。

#  欧几里得距离
# 计算公式(n维空间下)
# 二维:dis=sqrt(  (x1-x2)^2 + (y1-y2)^2  )
# 三维:dis=sqrt( (x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2 )

import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier  # 分类问题
from sklearn.neighbors import KNeighborsRegressor  # 回归问题
import time

# 全局配置pandas
pd.set_option('display.max_columns', None)  # None显示所有列
pd.set_option('display.max_rows', 200)  # None显示所有行
pd.set_option('display.width', None)  # 无限宽度
pd.set_option('display.max_colwidth', 200)  # 设置value的显示长度为100,默认为50
pd.set_option("display.float_format", lambda x: "%0.2f" % (x))  # 保留两位小数

# 用pandas展示数据输出时列名不能对齐,是列名用了中文的缘故
# 用下面两个参数 它们的默认设置都是False
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)

movie = pd.read_excel("./movies.xlsx", sheet_name=0)
X = movie[["武打镜头", "接吻镜头"]]  # 取出用于分类的数据,数据决定了类型
y = movie["分类情况"]  # y就是目标值,本数据中的最后一列(分类情况)
# 从数据里面找附近的五个数据,五个数据进行投票划分
# witghts 权重分配,默认是uniform统一权重
# n_jobs 默认为1,单线程计算数据模型,-1为多线程,自动按CPU配置使用多线程
knn = KNeighborsClassifier(n_neighbors=5, weights="distance", n_jobs=-1)
knn.fit(X, y)  # 该方法,就是训练数据

# print(knn.fit(X, y))
# KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
#                      metric_params=None, n_jobs=None, n_neighbors=5, p=2,
#                      weights='uniform')

# 预测新电影
# 电影名称  武打镜头  接吻镜头
# 西游记       100       5
# 水浒传       200       8
# 红楼梦       10       90
# X_test = pd.DataFrame({"武打镜头": [100], "接吻镜头": [5]}) # 测试单个数据
X_test = pd.DataFrame({"武打镜头": [100, 200, 10], "接吻镜头": [5, 8, 90]})
# res = knn.predict(X_test)  # ['动作片' '动作片' '爱情片']
res = knn.predict_proba(X_test)  # 显示概率
# [[0.6 0.4]
#  [0.6 0.4]
#  [0.4 0.6]]

# 计算过程:根据欧几里得公式 在第9行  按照西游记给的数据来分解步骤
s = ((movie["武打镜头"] - 100) ** 2 + (movie["接吻镜头"] - 2) ** 2) ** 0.5
# 0    64.01
# 1    57.00
# 2   100.32
# 3    41.01
# 4    99.85
# 5    99.46
# 给s进行排序
index = s.sort_values().index  # 获取排序之后的index  Int64Index([3, 1, 0, 5, 4, 2], dtype='int64')
classifier = movie["分类情况"][index[:5]]
# print(classifier)
# 3    动作片
# 1    动作片
# 0    动作片
# 5    爱情片
# 4    爱情片
# 投票划分:动作片3票,爱情片2票, 3>2,结果为动作片


start = time.perf_counter()
print(res)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第二部分

import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier  # 分类问题
from sklearn.neighbors import KNeighborsRegressor  # 回归问题
import time

# 用pandas展示数据输出时列名不能对齐,是列名用了中文的缘故
# 用下面两个参数 它们的默认设置都是False
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)

# 第一步:导入数据
salary = pd.read_excel("./movies.xlsx")
# 第二步:找准目标值数据
y = salary["分类情况"]
# 第三步:找准测试数据
X = salary.iloc[:, [0, 1, 2]]
# print(X)

# print(X.info())
# 注意:str类型的数据,是不能计算距离的

# 数据预处理。数据转换
workclass = X["电影名称"].unique()
m = {}
for i, work in enumerate(workclass):
    m[work] = i
# print(m)
X["电影名称"] = X["电影名称"].map(m)  # map在内的字典映射

# 假如还有列是字符串类型的数据
for col in X.columns[1:]:  # 遍历所有的字符串类型的列
    u = X[col].unique()  # 首先找到当前列的去重值   u是去重之后的列表


    def convert(x):
        # u是去重之后的列表 x是当前列中每一行的值,因为map会遍历每一行的值
        # np.argwhere( a ) 返回非0的数组元组的索引,其中a是要索引数组的条件。
        # 返回的是数组,那条件就是u列表里面的某个数据等于穿过来的x,返回u的索引位置
        # 返回值如[[5]],使用[0,0]就可以取出这个索引
        return np.argwhere(u == x)[0, 0]


    # u = X["电影名称"].unique()    ["西游记","红楼梦","水浒传"]
    # u == "红楼梦"  [False,True,False]    返回True的索引
    # np.argwhere(u == "红楼梦")[0, 0]
    # 拿到convert返回来的索引值,在复制给当前列该行的值
    X[col] = X[col].map(convert)  # map(可以是字典也可以是方法)

from sklearn.model_selection import train_test_split  # 分割训练集和测试集

a = np.arange(100)
b = a * 10
# a_train, a_test = train_test_split(a, test_size=0.2)
# a_train, a_test, b_train, b_test = train_test_split(a, b, test_size=0.2)  # 拆分的时候一一对应
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)  # 拆分的时候一一对应
# print(a_train, "\n", a_test)
# print(a_train, "\n", a_test, b_train, "\n", b_test)

# print(X.head())
# print(X.columns)

# 第四步:声明knn算法对象
knn = KNeighborsClassifier(n_neighbors=4)
# 第五步:测试模型
knn.fit(X_train, y_train)
# 第六步:评估
y_ = knn.predict(X_test)
res = y_ == y_test
res.mean()
# 第七步:优化-,消除属性的差异
# 查看数据是否可以归一化  最大值,最小值
v_min = X.min()
v_max = X.max()
X2 = (X - v_min) / (v_max - v_min)
X2_train, X2_test, y2_train, y2_test = train_test_split(X2, y, test_size=0.2)  # 拆分的时候一一对应
knn2 = KNeighborsClassifier(n_neighbors=4, weights="distance")
knn2.fit(X2_train, y2_train)
y2_ = knn2.predict(X2_test)
res2 = y2_ == y2_test
res2.mean()

# 第七步:优化二,Z-score
v_mean = X.mean()
v_std = X.std()
X3 = (X - v_mean) / v_std
X3_train, X3_test, y3_train, y3_test = train_test_split(X3, y, test_size=0.2)  # 拆分的时候一一对应
knn3 = KNeighborsClassifier(n_neighbors=4, weights="distance")
knn3.fit(X3_train, y3_train)
y3_ = knn3.predict(X3_test)
res3 = y3_ == y3_test
res3.mean()

# 第七步:优化三 使用封装好的包,和上面的归一化一样StandardScaler,MinMaxScaler
from sklearn.preprocessing import StandardScaler, MinMaxScaler

s = StandardScaler()  # 和Z-score操作相等
X4 = s.fit_transform(X)  # 返回一个ndarray对象,没有head()方法,DataFrame才有
# print(X4)

s2 = MinMaxScaler()  # 和最大值,最小值归一化操作相等
X5 = s2.fit_transform(X)  # 返回一个ndarray对象,没有head()方法,DataFrame才有
# print(X5)

# map()方法转成数值型数据  这个过程就是量化  数量化的简称就是量化
# 金融量化,就是把里面一些字符数据转换成合理的数值型数据

# 数据提升:
# 修改算法参数
# 处理数据
# 数据挖掘,添加一列(自由组合某一列和另一列聚合之类的操作等等)

# 保存模型  externals 美[ɪkˈstɜːrnlz]  外表; 外观; 外貌;
from sklearn.externals import joblib  # 方法被弃用,直接使用下面这个包
import joblib

# joblib.dump(knn, "./model")
# joblib.dump(knn, "./model", compress=9)  # 0~9 数字越大,压缩的越小
model = joblib.load("./model")  # 导入模型
score = model.score(X_test, y_test)  # 使用测试集评估准确率

start = time.perf_counter()
# print(X_train, "\n", X_test, "\n", y_train, "\n", y_test)
print(score)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第三部分

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[Python人工智能] 十二.循环神经网络RNN和LSTM原理详解及TensorFlow编写RNN分类案例 从本专栏开始,作者正式开始研究Python深度学习、神经网络及人工智能相关知识。前一篇讲解了TensorFlow如何保存变量和神经网络参数,通过Saver保存神经网络,再通过Restore调用训练好的神经网络。本文将详细讲解循环神经网络RNN和长短期记忆网络LSTM的原理知识,并采用TensorFlow实现手写数字识别的RNN分类案例。基础性文章,希望对您有所帮助。 阅读详情

相关推荐

人工智能和云计算带来的技术变革:自动化与智能化的融合

作者:禅与计算机程序设计艺术 1.背景介绍 随着信息技术的快速发展,计算机技术已经越来越多地应用在各个行业领域,例如金融、电信、电子商务、医疗等。越来越多的人开始用自己的手机、平板、桌面电脑、服务器等设备进行网络和数据通信,获得更多的信息和服务。 同时,由于经济实力的不断增强,一些大型

AI天才研究院 383

educoder 数据挖掘算法原理与实践:k-近邻

第1关:knn算法概述 #encoding=utf8 import numpy as np def topK(i,k,x,y): ''' input: i(int):第i个样本 k(int):最近邻样本个数 x(ndarray):数据特征 y(ndarray):数据标签 output: topK(list):样本i的最近k个样本标签 ''' #*********Begin********

木右加木 就是木木 2299

2、疾病预诊断与生成报告及视障辅助系统介绍

本文介绍了两个基于先进人工智能技术的应用系统:疾病预诊断与生成报告系统,以及面向视障人士的音频辅助面部和文本识别系统。前者利用机器学习、数据挖掘和云计算技术,结合KNN、SVM等算法对患者症状和生理参数进行分析,实现疾病预测并生成个性化治疗建议报告;后者通过Raspberry Pi平台集成MTCNN、EAST和Tesseract OCR等算法,实现便携式面部与文本识别,并将结果转化为语音输出,提升视障人士的独立生活能力。系统强调数据安全、隐私保护与用户体验,展示了AI在医疗健康与社会关怀领域的实际应用价值。

h9j8k7l6m5n的博客 45

Python中Pandas学习笔记

1、pandas数据列名对齐 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使列名对齐 df = pd.read_excel('export_excel_data.xlsx') print(df) 实际运行结果为如下,没有对齐 print在console line下服务,这个显示基本上只能满足基本需求(这是在pycharm上运行的结果,但是在ipython上运行却可以) 2 jupyt

qq_42462719的博客 5134

大数据领域数据清洗的常见难题及解决办法

想象一下,你想做一份"全校同学最爱的冰淇淋口味"调查报告,但收集到的问卷里:10%的问卷没填口味(缺数据),5%的问卷写着"300岁"(明显错误),还有20%的问卷其实是同一个人填了三遍(重复提交),甚至有人把"巧克力"写成"巧克立"“Chocolate”“QKL”(格式混乱)。如果直接用这些数据做分析,结果肯定是错的——这就是数据清洗要解决的问题。本文聚焦大数据场景。

大数据洞察的博客 474

Linux yum源配置以及yum命令讲解

前面为大家介绍了RPM二进制包安装软件,RPM包安装的最大的缺点也提到过,就是依赖性太强,一旦遇到依赖问题,则需要我们手动解决包之间具有依赖性的问题,今天为大家介绍一种可自动解决包之间依赖关系的安装方式:yum。 yum 全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上我们通常可以通过各种软件管家实现软件的一键安装、升级和卸载,yum就是Linux 系统中的一键安装工具。yum 解决依赖关系的基本逻辑是:yu

九派Linux的博客 2282

学习专栏-关于Python读取数据学习记录

首先先写一串代码来产生一个数组DataFrame: 代码如下: import pandas as pd #解决数据输出时列名不对齐的问题 pd.set_option('display.unicode.east_asian_width',True) data=[[110,110,99],[105,88,115],[109,120,130],[112,115]] name=['明日','七月流火','高袁圆','二月二'] columns=['语文','数学','英语'] df=pd.DataFra

qq_34991100的博客 831

聚类模型-层次聚类

聚类模型 1、层次聚类 2、原型聚类-K-means 3、模型聚类-GMM 4、EM算法-LDA主题模型 5、密度聚类-DBSCAN 6、图聚类-谱聚类 一、层次聚类 一、聚类理论 ​ 一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成ccc类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,...

myazi 6502

在Python中用 pandas read_excel 的时候报错

1

qq_34991100的博客 1万+

vit的cam和注意力图: VIT模型的可解释性

VIT的热力图怎么画

YI_SHU_JIA的博客 1万+

Nginx的启动、停止与重启命令(非yum方式安装)图解版

目录一、Nginx启动二、Nginx停止的三种方式2.1、第一种方式(从容停止)2.2、第二种方式(快速停止)2.3、第三种方式(强制停止)三、Nginx重启3.1、首先,验证nginx配置文件是否正确3.1.1、验证nginx配置文件(方法一)3.1.1、验证nginx配置文件(方法二)3.2、最后,重启Nginx服务3.2.1、重启Nginx服务(方法一)3.2.2、重启Nginx服务(方法二) 一、Nginx启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 /usr/loc

小志的博客 6851

《封号码罗》数据分析与人工智能之sklearn模型评估和交叉表(十)

第一部分 import numpy as np from sklearn.linear_model import LinearRegression import sklearn.datasets as datasets # 线性回归评价标准 糖尿病数据 diabetes = datasets.load_diabetes() # print(datasets) X = diabetes["dat...

Python_DJ的博客 273

基于STM32智能教室灯光照明人数监测系统

本文设计了一套基于STM32和物联网技术的智能教室照明系统,通过光照传感器和双红外对管实现精准人数统计,结合"光照+人数"双条件判断实现按需照明。系统采用"感知-决策-执行-云联"架构,包含环境感知、人数统计、控制执行等模块,支持本地自动控制和手机APP远程管理。测试表明系统能有效避免"长明灯"现象,具有节能降耗、管理智能化的特点。创新点在于双向人数统计算法和双条件控制逻辑,为智慧校园建设提供了实用解决方案。

1158

分类2(决策树,信息增益,神经网络,人工神经网络,Hopfield神经网络)——数据分析与R语言 Lecture 8

分类2(决策树,信息增益,神经网络,人工神经网络,Hopfield神经网络)——数据分析与R语言 Lecture 8KNN(最大近邻算法)决策树 decision tree信息增益(《数据挖掘概念与技术——韩家炜》)= 熵神经网络ANN使用R语言实现人工神经网络人工神经网络应用举例Hopfield神经网络 数据挖掘:数据角度看待 人工智能和机器学习:从人脑角度看 模式识别:从应用角度看待,有规律...

CHEN_BR/BLOG 814

从零开始:QNX SDP 8.0开发环境搭建与实战入门

本文详细介绍了如何从零开始搭建QNX SDP 8.0开发环境并进行实战入门。内容涵盖许可证获取、环境安装、命令行与IDE工具使用、BSP构建、系统镜像生成,以及编写、编译和运行第一个QNX程序的全过程。旨在帮助嵌入式开发者,特别是汽车电子和工业控制领域的工程师,快速掌握这一实时操作系统(RTOS)的开发基础。

weixin_29163857的博客 640

立创星火计划:基于STM32H743VIH6的Maverick_H743_MK1.0高性能开源飞控硬件全解析

本文详细解析了基于STM32H743VIH6核心的Maverick_H743_MK1.0高性能开源飞控硬件设计。重点阐述了采用双IMU冗余设计、高精度气压计、多路独立电源管理以及丰富接口(如CAN总线)的考量,旨在为穿越机、科研无人机等平台提供强大、可靠的飞行控制解决方案。

weixin_28787801的博客 197

数据分析之乳腺癌预测

零、定义问题1.1 数据介绍http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.names#属性域1.示例代码号码2.块厚度1 - 103.细胞大小的一致性1 - 104.电池形状的均匀性1 - 105.边缘附着力1 - 106.单个上皮细胞......

若云流风的专栏 2万+

【四足机器人项目实战】四足机器人腿部机械结构设计

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对四足机器人–腿部机械结构设计做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 为了减轻腿部惯量,使用有限元分析着重进行轻量化设计,小腿采用工字梁方案,大腿采用内部镂方案,并使用1.5 mm的AL 6061硬质材料,轻量化的腿部设了腿部运动时摆动

qq_35635374的博客 7538

Python数据分析可视化和大模型的随想

数据挖掘

qq_54521398的博客 716

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

titanic生存率数据分析

该例程通过分析titanic数据中个各个特征来判断最后是否获救。例程背景就不多说了,网上到处都有。 该例程是到目前kaggle上讨论最多,关注度最高,最活跃的一个,其中有对数据处理的常见的方法如:缺失值处理、类别值处理,离散值处理。也包括了对应该问题的最常见的适用算法。 该例程的数据集在这里:https://download.youkuaiyun.com/download/rh8866/12507192 代码中有较详细的注释说明,直接上代码: import pandas as pd import numpy

小灰灰的博客 1535

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Python+AI提示词出租车出行轨迹:梯度提升GBR、KNN、LR回归、随机森林融合预测及贝叶斯概率异常检测研究

在当今数字化浪潮席卷全球的时代,城市交通领域的海量数据如同蕴藏着无限价值的宝藏等待挖掘。作为数据科学家,我们肩负着从复杂数据中提取关键信息、构建有效模型以助力决策的使命。我们团队承接并完成了一项极具挑战性的咨询项目 —— 针对出租车出行数据的深度分析与预测研究。该项目旨在通过对出租车运营数据的全方位剖析,为城市交通资源优化配置与科学规划提供坚实的数据支撑。项目伊始,我们面对的是出租车出行的原始数据,这些数据包含行程标识、叫车方式、时间信息、GPS 坐标等多维度特征,然而数据缺失与异常问题也随之而来。

大数据部落 1003

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Kaggle之泰坦尼克号

本文大部分内容参考于这里以及这里,主要用于自己阅读后的总结以及结果的复现。 Titanic 是kaggle上每个新手都要接触的第一个项目。机器学习在最开始创建模型的时候不要先想着做得完美,可以先做一个baseline出来,再慢慢挖掘数据的特征优化模型。 前人说过,对数据的特征分析比模型的建立还重要,因此打算用Titanic这个数据集,对特征分析(feature engineering) 作一个深入...

a136522541的博客 965

Python 100天学习路线:从记语法到交付项目,每天学什么一次讲清

装好 Python 之后,教程看到一半就找不到下一步该干什么,你是不是也卡在这?Python-100-Days(官方全名"Python - 100天从新手到大师")把 100 天的学习拆成了 100 个独立单元:每天任务明确、每章带练习,学完每个阶段就有一件拿得出手的东西。它解决的不是"教你更多语法",而是"你今天干什么、明天干什么"。 [![TIOBE 编程语言排行榜中 Python 位列第一

gitblog_00400的博客 876

Python+AI提示词出租车出行轨迹预测:梯度提升GBR、KNN、LR回归、随机森林融合及贝叶斯概率异常检测研究

在未来的研究中,我们可以进一步优化这些模型,比如调整模型的超参数、尝试更多的特征工程方法,或者结合多个模型的预测结果,以提高预测的准确性和可靠性。在对出租车出行数据进行了详细的探索性分析和异常数据检测后,我们进一步深入研究,尝试构建多种机器学习模型来对出租车的行程进行预测,以便更精准地把握出租车出行的规律,为城市交通规划和运营提供更有力的支持。从结果来看,不同的模型各有优劣。为了构建合适的机器学习模型,我们首先对数据进行了必要的预处理和特征工程,将数据划分为训练集和测试集,分别用于模型的训练和评估。

拓端研究室TRL 965

Kaggle入门记录

比赛地址:https://www.kaggle.com/ 参考文章:https://blog.youkuaiyun.com/u012162613/article/details/41929171 注册好账号,验证手机号码:+86xxxxxxxxxxx 找到getting started ->digit-recognizer->join competing->Data 下载好数...

Willing Tong的博客 265

基于BP神经网络的手写文字识别系统(源码+文档+部署讲解等)

手写文字辨识是机器学习的一个重要领域,广泛应用于当今信息化社会。比如信件分类、银行钞票识别,然而,在当前的情况下,脱机手写文字识别对于印刷体手写文字识别和联机手写文字识别,其准确性还存在一定程度的改进空间。确定率尚未令人满意,仍有待改善。因此,手写文字的识别研究具有广泛的实际应用和学术意义 该系统主要运用K最邻近算法,实现手写文字的识别,支持识别上传的本地图片。这样,系统能够对数据集进行完善,并测试识别率,使得手写文字识别系统更加完善。本文也使用python的GUI编程中的tkinter模块设计出了一个用户

weixin_50956837的博客 1006
上一篇: 《封号码罗》数据分析与人工智能之matplotlib(六)
下一篇: 《封号码罗》数据分析与人工智能之sklearn回归问题(八)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值