DM Hw1

1

( a )

  • 均值: 29.963 29.963 29.963
  • 中位数: 25 25 25

( b )

  • 众数: 25 、 35 25、35 2535
  • 双峰分布,即二模

( c )

  • 中列数: 70 + 13 2 = 41.5 \frac{70 + 13}{2} = 41.5 270+13=41.5

( d )

  • 第一个四分位数: ⌈ 27 4 ⌉ = 7 \lceil \frac{27}{4} \rceil = 7 427=7 处, Q 1 : 20 Q_1 : 20 Q120
  • 第三个四分位数为: 7 × 3 = 21 7×3=21 7×3=21 处, Q 3 : 35 Q_3 : 35 Q335

( e )

  • 最小值: 13 13 13
  • Q1 20 20 20
  • 中位数: 25 25 25
  • Q3 35 35 35
  • 最大值: 70 70 70

( f )

在这里插入图片描述

( g )

  • 分位数-分位数图是散点图,主要用于反映同一 属性的不同样本的数据分布情况,以观察从一个分布到另一个分布数据之间的联系。
  • 分位数图用于观察单个变量的数据分布,用于展示数据的分布和离群值情况。

2

N = 200 + 450 + 300 + 1500 + 700 + 44 = 3194 N = 200 + 450 + 300 + 1500 + 700 + 44 = 3194 N=200+450+300+1500+700+44=3194

N 2 = 1597 \frac{N}{2} = 1597 2N=1597

所以,中位数区间为 21 21 21 ~ 50 50 50

有:
L 1 = 21 L_1 = 21 L1=21
( Σ f r e q ) l = 300 + 450 + 200 = 950 (\Sigma freq)_l = 300 + 450 + 200 = 950 (Σfreq)l=300+450+200=950
f r e q m e d i a n = 1500 freq_{median} = 1500 freqmedian=1500
w i d t h = 30 width = 30 width=30

根据插值计算:

m e d i a n = L 1 + ( N 2 + ( Σ f r e q ) l f r e q m e d i a n ) w i d t h = 33.94 median = L_1 + (\frac{\frac{N}{2} + (\Sigma freq)_l}{freq_{median}}) width = 33.94 median=L1+(freqmedian2N+(Σfreq)l)width=33.94


3

( a )

  • age
    平均值: 46.444 46.444 46.444
    中位数: 51 51 51
    标准差: 13.219 13.219 13.219

  • %fat
    平均值: 28.783 28.783 28.783
    中位数: 30.7 30.7 30.7
    标准差: 9.254 9.254 9.254

( b )

在这里插入图片描述

( c )

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


4

( a )

  • 欧几里得距离: 6.708 6.708 6.708

( b )

  • 曼哈顿距离: 11 11 11

( c )

  • 闵可夫斯基距离: 6.153 6.153 6.153

( d )

  • 上确界距离: 6 6 6

5

( a )

  • 欧几里得: x 1 x_1 x1 x 4 x_4 x4 x 3 x_3 x3 x 5 x_5 x5 x 2 x_2 x2
  • 曼哈顿距离: x 1 x_1 x1 x 4 x_4 x4 x 3 x_3 x3 x 5 x_5 x5 x 2 x_2 x2
  • 上确界距离: x 1 x_1 x1 x 4 x_4 x4 x 3 x_3 x3 x 5 x_5 x5 x 2 x_2 x2
  • 余弦相似性: x 1 x_1 x1 x 3 x_3 x3 x 4 x_4 x4 x 2 x_2 x2 x 5 x_5 x5

( b )

规格化后的数据为:

x 1 x_1 x1 ( 0.6616 , 0.7498 ) (0.6616, 0.7498) 0.6616,0.7498

x 2 x_2 x2 ( 0.7250 , 0.6887 ) (0.7250,0.6887) 0.72500.6887

x 3 x_3 x3 ( 0.6644 , 0.7474 ) (0.6644,0.7474) 0.66440.7474

