问题标签 [sklearn-pandas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 sklearn 编写相对于 graphlab 创建的相应代码时遇到问题,主要无法正确绘制
绘制犯罪率与房价的图表非常麻烦。使用graphlab lib很容易做到,但使用sklearn我无法做到。这是我的代码 wrt sklearn
我正在寻找的输出是 它可以使用 Graphlab 创建环境来完成
这是使用 graphlab create 正确运行的完整代码
希望有人能指出我的错误。谢谢。
这是数据集
python - 如何在 ensemble python 中使用我自己的分类器
主要目的是在 python 的集成中添加像CNN这样的深度学习分类方法作为个体。
以下代码工作正常:
但是,错误:
一旦运行就会出现eclf1=eclf1.predict(XTest)
。
以防万一,CNN
由_fit_
训练功能和以下功能组成:
machine-learning - scikit 学习离散化分类数字数据
我正在尝试离散化数据以进行分类。它们的值是字符串,我将它们转换为数字 0、1、2、3。
这就是数据的样子(熊猫数据框)。我已将数据框拆分为dataLabel
和dataFeatures
我想使用 scikit learn 的决策树和多项朴素贝叶斯,并尝试使用离散化数据DictVectorizer
这就是我所拥有的
dictvec = dataFeatures.T.to_dict().values()
from sklearn.feature_extraction import DictVectorizer as DV
vectorizer = DV( sparse = False )
X = vectorizer.fit_transform(dictvec)
Y = dataLabel.ravel()
这是我对分类器的输入
我收到一个错误bad input shape (64, 4)
,但我不确定这是否与数据的离散化方式有关。
我的问题是 - 这是离散数据的正确方法吗?我的代码是正确的还是有更好的方法呢?
python - 熊猫包装引发 ValueError
我在尝试通过 pandas 运行我的 python 脚本时遇到以下错误,在运行 30 万条记录数据时,请告知出了什么问题
回溯(最后一次调用):文件“extractyooochoose2.py”,第 32 行,totalitems=[len(x) for x in clicksdat.groupby('Sid')['itemid'].unique()] 文件“” ,第 13 行,在唯一文件“/home/ubuntu/anaconda2/lib/python2.7/site-packages/pandas/core/groupby.py”中,第 620 行,在包装器中引发 ValueError
数据和代码如下图
样本数据如下图
python - Sklearn-Pandas DataFrameMapper: mapper.fit_transform 给出 ValueError: bad input shape (8, 2)
我能够复制Github 存储库中给出的示例。但是,当我对自己的数据进行尝试时,我得到了 ValueError。
下面是一个虚拟数据,它给出了与我的真实数据相同的错误。
下面是错误
() 中的 ValueError Traceback (最近一次调用最后一次) ----> 1 np.round(mapper.fit_transform(data.copy()),2)
C:\Users\E245713\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\base.py in fit_transform(self, X, y, **fit_params) 453 if y is None: 454 # fit method of arity 1 (无监督变换) --> 455 return self.fit(X, **fit_params).transform(X) 456 else: 457 # arity 2 的拟合方法(监督变换)
C:\Users\E245713\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn_pandas\dataframe_mapper.py in fit(self, X, y) 95 列,self.features 中的转换器:96 如果转换器不是无:---> 97 transformers.fit(self._get_col_subset(X, columns)) 98 return self 99
C:\Users\E245713\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\preprocessing\label.py in fit(self, y) 106 self : 返回一个 self 的实例。107 """ --> 108 y = column_or_1d(y, warn=True) 109 _check_numpy_unicode_bug(y) 110 self.classes_ = np.unique(y)
C:\Users\E245713\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\utils\validation.py in column_or_1d(y, warn) 549 return np.ravel(y) 550 --> 551 raise ValueError (“错误的输入形状 {0}”.format(shape)) 552 553
ValueError: 错误的输入形状 (8, 2)
任何人都可以帮忙吗?
谢谢
python - 随机森林句柄否定
我正在使用随机森林将情绪应用于字符串。所以基本上在清理评论之后,这本质上意味着停用词(nltk.corpus -> stopwords
我从中删除单词为no、not、nor、won、was、 weren)以及非字母字符,并且所有内容都是小写的。CountVectorizer
with 参数(analyzer = "word", tokenizer = None, preprocessor = None, ngram_range=(1, 3), stop_words = None, max_features = 5500)
构建词汇表并将其添加到数组numpy
中。我也在使用 100 棵树。
用分类器分割数据后,test_size = .1
进行训练、拟合和评分。
score = forest.score(X_test, y_test)
: 0.882180882181
混淆矩阵,没有归一化:
归一化混淆矩阵:
ROC 曲线显示 RandomForest (RF) 和具有 LinearRegression(RF + LR) 的 RandomForest:
所以问题是,即使结果看起来非常好,我也会得到错误的结果,例如:
“这部电影不好” ->否定
“这部电影还不错” ->否定
“音乐和画面不好” ->正面
“这部电影没有意义” ->积极
所以以上只是一些有问题的案例,但你可以大致了解我目前面临的问题是什么(即使使用 3-gram 分类器也无法正确预测否定)。我认为它也可能是训练集,没有足够的否定案例,所以它无法学习。
你有什么建议可以改进或改变,以便正确分类否定吗?
pandas - 如何在 scipy 中使用 gridSearch CV?
我一直在尝试使用 Gridsearchcv 调整我的 SVM,但它会抛出错误。
我的代码是:
将错误抛出为:'数组索引过多'
但是当我简单地这样做时:
代码工作正常
python-2.7 - 机器学习:如何在具有分类和数字特征的 pandas 数据帧上应用一种热编码?
一些特征是数字的,例如“毕业率”,而其他特征是分类的,例如学校的名称。我在分类特征上使用标签编码器将它们转换为整数。
我现在有一个带有浮点数和整数的数据框,分别表示数字特征和分类特征(用标签编码器转换)。
我不确定如何继续学习,我需要使用一种热编码吗?如果是这样,我该怎么做?根据我目前的理解,我不能简单地将数据帧传递给 sklearn OneHotEncoder,因为有浮点数。我是否只是将标签编码器应用于所有功能来解决问题?
我的数据框中的示例数据。OPEID 和 opeid6 使用标签编码器进行转换
非常感谢!
python - 基于现有列添加新列
熊猫新手在这里。
我正在尝试在我的数据框中创建一个新列,当我将其输入分类器时,它将用作训练标签。
如果给定的 Id 对于 Apples 或 Pears 具有 (Value1 > 0) 或 (Value2 > 0),则标签列的值为 1.0,否则为 0.0。
我的数据框是由 Id 索引的行,如下所示:
如果熊猫向导可以帮助我了解此操作的语法 - 我的大脑正在努力将它们放在一起。
谢谢!
python - 意外的 StandardScaler fit_transform 输出
我正在尝试使用 StandardScaler().fit_transform() 缩放熊猫系列。但是,输出始终是一个零数组。
当我这样做时,输入系列的长度为 201:
我得到一个浮动列表如下:
当我应用缩放器时:
输出:
我怎样才能解决这个问题?