- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试通过 sklearn 运行逻辑回归:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
import datetime as dt
import pandas as pd
import numpy as np
import talib
import matplotlib.pyplot as plt
import seaborn as sns
col_names = ['dates','prices']
# load dataset
df = pd.read_csv("DJI2.csv", header=None, names=col_names)
df.drop('dates', axis=1, inplace=True)
print(df.shape)
df['3day MA'] = df['prices'].shift(1).rolling(window = 3).mean()
df['10day MA'] = df['prices'].shift(1).rolling(window = 10).mean()
df['30day MA'] = df['prices'].shift(1).rolling(window = 30).mean()
df['Std_dev']= df['prices'].rolling(5).std()
df['RSI'] = talib.RSI(df['prices'].values, timeperiod = 9)
df['Price_Rise'] = np.where(df['prices'].shift(-1) > df['prices'], 1, 0)
df = df.dropna()
xCols = ['3day MA', '10day MA', '30day MA', 'Std_dev', 'RSI', 'prices']
X = df[xCols]
X = X.astype('int')
Y = df['Price_Rise']
Y = Y.astype('int')
logreg = LogisticRegression()
for i in range(len(X)):
#Without this case below I get: ValueError: Found array with 0 sample(s) (shape=(0, 6)) while a minimum of 1 is required.
if(i == 0):
continue
logreg.fit(X[:i], Y[:i])
但是,当我尝试运行此代码时,出现以下错误:
ValueError:
This solver needs samples of at least 2 classes in the data, but the data contains only one class: 58
我的 X 数据的形状是:(27779, 6)
我的 Y 数据的形状是:(27779,)
这是一个 df.head(3)
示例,用于查看我的数据:
prices 3day MA 10day MA 30day MA Std_dev RSI Price_Rise
30 58.11 57.973333 57.277 55.602333 0.247123 81.932338 1
31 58.42 58.043333 57.480 55.718667 0.213542 84.279674 1
32 58.51 58.216667 57.667 55.774000 0.249139 84.919586 0
我尝试搜索自己从哪里得到这个问题,但我只找到了 these two答案,两者都将这个问题视为 sklearn 中的错误,但它们都是大约。两岁了,所以我不认为我有同样的问题。
最佳答案
您应该确保 Y[:i] 中有两个唯一值。因此,在循环之前,添加如下内容:
starting_i = 0
for i in range(len(X)):
if np.unique(Y[:i]) == 2:
starting_i = i
然后在运行主循环之前检查starting_i 是否不为0。或者更简单,您可以找到第一个出现的位置 Y[i] != Y[0]。
关于python - Sklearn LogisticRegression 求解器需要 2 类数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54873428/
sklearn 中的逻辑回归类带有 L1 和 L2 正则化。如何关闭正则化以获得“原始”逻辑拟合,例如 Matlab 中的 glmfit?我想我可以设置 C = large number 但我不认为这
from sklearn.feature_extraction.text import CountVectorizer vectorizer = CountVectorizer() train_mat
我有一组生成的数据,以 CSV 格式描述 Web 连接,如下所示: conn_duration,conn_destination,response_size,response_code,is_mali
我正在尝试将逻辑回归模型拟合到 sklearn 的鸢尾花数据集。我得到一条看起来太平坦的概率曲线,也就是系数太小。我希望萼片长度 > 7 的概率超过 90%: 这条概率曲线真的错了吗?如果是这样,是什
我正在使用 sklearn 包中的 LogisticRegression,并且有一个关于分类的快速问题。我为我的分类器构建了一条 ROC 曲线,结果证明我的训练数据的最佳阈值约为 0.25。我假设创建
为什么不同的求解器会导致 sklearn 中简单问题的学习权重不同?这闻起来不像数值不稳定——看起来不同的求解器旨在收敛于不同的权重集。怎么回事? 这似乎与正则化有关,因为效果随着 C 的增加而消失
我正在研究 LogisticRegression 模型并尝试进行调试。 这是一件简单的事情,但似乎无法让它发挥作用:只需 time of day和一个state 0 or 1 ,并想要预测一天中给定时
有人告诉我,在处理多元逻辑回归时,您想在 X 矩阵中为模型截距添加一列 1。使用sklearn的模型时,模块会自动添加1的列吗? 最佳答案 LinearRegression 模块有一个 fit_int
scikit-learn 的 sklearn.linear_model.LogisticRegression 类如何处理回归和分类问题? 如 Wikipedia page 上所示以及许多来源,由于逻辑
我正在尝试使用 scikit-learn 0.12.1 来: 训练逻辑回归分类器 根据保留的验证数据评估分类器 向该分类器提供新数据并为每个观察检索 5 个最可能的标签 Sklearn 使所有这一切变
我正在尝试使用 SHAP 对我的产品分类模型进行一些不良案例分析。我的数据看起来像这样: corpus_train, corpus_test, y_train, y_test = train_test
我是新手,我必须根据 De Pauw 和 Wagacha (1998) 方法(基本上是 char n-grams 上的 maxent)对词典中的单词进行分类。数据非常大(500 000 个条目和数百万
我正在查看 Spark 1.5 dataframe/row api和 implementation对于逻辑回归。据我了解,其中的 train 方法首先将 dataframe 转换为 RDD[Label
Sklearn 的 LogisticRegression 模型拒绝并行运行。我设置了 n_jobs=-1,也尝试了 n_jobs=4。运气不好——只有一个核心参与。我并行运行了其他 sklearn 模
我正在尝试使用 python 中的 doc2vec 将用户输入文本分为两类。我有以下代码来训练模型,然后对输入文本进行分类。问题是,我找不到任何对字符串进行分类的方法。我是新手,所以请忽略错误。 这里
sklearn LogisticRegression 中带有 l1 惩罚的默认 alpha 是多少? lmMod = LogisticRegression(penalty='l1') 最佳答案 根据d
我正在尝试通过 sklearn 运行逻辑回归: from sklearn.model_selection import train_test_split from sklearn.linear_mod
似乎在 scikit-learn 中实现的 LogisticRegression 无法学习简单的 bool 函数 AND 或 OR。我会理解 XOR 给出不好的结果,但 AND 和 OR 应该没问题。
我正在尝试使用 LogisticRegression 预测 Twitter 的人口统计属性,但我在预测中收到“File "Anaconda\lib\site-packages\sklearn\line
在使用 sklearn.linear_model.LogisticRegression 拟合训练数据集后,我想获得训练数据集和交叉验证数据集的成本函数值。 是否可以让 sklearn 简单地给我它最小
我是一名优秀的程序员,十分优秀!