不是向量,是 3 * 3 的矩阵。
import numpy as np x = [[1], [1], [1]] y = [[1, 1, 1]] z = np.dot(x, y) print(z) print(z.shape) """ [[1 1 1] [1 1 1] [1 1 1]] (3, 3) """
markdown
矩阵不能直接相除。
B / A ,可以使用 B * A的逆矩阵,来实现相除, 但不是所有的矩阵都有逆矩阵。
A = nd.array([[1, 2], [6, 5]])
C = nd.linalg.inv(A) # C 为 A的逆矩阵
E = np.dot(B, C) # B * C 即 B / A
前者是当B发生了之后再发生A的概率。后者是B和A都发生的概率。
区别是前者中B已经发生确定了,此时计算A将要发生的概率。
后者是A和B都没发生,但是要预测他们都发生的概率
我个人理解应该还不完全是这样,是本课程为了讲机器学习要借助数学中的矩阵和微积分工具,如矩阵和向量可以很好地进行多行数据的组织,微分可以采用导数概念很好地说明梯度下降法,而积分方法正好可以用来求解概率密度函数。
A=[a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44]
#测试样本 #x_test=np.array([[0,0,0,1,1,0]]) x_test = pd.DataFrame([[0,0,0,1,1,0]], columns=list(['gender','age','status','city','cost','device'])) print(x_test) #x_feature_name=np.array(['gender','age','status','city','cost','device']) #print(x_test) y_test_pred_prob=model.predict(x_test) print(y_test_pred_prob) 测试数据类型的问题 x_test=np.array([[0,0,0,1,1,0]]) 是numpy里的ndarry类型;只有数据 要用pandas中DataFrame类型,这种类型里面包含feature_name,不会有warning.
A50人B60人C45人共155人
直接计算 (20+30+20)/ 155= 70/155 = 14/31
全概率:50/155*20/50+60/155*30/60+45/155*20/45 = 14/31
一个常数
请评论就给出正确答案,不要废话,不给答案评论别人只会显得你很愚蠢
这涉及到多元函数的求导 当为一元函数 如y=kx 它求导叫做导数
而多元函数 如 z=kx+by 求导时只能求一个变量的导数,比如我们求x的导数,这时就需要把y当作常量 此时称为函数对于x的偏导数,y同理。
所以你可以得到 x的偏导数为 z撇=k
所以题目中(axi+b-yi)的平方对a的偏导数求法为
设b-yi=k 则 原函数变为(axi+k)的平方 注意 此时 a是变量 xi为常量
则 开方变为 xi的平方*a的平方+2xika+k的平方
开始求导 则为 2*xi的平方*a+2xik +0
k带入 则为 2*xi的平方 *a +2xi(b-yi)
把2和前面的2m中的2消除 再提出xi
则为 xi*(axi+b-yi) 和视频相同
对于b的偏导数 各位可以参照方法自行求解
不是。θ1、θ2、θ3等都是矩阵。X可以理解为[x1,x2,...,xn]。a1,a2、a3都是单个数值,不是矩阵。
numpy 这个版本和 sklearn 不匹配
他输入的D是[[1],[2],[3]],不是2,3,4
naive_bayes
特征不独立,很容易统计到为0的情况,不适用贝叶斯公式
是的,在y=0的情况下,x2没有出现为0的情况,所以概率为0
是的,P(x2|yi) = 0, 分子为0,结果即为0
样本数太少,无法覆盖所有情况啊
jupyter notebook
这个自己网上搜一下就有很多使用说明
可能是极值点,但也不一定,也有可能是拐点
? 刷机的吧??