我正在尝试使用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)
Run Code Online (Sandbox Code Playgroud)
回溯(最近一次调用最后一次):文件"",第1行,在文件"/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/label.py",第103行,in y y = column_or_1d(Y,警告=真)文件 "/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py",线306,在column_or_1d提高ValueError异常("坏输入形状{ 0.".format(shape))ValueError:输入形状错误(6,3)
有关如何解决这个问题的任何想法?
如何将训练有素的Naive Bayes分类器保存到磁盘并使用它来预测数据?
我从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()
Run Code Online (Sandbox Code Playgroud) 我想拥有一个NumPy数组的规范.更具体地说,我正在寻找此功能的等效版本
def normalize(v):
norm = np.linalg.norm(v)
if norm == 0:
return v
return v / norm
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西skearn还是numpy?
此函数适用于v0向量的情况.
是否可以使用scikit-learn K-Means Clustering指定您自己的距离函数?
python cluster-analysis machine-learning k-means scikit-learn
我可以从决策树中的受过训练的树中提取基础决策规则(或"决策路径")作为文本列表吗?
就像是:
if A>0.4 then if B<0.2 then if C>0.8 then class='X'
谢谢你的帮助.
python machine-learning decision-tree random-forest scikit-learn
我尝试加载已保存的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 in load(filename, mmap_mode)
573 return load_compatibility(fobj)
574
--> 575 obj = _unpickle(fobj, filename, mmap_mode)
576
577 return obj
/usr/local/lib/python2.7/dist-packages/sklearn/externals/joblib/numpy_pickle.pyc in _unpickle(fobj, filename, mmap_mode)
505 obj = None
506 try:
--> …Run Code Online (Sandbox Code Playgroud) 如何找到每个系数的p值(显着性)?
lm = sklearn.linear_model.LinearRegression()
lm.fit(x,y)
Run Code Online (Sandbox Code Playgroud) 我知道我可以实现这样的均方根误差函数:
def rmse(predictions, targets):
return np.sqrt(((predictions - targets) ** 2).mean())
Run Code Online (Sandbox Code Playgroud)
如果这个rmse函数在某个库中实现,可能是scipy或scikit-learn,我正在寻找什么?
我注意到,当在特定数据集(矩阵)上使用One Hot编码并将其用作学习算法的训练数据时,与使用原始矩阵本身作为训练数据相比,它在预测准确性方面提供了明显更好的结果.这种性能提升如何发生?
我想在scikit中实现一个机器学习算法,但是我不明白这个参数random_state是做什么的?我为什么要用它?
我也无法理解什么是伪随机数.
scikit-learn ×10
python ×9
numpy ×3
statistics ×2
data-mining ×1
k-means ×1
pandas ×1
regression ×1
scipy ×1