我的材料中将年龄作为协变量。连续变量。年龄在18-70岁之间。
我热衷于逻辑回归,并决定将年龄表示为多项式。
在数据中我有 4021 个观察结果,所以我只是复制了一段供您查看它们的样子:
头(两者)
gender passinggrade age prog
1 man FALSE 69 FRIST
2 man NA 70 FRIST
3 woman NA 65 FRIST
4 woman TRUE 68 FRIST
5 woman NA 65 NMFIK
6 man FALSE 70 FRIST
Run Code Online (Sandbox Code Playgroud)
我的模特;
mod.fit<-glm(passinggrade ~prog+gender+age,family=binomial,data=both)
summary(mod.fit)
Run Code Online (Sandbox Code Playgroud)
所以我想知道的是,我应该如何将年龄视为多项式?不知道我是否需要更改 R 代码中的某些内容?没有在 R 中做任何事情来“使年龄成为多项式”,我的问题很简单;你怎么做呢?
我是机器学习的新手,我正在尝试对我的样本数据集应用逻辑回归,我有一个包含数字列表并想要预测类别的功能。
以下是我的代码
from sklearn.linear_model import LogisticRegression
a = [[1,2,3], [1,2,3,4,5,6], [4,5,6,7], [0,0,0,7,1,2,3]]
b = [0,1,0, 0]
p = [[9,0,2,4]]
clfModel1 = LogisticRegression(class_weight='balanced')
clfModel1.fit(a,b)
clfModel1.predict(p)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Traceback (most recent call last):
File "F:\python_3.4\NLP\t.py", line 7, in <module>
clfModel1.fit(a,b)
File "C:\Python34\lib\site-packages\sklearn\linear_model\logistic.py", line 1173, in fit
order="C")
File "C:\Python34\lib\site-packages\sklearn\utils\validation.py", line 521, in check_X_y
ensure_min_features, warn_on_dtype, estimator)
File "C:\Python34\lib\site-packages\sklearn\utils\validation.py", line 382, in check_array
array = np.array(array, dtype=dtype, order=order, copy=copy)
ValueError: setting an array element with a sequence.
>>>
Run Code Online (Sandbox Code Playgroud)
有什么方法可以更改数据,以便我可以应用分类器并预测结果
我有一个运行良好的 GLM,并且有某些变量,如“表面”和“价格”,这些变量是数字。我喜欢将它们作为日志变体添加到我的模型中。
为了做到这一点,我做了以下事情;
data$logprice<-log(data$price)
Run Code Online (Sandbox Code Playgroud)
然后我将其添加到我的模型中,如下所示;
model <- glm(variableA ~ logprice + variableB +variableC , binomial)
Run Code Online (Sandbox Code Playgroud)
就在我将日志添加到其中时,我收到以下错误;
Error in glm.fit(x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, :
Run Code Online (Sandbox Code Playgroud)
'x' 中的 NA/NaN/Inf
希望您能帮助我解释此错误,或指导我如何修复它。提前致谢!
只是想知道如何将参数分成一组并将其传递给 gridsearch?因为我想将惩罚 l1 和 l2 传递给网格搜索,并将相应的求解器 newton-cg 传递给 L2。
但是,当我运行下面的代码时,gridsearch 将首先使用 newton-cg 运行 l1 并导致错误 msg ValueError:Solver newton-cg 仅支持 l2 惩罚,得到了 l1 惩罚。
谢谢
param_grid = [
{'penalty':['l1','l2'] ,
'solver' : ['newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga']
}
]
Run Code Online (Sandbox Code Playgroud) 我有一个保存的逻辑回归模型,我用训练数据训练它并使用 joblib 保存。我试图在不同的脚本中加载这个模型,向它传递新数据并根据新数据进行预测。
我收到以下错误“sklearn.exceptions.NotFittedError: CountVectorizer - Vocabulary is not fit”。我需要再次拟合数据吗?我原以为能够保存模型的重点是不必这样做。
我使用的代码如下,不包括数据清理部分。任何帮助预测工作将不胜感激。
new_df = pd.DataFrame(latest_tweets,columns=['text'])
new_df.to_csv('new_tweet.csv',encoding='utf-8')
csv = 'new_tweet.csv'
latest_df = pd.read_csv(csv)
latest_df.dropna(inplace=True)
latest_df.reset_index(drop=True,inplace=True)
new_x = latest_df.text
loaded_model = joblib.load("finalized_mode.sav")
tfidf_transformer = TfidfTransformer()
cvec = CountVectorizer()
x_val_vec = cvec.transform(new_x)
X_val_tfidf = tfidf_transformer.transform(x_val_vec)
result = loaded_model.predict(X_val_tfidf)
print (result)
Run Code Online (Sandbox Code Playgroud) 得到了这个简单的练习,我必须在逻辑回归的帮助下构建一个神经网络。我的数据集是这样构建的:
您将获得一个数据集(“data.h5”),其中包含:
- 标记为猫 (y=1) 或非猫 (y=0) 的 m_train 图像训练集
- 标记为猫或非猫的 m_test 图像的测试集
- 每个图像的形状为 (num_px, num_px, 3),其中 3 表示 3 个通道 (RGB)。因此,每个图像都是正方形(高度 = num_px)和(宽度 = num_px)。
为了显示数据库中的图像,文本给了我一个例子:
# Example of a picture# Examp
index = 25
plt.imshow(train_set_x_orig[index])
print ("y = " + str(train_set_y[:,index]) + ", it's a '" + classes[np.squeeze(train_set_y[:,index])].decode("utf-8") + "' picture.")
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
1)我不明白这是如何工作的: str(train_set_y[:,index])
2)最大的问题是,由于站点问题,我无法下载此数据库,为了进行练习,我想了解它是如何构建的。有人能直观地告诉我它是如何构建的吗?
我正在尝试使用简单的数据集运行 Logistic 回归以了解 pyspark 的语法。我有看起来有 11 列的数据,其中前 10 列是特征,最后一列(第 11 列)是标签。我想将这 10 列作为特征传递,将第 11 列作为标签传递。但我只知道作为单列传递使用featuresCol="col_header_name"
我已经使用pandas从csv文件中读取数据但我已将其转换为RDD。这是代码:
from pyspark.ml.classification import LogisticRegression
from pyspark.sql import SQLContext
from pyspark import SparkContext
import pandas as pd
data = pd.read_csv('abc.csv')
sc = SparkContext("local", "App Name")
sql = SQLContext(sc)
spDF = sql.createDataFrame(data)
tri=LogisticRegression(maxIter=10,regParam=0.01,featuresCol="single_column",labelCol="label")
lr_model = tri.fit(spDF)
Run Code Online (Sandbox Code Playgroud)
如果我使用featuresCol=[list_of_header_names]我会出错。我使用了 sk-learn,它的语法非常简单,例如:
reg=LogisticRegression()
reg=reg.fit(Dataframe_of_features,Label_array)
Run Code Online (Sandbox Code Playgroud) python machine-learning logistic-regression apache-spark pyspark
我正在使用来自调查数据的面板数据集运行逻辑回归,我想纠正面板设计的标准误差。本次调查中包含的权重考虑了抽样概率、小组死亡率和后分层。
如果我正确理解Berger et al 2017,我应该对面板数据使用聚类协方差。但是,我不确定这些命令是否适用于具有调查权重的数据。
我开始通过与估计回归glm,并与校正标准误差coeftest从lmtest包和vcovPL从sandwich包。随后,我使用svydesign和svyglm从survey包中估计了一个加权模型,并以同样的方式再次校正了标准误差。
在这个问题R 的三明治包中,线性模型中的鲁棒标准误差产生奇怪的结果Zeileis 写道,使用svyglm对象可能会产生不正确的结果。但是,我不确定这是否仅适用于复杂的调查权重(包括分层等),或者也适用于基本调查权重,因为它在此处指出,如果不使用分层,则没有太大区别。但是,我不完全理解那里的解释。此外,我想知道Berger et al 2017 中描述的新实现的功能是否允许使用svyglm对象。所以我不知道如果我的设计没有分层,我是否可以将sandwich包中的命令用于类对象svyglm。
这是我使用的代码:
# not weighted
model <- glm(depend_var ~ indep_var1 + indep_var2 ,family=quasibinomial(link='logit'),data=dataset)
m_vcov <- coeftest(model,vcov. = sandwich::vcovPL(x = model, cluster = ~ id_var,order.by = ~ year ,pairwise = T))
# weighted
design.ps <- svydesign(ids=~1, weights=~wgt, …Run Code Online (Sandbox Code Playgroud) 我用一些数据训练了一个逻辑回归模型。我应用标准标量来训练和测试数据,训练模型。但是如果我想用训练和测试数据之外的数据对模型进行预测,我必须将标准标量应用于新数据,但是如果我有单个数据,我无法将标准标量应用于我想要的新单个样本给予作为输入。使用新数据(尤其是一次单个样本)预测结果的程序应该是什么?
在训练逻辑回归时,它经历一个迭代过程,在每个过程中它计算 x 变量的权重和偏差值以最小化损失函数。
来自官方 sklearn 代码类 LogisticRegression | scikit-learn 中的线性模型,逻辑回归类的拟合方法如下
def fit(self, X, y, sample_weight=None):
"""
Fit the model according to the given training data.
Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features)
Training vector, where n_samples is the number of samples and
n_features is the number of features.
y : array-like of shape (n_samples,)
Target vector relative to X.
sample_weight : array-like of shape (n_samples,) default=None
Array of weights that are assigned to individual …Run Code Online (Sandbox Code Playgroud) python ×5
scikit-learn ×4
r ×3
apache-spark ×1
numpy ×1
pandas ×1
pipeline ×1
pyspark ×1
robust ×1
survey ×1