x 4 x_4 x4 ( 0.6247 , 0.7089 ) (0.6247,0.7089) 0.62470.7089

x 5 x_5 x5 ( 0.8321 , 0.5547 ) (0.8321,0.5547) 0.83210.5547

排序为: x 1 x_1 x1 x 3 x_3 x3 x 4 x_4 x4 x 2 x_2 x2 x 5 x_5 x5


6

# hw1-6.py
import numpy as np
import matplotlib.pyplot as plt

def simulate_sampling_prob(num_clusters, sample_sizes, num_simulations):
    results = []
    
    for sample_size in sample_sizes:
        success_count = 0
        
        for _ in range(num_simulations):
            # 生成随机的簇标签
            clusters = np.random.randint(0, num_clusters, size=sample_size)
            # 确定包含的独特簇标签
            unique_clusters = np.unique(clusters)
            
            # 如果包含了所有簇,则计数加1
            if len(unique_clusters) == num_clusters:
                success_count += 1
        
        # 计算成功概率并添加到结果列表中
        success_prob = success_count / num_simulations
        results.append(success_prob)
    
    return results

# 设置参数
num_clusters = 10
sample_sizes = range(0, 70, 1)
num_simulations = 1000

# 模拟抽样概率
probabilities = simulate_sampling_prob(num_clusters, sample_sizes, num_simulations)

# 绘制折线图
plt.plot(sample_sizes, probabilities)
plt.xlabel('Sample Size')
plt.ylabel('Probability')
plt.title('Sampling Probability of Obtaining at least one representative from each cluster')
plt.show()

结果图:
在这里插入图片描述


7

( a )

汉明距离: 3 3 3
Jaccard相似度: 0.4 0.4 0.4

( b )

  • Jaccard相似度更类似于简单匹配系数,重视两个向量中相同元素的比例。
  • 汉明距离更类似于余弦度量,度量它们之间的相似性。

( c )

Jaccard相似度更适用。
因为需要匹配两者都均有的基因来比较有机体的相似性。而汉明距离只考虑二进位的差异,使用Jaccard相似度则可以计算两个有机体之间共同基因的比例,从而比较它们的相似性。

( d )

汉明距离更适用。
构成相同物种的两个有机体的基因相似性非常高,汉明距离可以有效地捕捉到二进位差异的数量,着重两者不同的基因。


8

( a )

  • 余弦: 1 1 1
  • 相关: 0 / 0 0/0 0/0
  • 欧几里得: 2 2 2

( b )

  • 余弦: 0 0 0
  • 相关: − 1 -1 1
  • 欧几里得: 2 2 2
  • Jaccard: 0 0 0

( c )

  • 余弦: 0 0 0
  • 相关: 0 0 0
  • 欧几里得: 2 2 2

( d )

  • 余弦: 0.75 0.75 0.75
  • 相关: 0.25 0.25 0.25
  • Jaccard: 0.6 0.6 0.6

( e )

  • 余弦: 0 0 0
  • 相关: 0 0 0

9

