当使用线性回归?时,必须在成本函数中加入L2正则化。
在计算成本时,Im没有添加l2或考虑到。这样做不对吗?
下面的代码片段应该足够了:
def gradient(self, X, Y, alpha, minibatch_size):
predictions = None
for batch in self.iterate_minibatches(X, Y, minibatch_size, shuffle=True):
x, y = batch
predictions = x.dot(self.theta)
for it i
我尝试使用sklearn和状态模型库进行逻辑回归。他们的结果是接近的,但不一样。例如,sklearn获得的(斜率,截距)对为(-0.84371207,1.43255005),而由状态模型获得的对为(-0.8501,1.4468)。为什么和如何让它们保持不变?
import pandas as pd
import statsmodels.api as sm
from sklearn import linear_model
# Part I: sklearn logistic
url = "https://github.com/pcsanwald/kaggle-titanic/raw/
我正在布尔0/1数据集上进行逻辑回归(预测某一年龄给你一定数量的薪水的概率),而且我在sklearn和StatsModels上得到了非常不同的结果,那里sklearn是非常错误的。
我已经将sklearn惩罚设置为None,将截取项设置为false,以使函数更类似于StatsModels,但我不知道如何使sklearn给出一个合理的答案。
灰色线是0或1处的原始数据点,我只是在地形图上将1缩小到0.1。
变量:
# X and Y
X = df.age.values.reshape(-1,1)
X_poly = PolynomialFeatures(degree=4).fit_transfor
我试着比较线性回归(正常方程)和SGD,但看起来SGD离我们很远。我做错了什么吗?
这是我的密码
x = np.random.randint(100, size=1000)
y = x * 0.10
slope, intercept, r_value, p_value, std_err = stats.linregress(x=x, y=y)
print("slope is %f and intercept is %s" % (slope,intercept))
#slope is 0.100000 and intercept is 1.61435309565e-11
这是我的
我建立了一个简单的线性模型,其中X(维数D)变量来自具有0协方差的多重正态变量。只有前10个变量的真系数为1,其余变量的系数为0。因此,理论上,岭回归结果应该是真系数除以(1+C),其中C是惩罚常数。
import numpy as np
from sklearn import linear_model
def generate_data(n):
d = 100
w = np.zeros(d)
for i in range(0,10):
w[i] = 1.0
trainx = np.random.normal(size=(n,d))
e
我正在运行逻辑回归,在文本列上运行tf-idf。这是我在逻辑回归中使用的唯一一列。如何才能确保参数尽可能地调优?
我希望能够运行一组步骤,最终允许我说我的Logistic回归分类器运行得尽可能好。
from sklearn import metrics,preprocessing,cross_validation
from sklearn.feature_extraction.text import TfidfVectorizer
import sklearn.linear_model as lm
import pandas as p
loadData = lambda f: np.genfr
我试图用python对波士顿的住房数据运行岭回归,但我有以下问题,我在任何地方都找不到答案,所以我决定在这里发布它: 是否建议在拟合模型之前进行缩放?因为当我缩放和不缩放时,我得到相同的分数。另外,就选择最佳阿尔法而言,阿尔法/科夫图的解释是什么? import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn import linear_mo
我正在尝试使用scikit-learn在令牌级对数据进行分类。我已经有了一个train和test拆分。数据采用以下\t分离格式:
-----------------
token label
-----------------
way 6
to 6
reduce 6
the 6
amount 6
of 6
traffic 6
....
public 2
transport 5
is 5
a 5
key
一种训练Logistic回归的方法是使用随机梯度下降,而scikit-learn提供了一个接口。
我想做的是拿一个科学工具-学习的SGDClassifier,并让它的分数与Logistic回归这里一样。然而,我一定是错过了一些机器学习的改进,因为我的分数并不相等。
这是我目前的密码。我在SGDClassifier上遗漏了什么,它会产生与Logistic回归相同的结果?
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import
我试图为回归做一个简单的测试用例,它是x的线性函数,但是SGDRegressor给了我一个错误的结果。
import numpy as np
from sklearn.linear_model import SGDRegressor
from random import random
X = np.array(range(1000))
y = np.array([x + random() for x in X])
X = X.reshape(1000,1)
sgd = SGDRegressor()
sgd.fit(X, y)
print [sgd.intercept_, sgd.coef_]