问题标签 [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.

0 投票
1 回答
131 浏览

python - 使用 sklearn 编写相对于 graphlab 创建的相应代码时遇到问题,主要无法正确绘制

绘制犯罪率与房价的图表非常麻烦。使用graphlab lib很容易做到,但使用sklearn我无法做到。这是我的代码 wrt sklearn

使用 sklearn 环境得到的输出(不正确)

我正在寻找的输出是 它可以使用 Graphlab 创建环境来完成

这是使用 graphlab create 正确运行的完整代码

希望有人能指出我的错误。谢谢。

这是数据集

0 投票
1 回答
146 浏览

python - 如何在 ensemble python 中使用我自己的分类器

主要目的是在 python 的集成中添加像CNN这样的深度学习分类方法作为个体。
以下代码工作正常:

但是,错误:

一旦运行就会出现eclf1=eclf1.predict(XTest)

以防万一,CNN_fit_训练功能和以下功能组成:

0 投票
1 回答
267 浏览

machine-learning - scikit 学习离散化分类数字数据

我正在尝试离散化数据以进行分类。它们的值是字符串,我将它们转换为数字 0、1、2、3。

这就是数据的样子(熊猫数据框)。我已将数据框拆分为dataLabeldataFeatures

我想使用 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),但我不确定这是否与数据的离散化方式有关。

我的问题是 - 这是离散数据的正确方法吗?我的代码是正确的还是有更好的方法呢?

0 投票
0 回答
377 浏览

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

数据和代码如下图

样本数据如下图

0 投票
1 回答
2504 浏览

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)

任何人都可以帮忙吗?

谢谢

0 投票
1 回答
115 浏览

python - 随机森林句柄否定

我正在使用随机森林将情绪应用于字符串。所以基本上在清理评论之后,这本质上意味着停用词(nltk.corpus -> stopwords我从中删除单词为no、not、nor、won、was、 weren)以及非字母字符,并且所有内容都是小写的。CountVectorizerwith 参数(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 分类器也无法正确预测否定)。我认为它也可能是训练集,没有足够的否定案例,所以它无法学习。

你有什么建议可以改进或改变,以便正确分类否定吗?

0 投票
1 回答
260 浏览

pandas - 如何在 scipy 中使用 gridSearch CV?

我一直在尝试使用 Gridsearchcv 调整我的 SVM,但它会抛出错误。

我的代码是:

将错误抛出为:'数组索引过多'

但是当我简单地这样做时:

代码工作正常

0 投票
1 回答
476 浏览

python-2.7 - 机器学习:如何在具有分类和数字特征的 pandas 数据帧上应用一种热编码?

一些特征是数字的,例如“毕业率”,而其他特征是分类的,例如学校的名称。我在分类特征上使用标签编码器将它们转换为整数。

我现在有一个带有浮点数和整数的数据框,分别表示数字特征和分类特征(用标签编码器转换)。

我不确定如何继续学习,我需要使用一种热编码吗?如果是这样,我该怎么做?根据我目前的理解,我不能简单地将数据帧传递给 sklearn OneHotEncoder,因为有浮点数。我是否只是将标签编码器应用于所有功能来解决问题?

我的数据框中的示例数据。OPEID 和 opeid6 使用标签编码器进行转换

非常感谢!

0 投票
2 回答
1237 浏览

python - 基于现有列添加新列

熊猫新手在这里。

我正在尝试在我的数据框中创建一个新列,当我将其输入分类器时,它将用作训练标签。

如果给定的 Id 对于 Apples 或 Pears 具有 (Value1 > 0) 或 (Value2 > 0),则标签列的值为 1.0,否则为 0.0。

我的数据框是由 Id 索引的行,如下所示:

如果熊猫向导可以帮助我了解此操作的语法 - 我的大脑正在努力将它们放在一起。

谢谢!

0 投票
0 回答
804 浏览

python - 意外的 StandardScaler fit_transform 输出

我正在尝试使用 StandardScaler().fit_transform() 缩放熊猫系列。但是,输出始终是一个零数组。

当我这样做时,输入系列的长度为 201:

我得到一个浮动列表如下:

当我应用缩放器时:

输出:

我怎样才能解决这个问题?