softmax regression, 简单神经网络python代码实现


代码1. makedata实现: 生成模拟测试数据

# makedata.py
import numpy as np
import matplotlib.pyplot as plt

def MakeData(num_classes, num_features, num_samples, means):
    data = []
    labels = []
    for i in range(num_classes):
        class_data = np.random.multivariate_normal(means[i], np.eye(num_features), num_samples)
        # np.random.multivariate_normal:
            # 这是NumPy库中的一个函数,用于生成多元正态分布的随机样本。应该是多维的随机样本啊。
            # 它接受三个参数:均值向量、协方差矩阵和样本数量。
        # np.eye(num_features):在这里,它被用作协方差矩阵,表示每个特征之间是独立的,且每个特征的方差为1。

        data.append(class_data)
        labels.extend([i] * num_samples)
    return np.vstack(data), np.array(labels)
    # np.vstack(data)会将data列表中的所有数组按垂直方向堆叠起来,形成一个新的数组。
    # 这意味着,如果data列表中有n个数组,每个数组的形状为(m, k),那么堆叠后的数组形状将为(n*m, k)。

def plot_data(data, labels):
    plt.figure()
    for i in np.unique(labels):
        class_data = data[labels 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值