Python向量函数表示的简单介绍

Python怎么创建一个1-100的向量,感觉语法是真的烦 。我感觉Python向量函数表示你是没有理解向量的定义Python向量函数表示,跟python语法没关系 , 向量是表示一组带有方向的数,而计算机无法表示方向,只有用数组的叠加来表示维度 。而向量就是代表某个维度上的一组数,所以它就是一行数组或者一列数组,后面就好理解了 。python不能像其他语言直接定义数组 , 只有用列表代替 。或者你可以用第三方库numpy 来实现数组定义和科学计算
mydf是什么pythonmy_df是一个二维的结构Python向量函数表示 , 如下图所示Python向量函数表示:
stack函数会把列索引转成行索引,即把列索引换成二级的行索引,即所有列压缩到一列 。请注意,这个的空值会跳过,下图中的数据结构只有7个元素,7行1列 。
a['b','two']
a['d','two']
#上面两个索引是可以的,下面的是会报错KeyError
a['d','one']
unstack函数会把行索引转成列索引,即把行索引换成二级的列索引,即所有行压缩到一行 。注Python向量函数表示:实际上,Python似乎不分行向量或列向量 , 如果对一个Series对象进行转置,则还是其本身 。根据shape函数的返回可知 , 这是一个8行1列的数据结构 。
stack函数会把二级的行索引转成列索引,恢复其二维结构 。
我们看到,用过stack函数后可以用unstack函数来恢复其原貌 。反过来如何呢Python向量函数表示?
会报错:AttributeError: 'Series' object has no attribute 'stack'
我们发现,stack和unstack两个函数的组合,如下所示,只有前两个是可以的没有问题的 。这是因为一个二维数据经过stack或unstack后 , 变成Python向量函数表示了一个Series结构,而Series有unstack没有stack 。
my_df.stack().unstack()
my_df.unstack().unstack()
#my_df.stack().stack()
#my_df.unstack().stack()
a=my_df.stack()
print(type(a))
print(dir(a))
如下图所示,用过了unstack后,怎么恢复原状呢?转置一下即可 。
代价函数(python实现) 首先我们要知道???(??(??))等于什么,它的意思是θ^T乘以X,X是一个向量,如果用等式表达的话就是 θ0??0 + θ1??1 + θ2??2+...+θ?????? ,当然θ也是一个向量 , 而且是一维的,python里面有一个库叫numpy,专门做矩阵运算的,我们使用就可以了,我们先初始化X,y,还有θ吧
先随机初始化,这些东西应该不需要讲 , randint是随机整数,rand是小数,然后low参数代表你的随机数上界,size就是维度,初始化完成后就开始运算 。
求和公式里面的运算
( (h(θ) = Xtheta^T) - y )^2*
我想这些应该不难,就是(X * theta.T - y),平方的话用np的power()函数 。
inner = np.power((X * theta.T - y),2),第二个参数就是平方数
然后我们就可以计算求和公式外面的了 , 这个m代表着X矩阵的行数 , 对应的就是X的
向量个数,
np.sum(inner,axis=None)
最后再除以两倍的x向量个数即可,就是1 / len(X) * 2为什么是两倍呢,因为它求了偏导数,所以就是2了,好了,把它们整理一下写成函数吧
2020-05-22 第十三章 支持向量机模型(python)SVM 是 Support Vector Machine 的简称,它的中文名为支持向量机,属于一种有监督的机器学习算法,可用于离散因变量的分类和连续因变量的预测 。通常情况下 , 该算法相对于其他单一的分类算法(如 Logistic 回归、决策树、朴素贝叶斯、 KNN 等)会有更好的预测准确率,主要是因为它可以将低维线性不可分的空间转换为高维的线性可分空间 。
“分割带”代表了模型划分样本点的能力或可信度 , “分割带”越宽 , 说明模型能够将样本点划分得越清晰,进而保证模型泛化能力越强,分类的可信度越高;反之,“分割带”越窄,说明模型的准确率越容易受到异常点的影响,进而理解为模型的预测能力越弱,分类的可信度越低 。

推荐阅读