祝同学的填坑日记

不同py文件下数据的传输

前提是同一个目录下
在A.py文件中定义一个data函数

def data():
    demo = pd.read_csv('C:/Users/Jin_liang/Desktop/F2-30组train.csv',delimiter=",",header=None)
    demo=np.array(demo) #格式转换
    c = np.random.randint(1,1000)
    np.random.seed(c)
    np.random.shuffle(demo) #数据打乱
    
    demo = demo[0:10] #取打乱的前10组数据
    # print(demo.shape,)
    # _
    X=demo[:,:4] #数据分列
    y=demo[:,4:5]   X_train,X_test,y_train,y_test,=train_test_split(X,y,test_size=0.4,shuffle='on') #数据分割,训练集测试集
    return X_train,X_test,y_train,y_test #返回值

在了B.py中调用A中data的数据

from A import data
(X_train,X_test,y_train,y_test)= data()
print(X_train,X_test,y_train,y_test)

矩阵的运算规则

一定一定注意python的broadcast机制,对于矩阵如果维度一致,一个维度相同, 其中另外一个维度的其中一方为1,会自动扩充。
在计算多个数据的时候需要注意矩阵的转置。

import numpy as np
x = np.array([[1 ,2, 3, 4],
            [2 ,3 ,5, 1],
            [3 ,2, 1, 0]])
y1 = x[0]**2
print('y1',y1)

运算结果为:y1 [1 4 9 16]
此运算,就是把X的第一行平方赋值给y1

import numpy as np
x = np.array([[1 ,2, 3, 4],
            [2 ,3 ,5, 1],
            [3 ,2, 1, 0]])
y2 = x[0]**2+3*x[1]
print('y2',y2)

运算结果为:y2 [7 13 24 19]
此时运算为:X的第一行去平方和3×X的第二行相加得y2
#计算两个矩阵的复杂运算
设有二维矩阵
A=[[1,4,2],[2,3,4],[3,3,6]]
B=[[1,2],[0.5,3]]
矩阵A和矩阵B
进行运算Y2 = A[0]**B[:,[0]]+B[:,[1]]*A[1]
A[0]=[1,4,2]为矩阵A的第一行;注意python的起始序号从0开始
B[:,[0]] = [[1],[0.5]]为矩阵B的第一列;

  1. A[0]**B[:,[0]] = [[1,4,2],[1,2,1.414]];
  2. 因此,同理B[:,[1]]*A[1]=[[4,6,8],[6,9,12]]
  3. Y2 = [[5,10,10],[7,11,13.414]]
    这样理清运算规则后,就可以在明白后续优化中loss怎么计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Afterglow-F

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值