python中的scipy库提供了一个行数用来计算线性代数中的行列式的值。如下:from scipy import linalg #导入相关的模块arr = np.array([[1, 2],[3, 4]])linalg.det(arr)#计算行列式的值结果如下:
这个模块可以加载和保存matlab文件:具体代码如下:from scipy import io as spioa = np.ones((3, 3))spio.savemat('file.mat', {'a': a})# 保存字典到file.matdata = spio.loadmat('file.mat', struct_as_record=True)data['a']数据结
◼Sigmoid函数:✓对于二分类问题,我们想要一个函数能够接受所有输入然后预测出两种类别,可以通过输出0或者1。这个函数就是sigmoid函数,它是一种阶跃函数具体的计算公式如下: ◼Sigmoid函数特性:✓sigmoid函数连续,严格单调,以(0,0.5)中心对称,是一个非常良好的阈值函数✓当x为0时,Sigmoid函数值为0.5,随着x的增大对应的Sigmoid
使用LASSO 回归拟合并绘图实现代码如下from sklearn.linear_model import Lasso alphas = np.linspace(-2,2,10)lasso_coefs = []for a in alphas:lasso = Lasso(alpha=a,fit_intercept=False)lasso.fit(x,y)lasso_coefs
sklearn.linear_model.Lasso(alpha=1.0, fit_intercept=True, normalize=False, precompute=False, copy_X=True, max_iter=1000, tol=0.0001, warm_start=False, positive=False, random_state=None, selection='cyc
当我们使用普通最小二乘法进行回归拟合时,如果特征变量间的相关性较强,则可能会导致某些 w 系数很大,而另一些系数变成很小的负数。所以,我们通过岭回归添加 L2 正则项来解决这个问题。与岭回归相似的是,LASSO 回归同样是通过添加正则项来改进普通最小二乘法,不过这里添加的是 L1 正则项。即: 这里关于L1、L2没有做很详细的解释,如果需要可以参考这里,简单说下:L1:L1正则化最
pandas中提供了一个标签名前缀。还是一些数据: 想要将所有的列名增加一个“分箱_",代码如下:df.add_prefix('分箱_')结果如下:
λ选择:一般通过观察,选择喇叭口附近的值,此时各个回归系数趋于稳定,而且预测值与实际值的平方误差不太大。但是也不能选太大的λ,因为,随着λ的增大,回归系数的取值大小趋于稳定,但是实际对应的平方误差已经非常大了。为了定量地找到最佳参数值,还需要进行交叉验证。另外,要判断哪些变量对结果预测最有影响力,可以观察上图中对应系数的大小
pandas中提供将数据离散化的工具。例子如下:一些数据: 若想将 数量这一列离散化分为三份,并且贴上 少,中,多 的标签。代码如下:pd.cut(df['数量'],range(0,12,3),labels=['少',"中","多"])结果:
使用组键连接DataFrame:为了使用组键连接数据帧,我们使用keys参数覆盖列名。Keys参数是在基于现有Series创建新DataFrame时覆盖列名称。# importing pandas moduleimport pandas as pd # Define a dictionary containing employee data data1 = {'Name':['
连接单索引DataFrame:为了将单索引数据帧与多索引数据帧连接,该级别将匹配单索引帧的索引名称与多索引帧的级别名称索引帧。# importing pandas moduleimport pandas as pd # Define a dictionary containing employee data data1 = {'Name':['Jai', 'Princi', 'Ga
Pandas可以选择高性能的内存合并和连接。当我们需要组合非常大的DataFrame时,连接可以作为一种快速执行这些操作的强大方式。连接一次只能在两个DataFrame上完成,表示为左表和右表。关键是两个DataFrame将连接在一起的公共列。在整个列中使用具有唯一值的键是一种很好的做法,以避免意外重复行值。Pandas提供单个函数merge(),作为DataFrame对象之间所有标准数据库连接操
简单线性回归就是投影。对自变量做一个旋转,或者右乘一个p×p的矩阵(满秩,不一定正交,记为P),不影响投影的结果。回归系数等于原来的系数左乘P的逆。如果自变量之间相互独立,那就是分别往每个方向投影,投影结果再相加就是预测值,投影系数就是回归系数。如果自变量之间不独立,那就通过线性变换将自变量搞成独立(比如,SVD分解中的U),然后回到(3)。搞成独立后的变量(p个主成分,叫它新变量)
通过忽略索引来连接DataFrame:为了通过忽略索引来连接数据帧,我们忽略没有有意义含义的索引,您可能希望附加它们并忽略它们可能具有重叠索引的事实。为了做到这一点,我们 ignore_index用作参数。# importing pandas moduleimport pandas as pd # Define a dictionary containing employee d
岭回归是加了二阶正则项的最小二乘,主要适用于过拟合严重或各变量之间存在多重共线性的时候,岭回归是有bias的,这里的bias是为了让variance更小。岭回归的回归参数有先验分布,而最小二乘对参数没有限制。对参数进行先验分布限制,会使得得到的回归参数取值不会很病态。因为最小二乘法会出现不稳定的情况,这种情况下会有过拟合,所以需要通过一个shrinkage即缩减解决过拟合问题。如果最小二
现在我们应用.append()函数以便连接到数据框# using append function res = df.append(df1)res输出:a
使用连接DataFrame.append()为了连接数据帧,我们使用.append()函数这个函数沿轴= 0连接,即索引。此功能以前存在.concat。# importing pandas moduleimport pandas as pd # Define a dictionary containing employee data data1 = {'Name':['Jai', '
我们设置join = inner为数据框的交集设置轴# applying concat with axes# join = 'inner'res2 = pd.concat([df, df1], axis=1, join='inner') res2输出:如输出图像所示,我们得到数据帧的交集a
还是使用蔬菜水果数据为例。import pandas as pddf = pd.DataFrame({'类别':['水果','水果','水果','蔬菜','蔬菜','肉类','肉类'], '产地':['美国','中国','中国','中国','新西兰','新西兰','美国'], '水果':['苹果','梨','草莓','番茄','黄
关注