满足度量公式的三个性质:非负性、同一性和三角不等式

  • 非负性:
    s i z e ( A − B ) size(A - B) size(AB) s i z e ( B − A ) size(B - A) size(BA) 均非负
    所以 d ( A , B ) = s i z e ( A − B ) + s i z e ( B − A ) ≥ 0 d ( A , B ) = size(A - B) + size(B - A) \geq 0 d(A,B)=size(AB)+size(BA)0

  • 同一性:
    A = B A = B A=B
    s i z e ( A − B ) size(A - B) size(AB) s i z e ( B − A ) size(B - A) size(BA) 均为 0 0 0
    所以 d ( A , B ) = 0 d(A, B) = 0 d(A,B)=0

  • 三角不等式:
    因为 d ( A , B ) = s i z e ( A ) + s i z e ( B ) − 2 s i z e ( A ∩ B ) d( A , B) = size(A) + size(B) - 2size(A ∩ B) d(A,B)=size(A)+size(B)2size(AB)
    所以有 d ( A , B ) + d ( B , C ) = s i z e ( A ) + s i z e ( C ) + 2 s i z e ( B ) − 2 s i z e ( A ∩ B ) − 2 s i z e ( B ∩ C ) d(A , B) + d(B , C) = size(A) + size(C) + 2size(B) - 2size(A ∩ B) - 2size(B ∩ C) d(A,B)+d(B,C)=size(A)+size(C)+2size(B)2size(AB)2size(BC)
    又有 s i z e ( A ∩ B ) ≤ s i z e ( B ) , s i z e ( B ∩ C ) ≤ s i z e ( B ) size(A ∩ B) ≤ size(B),size(B ∩ C) ≤ size(B) size(AB)size(B)size(BC)size(B)
    所以 d ( A , B ) + d ( B , C ) ≥ s i z e ( A ) + s i z e ( C ) + 2 s i z e ( B ) − 2 s i z e ( B ) = s i z e ( A ) + s i z e ( C ) ≥ s i z e ( A ) + s i z e ( C ) − 2 s i z e ( A ∩ C ) = d ( A , C ) \begin{aligned}d(A , B) + d(B , C) &≥ size(A) + size(C) + 2size(B) - 2size(B) \\&= size(A) + size(C) ≥ size(A) + size(C) - 2size(A ∩ C) \\&= d(A , C)\end{aligned} d(A,B)+d(B,C)size(A)+size(C)+2size(B)2size(B)=size(A)+size(C)size(A)+size(C)2size(AC)=d(A,C)
    证明三角不等式成立

综上所述 d ( A , B ) = s i z e ( A − B ) + s i z e ( B − A ) d(A, B) = size(A - B) + size(B - A) d(A,B)=size(AB)+size(BA)满足度量公理。


10

( a )

d ( y , z ) ≤ d ( y , x ) + d ( x , z ) d( y , z ) \leq d( y , x ) + d( x , z ) d(y,z)d(y,x)+d(x,z)

d ( x , y ) ≤ ϵ 2 , d ( x , z ) ≤ ϵ 2 d( x , y ) \leq \frac{\epsilon}{2},d( x , z ) \leq \frac{\epsilon}{2} d(x,y)2ϵd(x,z)2ϵ

d ( y , z ) d( y , z ) d(y,z) 不必计算

d ( y , z ) ≥ d ( y , x ) − d ( x , z ) d( y , z ) \geq d( y , x ) - d( x , z ) d(y,z)d(y,x)d(x,z)

d ( y , x ) − d ( x , z ) ≥ ϵ d( y , x ) - d( x , z ) \geq \epsilon d(y,x)d(x,z)ϵ

d ( y , z ) d( y , z ) d(y,z) 不必计算

( b )

x , y x, y x,y 之间距离为 0 0 0,则不需其他计算。
x x x y y y 距离较大,则需要计算更多点 y y y 到其他点的距离。

( c )

x , y x,y x,y S ′ S' S 里的点, x 0 x_0 x0 y 0 y_0 y0 S ′ S' S 里距离 x , y x,y x,y 最近的点。
d ( x 0 , y 0 ) + 2 ϵ ≤ β d( x_0 , y_0 ) + 2\epsilon \leq β d(x0,y0)+2ϵβ,则 d ( x , y ) ≤ β d( x , y ) \leq \beta d(x,y)β
d ( x 0 , y 0 ) − 2 ϵ ≤ β d( x_0 , y_0 ) - 2\epsilon \leq β d(x0,y0)2ϵβ,则 d ( x , y ) ≥ β d( x , y ) \geq \beta d(x,y)β


11

(见补充)


12

( a )

  1. 对数据进行排列
  2. 将以上数据划分为深度为3的箱
  3. 计算每个等频箱的算数均值
  4. 将箱中的值替换为计算得到的均值

