Questions tagged «scikit-learn»

scikit-learn是一个用于Python的机器学习库,它为数据分析和数据挖掘提供了简单有效的工具,重点是机器学习。每个人都可以使用它,并且可以在各种情况下重复使用。它基于NumPy和SciPy。该项目是开源的并且可以商业使用(BSD许可证)。

20
scikit-learn中跨多列的标签编码
我正在尝试使用scikit-learn LabelEncoder来编码一大串DataFrame字符串标签。由于数据框有许多(50+)列,因此我想避免LabelEncoder为每一列创建一个对象。我宁愿只有一个LabelEncoder可以在我所有数据列中使用的大对象。 将整个数据DataFrame投入LabelEncoder会产生以下错误。请记住,我在这里使用伪数据。实际上,我正在处理大约50列的字符串标记数据,因此需要一个不按名称引用任何列的解决方案。 import pandas from sklearn import preprocessing df = pandas.DataFrame({ 'pets': ['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'], 'owner': ['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'], 'location': ['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego', 'New_York'] }) le = preprocessing.LabelEncoder() le.fit(df) 追溯(最近一次通话最近):文件“ /Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/label.py”中的第1行,第103行,适合= column_or_1d的第306行“ column_or_1d(y,warn = True)文件“ /Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py”引发ValueError(“错误的输入形状{ 0}“。format(shape))ValueError:输入形状错误(6,3) 关于如何解决这个问题有什么想法吗?


6
将分类器保存到scikit-learn中的磁盘
如何保存经过训练的朴素贝叶斯分类器到磁盘并用于预测数据? 我有来自scikit-learn网站的以下示例程序: from sklearn import datasets iris = datasets.load_iris() from sklearn.naive_bayes import GaussianNB gnb = GaussianNB() y_pred = gnb.fit(iris.data, iris.target).predict(iris.data) print "Number of mislabeled points : %d" % (iris.target != y_pred).sum()

15
ImportError:没有名为sklearn.cross_validation的模块
我在Ubuntu 14.04中使用python 2.7。我使用以下命令安装了scikit-learn,numpy和matplotlib: sudo apt-get install build-essential python-dev python-numpy \ python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \ ipython 但是当我导入这些包时: from sklearn.cross_validation import train_test_split 它向我返回此错误: ImportError: No module named sklearn.cross_validation 我需要做什么?





10
RuntimeWarning:numpy.dtype大小已更改,可能表明二进制不兼容
我尝试加载已保存的SVM模型时遇到此错误。我尝试卸载sklearn,NumPy和SciPy,然后再次重新安装最新版本(使用pip)。我仍然收到此错误。为什么? In [1]: import sklearn; print sklearn.__version__ 0.18.1 In [3]: import numpy; print numpy.__version__ 1.11.2 In [5]: import scipy; print scipy.__version__ 0.18.1 In [7]: import pandas; print pandas.__version__ 0.19.1 In [10]: clf = joblib.load('model/trained_model.pkl') --------------------------------------------------------------------------- RuntimeWarning Traceback (most recent call last) <ipython-input-10-5e5db1331757> in <module>() ----> 1 clf = joblib.load('sentiment_classification/model/trained_model.pkl') /usr/local/lib/python2.7/dist-packages/sklearn/externals/joblib/numpy_pickle.pyc …


5
如何将数据分为3组(训练,验证和测试)?
我有一个熊猫数据框,我希望将其分为3组。我知道使用train_test_split从sklearn.cross_validation,一个可以在两个集(训练集和测试)分割数据。但是,我找不到将数据分为三组的任何解决方案。最好是,我想拥有原始数据的索引。 我知道一种解决方法是使用train_test_split两次并以某种方式调整索引。但是,是否存在更标准/内置的方式将数据分为3组而不是2组?

6
用sklearn缩放的pandas数据框列
我有一个带有混合类型列的pandas数据框,我想将sklearn的min_max_scaler应用于某些列。理想情况下,我想就地进行这些转换,但还没有找到一种方法来进行。我编写了以下有效的代码: import pandas as pd import numpy as np from sklearn import preprocessing scaler = preprocessing.MinMaxScaler() dfTest = pd.DataFrame({'A':[14.00,90.20,90.95,96.27,91.21],'B':[103.02,107.26,110.35,114.23,114.68], 'C':['big','small','big','small','small']}) min_max_scaler = preprocessing.MinMaxScaler() def scaleColumns(df, cols_to_scale): for col in cols_to_scale: df[col] = pd.DataFrame(min_max_scaler.fit_transform(pd.DataFrame(dfTest[col])),columns=[col]) return df dfTest A B C 0 14.00 103.02 big 1 90.20 107.26 small 2 90.95 110.35 …


13
sklearn错误ValueError:输入包含NaN,无穷大或对于dtype('float64')而言太大的值
我正在使用sklearn,并且亲和力传播存在问题。我建立了一个输入矩阵,并且不断收到以下错误。 ValueError: Input contains NaN, infinity or a value too large for dtype('float64'). 我跑了 np.isnan(mat.any()) #and gets False np.isfinite(mat.all()) #and gets True 我尝试使用 mat[np.isfinite(mat) == True] = 0 删除无限值,但这也不起作用。我该怎么做才能摆脱矩阵中的无限值,以便可以使用亲和力传播算法? 我正在使用anaconda和python 2.7.9。

6
如何确定RandomForestClassifier中的feature_importances?
我有一个按时间序列作为数据输入的分类任务,其中每个属性(n = 23)代表一个特定的时间点。除了绝对分类结果之外,我还想知道,哪些属性/日期对结果有多大程度的贡献。因此,我只是使用feature_importances_,对我来说效果很好。 但是,我想知道如何计算它们以及使用哪种度量/算法。不幸的是,我找不到有关此主题的任何文档。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.