小编Ita*_*kin的帖子

在MLPClassification Python中实施K折交叉验证

我正在学习如何使用scikit-learn开发反向传播神经网络。我仍然对如何在神经网络中实现k倍交叉验证感到困惑。我希望你们能帮助我。我的代码如下:

import numpy as np
from sklearn.model_selection import KFold
from sklearn.neural_network import MLPClassifier

f = open("seeds_dataset.txt")
data = np.loadtxt(f)

X=data[:,0:]
y=data[:,-1]
kf = KFold(n_splits=10)
X_train, X_test, y_train, y_test = X[train], X[test], y[train], y[test]
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)
clf.fit(X, y)
MLPClassifier(activation='relu', alpha=1e-05, batch_size='auto',
       beta_1=0.9, beta_2=0.999, early_stopping=False,
       epsilon=1e-08, hidden_layer_sizes=(5, 2), learning_rate='constant',
       learning_rate_init=0.001, max_iter=200, momentum=0.9,
       nesterovs_momentum=True, power_t=0.5, random_state=1, shuffle=True,
       solver='lbfgs', tol=0.0001, validation_fraction=0.1, verbose=False,
       warm_start=False)
Run Code Online (Sandbox Code Playgroud)

python neural-network scikit-learn

6
推荐指数
1
解决办法
6345
查看次数

在python中使用cvxpy包构建融合套索惩罚

Fused Lasso (Tibshirani 等人,2005)鼓励系数的稀疏性及其差异的稀疏性。

这是损失函数和正则化的公式:【公式截图】(https://cdn1.imggmi.com/uploads/2019/11/17/967043f94a1382c5e14fdd1eb25bad9e-full.png)
第一项是 L2 (mse) 损失,第二项是对系数的 L1 惩罚(Lasso 正则化),最后一项是链接文章中引入的新项。

我如何用cvxpy包来模仿这个 - 具体来说,我如何实现最后一项?

分别有LassoRidge Penalties 的示例代码。我大致了解这些代码是如何工作的,但有一些功能我不知道我应该如何决定使用哪一个。例如,让我们比较 Lasso 和 Ridge 惩罚代码。

# Lasso

import cvxpy as cp
import numpy as np
import matplotlib.pyplot as plt

def loss_fn(X, Y, beta):
    return cp.norm2(cp.matmul(X, beta) - Y)**2

def regularizer(beta):
    return cp.norm1(beta)

def objective_fn(X, Y, beta, lambd):
    return loss_fn(X, Y, beta) + lambd * regularizer(beta)

def mse(X, Y, beta):
    return (1.0 / X.shape[0]) * loss_fn(X, Y, beta).value …
Run Code Online (Sandbox Code Playgroud)

python lasso-regression cvxpy

6
推荐指数
1
解决办法
1306
查看次数

使用列表创建字典

我正在尝试使用以下数据创建字典:

ListA = ['Name', 'Age', 'Gender']
ListB = ['Alex', '22', 'Male']
        ['Kelly','21', 'Female']
Run Code Online (Sandbox Code Playgroud)

ListB来自FileB,看起来像这样:

Alex 22 Male,Kelly 21 Female (值选项卡分隔,组逗号分隔)

预期产量:

{'Name' : 'Alex', 'Age' : '22', 'Gender' : 'Male',
 'Name' : 'Kelly', 'Age': '21', 'Gender' : 'Female'
}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码:

fileB = glob.glob(filename + '.txt')
dfun = {}
ListB = []
for f in fileB:
    Lines = open(f, 'r').read().split(',')
    for i in Lines:
        Lines2 = i.split('\t')
        ListB.append(Lines2)
print(ListB)   # this gives me ListB in the format above. 

for i in …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

4
推荐指数
1
解决办法
73
查看次数

如何用 0 替换 NULL

我试图将 NULL 值替换为零。

使用rf['Pt 1']=rf['Pt 1'].fillna(0,inplace=True)only 有助于将空白替换为 0。

但我仍然没有设法用零替换NULL(即字符串"Null",而不是值)。None

有人知道如何用 0 替换 NULL 吗?

rf['Pt 1']=rf['Pt 1'].fillna(0,inplace=True)
Run Code Online (Sandbox Code Playgroud)

我的输出结果:

    Pt 1
    0
    NULL
    990
    991
    996
    995
    992
    992
    992
    993
    993
    993
    991
    991
    989
    NULL
    NULL
    NULL
    995
    993
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
3万
查看次数