这种方法可以减少原始数据的噪声和波动,光滑数据,使趋势更加明显。但对数据点的改变导致每个数据的含义发生了变化,可能会与数据本身偏离。

( b )

可以通过聚类来检测数据中的异常值,落在聚类集之外的值可以被认为是离群值。 也可以通过训练好的机器或人工进行筛查。

( c )

可以通过箱中值光滑、箱边界光滑、线性回归等方法。


13

( a )

人为设定的最小-最大区间,即 [ m i n ′ , m a x ′ ] [min',max'] [min,max]

( b )

[ v m i n − A ˉ σ A , v m a x − A ˉ σ A ] [\frac{v_{min} - \bar{A}}{\sigma_A},\frac{v_{max} - \bar{A}}{\sigma_A}] [σAvminAˉ,σAvmaxAˉ]

( c )

[ v m i n − A ˉ s A , v m a x − A ˉ s A ] [\frac{v_{min} - \bar{A}}{s_A},\frac{v_{max} - \bar{A}}{s_A}] [sAvminAˉ,sAvmaxAˉ]

( d )

[ v m i n 1 0 i , v m a x 1 0 i ] [\frac{v_{min}}{10^i},\frac{v_{max}}{10^i}] [10ivmin,10ivmax]


14

( a )

规范化值 = 原始值 − 最小值 最大值 − 最小值 规范化值 = \frac{原始值 - 最小值}{最大值 - 最小值} 规范化值=最大值最小值原始值最小值

v 1 = 200 − 200 1000 − 200 = 0 v_1 = \frac{200 - 200}{1000 - 200} = 0 v1=1000200200200=0
v 2 = 300 − 200 1000 − 200 = 0.125 v_2 = \frac{300 - 200}{1000 - 200} = 0.125 v2=1000200300200=0.125
v 3 = 400 − 200 1000 − 200 = 0.25 v_3 = \frac{400 - 200}{1000 - 200} = 0.25 v3=1000200400200=0.25
v 4 = 600 − 200 1000 − 200 = 0.5 v_4 = \frac{600 - 200}{1000 - 200} = 0.5 v4=1000200600200=0.5
v 5 = 1000 − 200 1000 − 200 = 1 v_5 = \frac{1000 - 200}{1000 - 200} = 1 v5=10002001000200=1

( b )

A ˉ = ( 200 + 300 + 400 + 600 + 1000 ) / 5 = 500 \bar{A} = (200 + 300 + 400 + 600 + 1000) / 5 = 500 Aˉ=(200+300+400+600+1000)/5=500
σ A = 282.8 \sigma_A = 282.8 σA=282.8

规范化值 = 原始值 − 均值 标准差 规范化值 = \frac{原始值 - 均值}{标准差} 规范化值=标准差原始值均值

v 1 = − 1.061 v_1 = -1.061 v1=1.061
v 2 = − 0.707 v_2 = -0.707 v2=0.707
v 3 = − 0.354 v_3 = -0.354 v3=0.354
v 4 = 0.354 v_4 = 0.354 v4=0.354
v 5 = 1.768 v_5 = 1.768 v5=1.768

( c )

s A = 240 s_A = 240 sA=240

v 1 = − 1.25 v_1 = -1.25 v1=1.25
v 2 = − 0.833 v_2 = -0.833 v2=0.833
v 3 = − 0.417 v_3 = -0.417 v3=0.417
v 4 = 0.417 v_4 = 0.417 v4=0.417
v 5 = 2.083 v_5 = 2.083 v5=2.083

( d )

缩放因子: 1 0 3 10^3 103

v 1 = 0.2 v_1 = 0.2 v1=0.2
v 2 = 0.3 v_2 = 0.3 v2=0.3
v 3 = 0.4 v_3 = 0.4 v3=0.4
v 4 = 0.6 v_4 = 0.6 v4=0.6
v 5 = 1.0 v_5 = 1.0 v5=1.0


15

( a )

v = 35 − 13 70 − 13 = 0.386 v = \frac{35 - 13}{70 - 13} = 0.386 v=70133513=0.386

( b )

A ˉ = 29.96 \bar{A} = 29.96 Aˉ=29.96
σ A = 12.94 \sigma_A = 12.94 σA=12.94
v = 35 − 29.96 12.94 = 0.39 v = \frac{35 - 29.96}{12.94} = 0.39 v=12.943529.96=0.39

( c )

v = 35 100 = 0.35 v = \frac{35}{100} = 0.35 v=10035=0.35

( d )

最小-最大规范化方法。这是因为最小-最大规范化对数据的分布进行线性映射,将数据映射到指定的区间内,并且保留了数据的相对顺序。易于计算,简单直观。


16

( a )

A ˉ a g e = 46.44 \bar{A}_{age} = 46.44 Aˉage=46.44 σ A a g e = 13.22 \sigma_{A_{age}} = 13.22 σAage=13.22
A ˉ f a t = 28.78 \bar{A}_{fat} = 28.78 Aˉfat=28.78 σ A f a t = 9.25 \sigma_{A_{fat}} = 9.25 σAfat=9.25

  • age 规范化值:
    -1.77, -1.77, -1.47, -1.47, -0.56, -0.41, 0.04, 0.19, 0.27, 0.42, 0.57, 0.57, 0.72, 0.80, 0.87, 0.87, 1.03, 1.10

  • %fat 规范化值:
    -2.08, -0.25, -2.27, -1.19, 0.28, -0.31, -0.15, -0.17, 0.26, 0.63, 1.48, 0.00, 0.50, 0.15, 0.57, 0.44, 1.34, 0.75

( b )

相关系数: 0.77 0.77 0.77
两个变量正相关
协方差: 94.46 94.46 94.46


17

( a )

在这里插入图片描述

( b )

  • 无放回简单随机抽样(SRSWOR)。从N个个体中随机抽取n个个体,每次抽取一个个体,且抽取后不再放回。例如:13,16,21,25,30;15,19,22,35,52
  • 有放回简单随机抽样(SRSWR),与无放回类似,但是每次抽取个体之后,要放回。例如:13,15,21,25,30;13,19,22,30,35
  • 簇抽样,先将总体分为多个不相交的簇,然后再抽取一个或多个簇作为样本,要求簇内的差异较大,簇之间的差异较小,从而使得簇抽取的样本具有代表性。例如:13,20,30,40,70
  • 分层抽样,将总体分为多个不相交的部分,叫做层,然后按照一定的比例在每个层中进行抽样,要求层内差异较大,层之间的差异较小。例如:16,25,35,40,70

18

( a )

  1. 将数值属性的取值按照升序进行排序。
  2. 初始化每个取值为一个单独的区间。
  3. 计算相邻区间的 χ 2 \chi^2 χ2值,选择具有最小 χ 2 \chi^2 χ2值的相邻区间。
  4. 如果选择的相邻区间的 χ 2 \chi^2 χ2值小于预先设定的停止标准,则将这两个区间合并为一个新的区间,并重新计算新区间的 χ 2 \chi^2 χ2值。
  5. 重复步骤3和步骤4,不断递归,直到满足停止标准,即没有相邻区间的 χ 2 \chi^2 χ2值小于停止标准或者达到设定的最大区间数。

( b )

def read(file):
    '''从文件中读取原始数据'''
    Instances = []
    fp = open(file, 'r')
    for line in fp:
        line = line.strip('\n')  # 去除'\n'
        if line != '':
            Instances.append(line.split(','))
    fp.close()
    return Instances


def split(Instances, i):
    '''拆分4个属性,收集第i个属性的数据,i=0,1,2,3
       返回一个类似[['0.2', 'Iris-setosa'], ['0.2', 'Iris-setosa'], ...]的列表'''
    log = []
    for r in Instances:
        log.append([r[i], r[4]])
    return log


def count(log):
    '''统计相同记录的数量
       返回一个类似[['4.3', 'Iris-setosa', 1], ['4.4', 'Iris-setosa', 3], ...]的列表'''
    log_cnt = []
    log.sort(key=lambda log: log[0])
    i = 0
    while i < len(log):
        cnt = log.count(log[i])  # 统计相同记录的数量
        record = log[i][:]
        record.append(cnt)  # append的返回值是None
        log_cnt.append(record)
        i += cnt  # 统计下一个不同的项
    return log_cnt


def build(log_cnt):
    '''构建一个适用于ChiMerge算法的结构(元组的列表)'''
    log_dic = {}
    for record in log_cnt:
        if record[0] not in log_dic.keys():
            log_dic[record[0]] = [0, 0, 0]
        if record[1] == 'Iris-setosa':
            log_dic[record[0]][0] = record[2]
        elif record[1] == 'Iris-versicolor':
            log_dic[record[0]][1] = record[2]
        elif record[1] == 'Iris-virginica':
            log_dic[record[0]][2] = record[2]
        else:
            raise TypeError("数据异常")
    log_truple = sorted(log_dic.items())
    return log_truple


def collect(Instances, i):
    '''收集用于离散化的数据'''
    log = split(Instances, i)
    log_cnt = count(log)
    log_tuple = build(log_cnt)
    return log_tuple


def combine(a, b):
    '''a=('4.4', [3, 1, 0]), b=('4.5', [1, 0, 2])
       combine(a, b)=('4.4', [4, 1, 2])'''
    c = a[:]  # c[0]=a[0]
    for i in range(len(a[1])):
        c[1][i] += b[1][i]
    return c


def chi2(A):
    '''计算卡方值'''
    m = len(A)
    k = len(A[0])
    R = []
    for i in range(m):
        sum = 0
        for j in range(k):
            sum += A[i][j]
        R.append(sum)
    C = []
    for j in range(k):
        sum = 0
        for i in range(m):
            sum += A[i][j]
        C.append(sum)
    N = 0
    for ele in C:
        N += ele
    res = 0
    for i in range(m):
        for j in range(k):
            Eij = R[i] * C[j] / N
            if Eij != 0:
                res = res + (A[i][j] - Eij) ** 2 / Eij
    return res


def ChiMerge(log_tuple, max_interval):
    '''ChiMerge算法'''
    '''返回分割点'''
    num_interval = len(log_tuple)
    while num_interval > max_interval:
        num_pair = num_interval - 1
        chi_values = []
        for i in range(num_pair):
            arr = [log_tuple[i][1], log_tuple[i + 1][1]]
            chi_values.append(chi2(arr))
        min_chi = min(chi_values)  # 获取最小卡方值
        for i in range(num_pair - 1, -1, -1):  # 从最后一个开始处理
            if chi_values[i] == min_chi:
                log_tuple[i] = combine(log_tuple[i], log_tuple[i + 1])  # 合并两个相邻的区间
                log_tuple[i + 1]= '合并'
        while '合并' in log_tuple:  # 移除合并的记录
            log_tuple.remove('合并')
        num_interval = len(log_tuple)
    split_points = [record[0] for record in log_tuple]
    return split_points


def discrete(path):
    '''对鸢尾花数据库进行ChiMerge离散化'''
    Instances = read(path)
    max_interval = 6
    num_log = 4
    for i in range(num_log):
        log_tuple = collect(Instances, i)  # 收集离散化数据
        split_points = ChiMerge(log_tuple, max_interval)  # 使用ChiMerge算法进行离散化
        print(split_points)


if __name__ == '__main__':
    discrete('iris.csv')

分裂点为:

['4.3', '4.9', '5.0', '5.5', '5.8', '7.1']
['2.0', '2.3', '2.5', '2.9', '3.0', '3.4']
['1.0', '3.0', '4.5', '4.8', '5.0', '5.2']
['0.1', '1.0', '1.4', '1.7', '1.8', '1.9']

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值