草庐IT

SciKit-Learn

全部标签

python - 具有一个(或多个)参数的 Python 多输出回归或分类器

我使用Python的Scikit-learn库编写了一个简单的线性回归和决策树分类器代码来预测结果。它运行良好。我的问题是,有没有一种方法可以反向执行此操作,以根据推算结果(准确度最高的参数)预测参数值的最佳组合。或者我可以这样问,是否有分类、回归或其他类型的算法(决策树、SVM、KNN、逻辑回归、线性回归、多项式回归...)可以基于一个结果预测多个结果(或更多)参数?我尝试通过放置多变量结果来做到这一点,但它显示错误:ValueError:Expected2Darray,got1Darrayinstead:array=[101905182268646624465].Reshapeyo

python - 使用来自 sklearn.feature_extraction.text.TfidfVectorizer 的 TfidfVectorizer 计算 IDF

我认为函数TfidfVectorizer没有正确计算IDF因子。例如,从tf-idffeatureweightsusingsklearn.feature_extraction.text.TfidfVectorizer复制代码:fromsklearn.feature_extraction.textimportTfidfVectorizercorpus=["Thisisverystrange","Thisisverynice"]vectorizer=TfidfVectorizer(use_idf=True,#utilizaoidfcomopeso,fazendotf*idfnorm=Non

python - Sklearn : Alternative Dim Reduction? 中的 PCA 内存错误

我试图在Sklearn中使用PCA来减少一个非常大的矩阵的维数,但它会产生内存错误(所需的RAM超过128GB)。我已经设置了copy=False并且我正在使用计算成本较低的随机PCA。有解决办法吗?如果不是,我可以使用哪些其他需要更少内存的暗淡减少技术。谢谢。更新:我尝试PCA的矩阵是一组特征向量。它来自通过预训练的CNN传递一组训练图像。矩阵是[300000,51200]。尝试的PCA组件:100到500。我想降低它的维度,以便我可以使用这些功能来训练ML算法,例如XGBoost。谢谢。 最佳答案 最后,我使用了Truncate

python - 使用 HOSVD 分解后 sktensor/scikit-tensor 中的张量重建

我目前正在分解3-D张量,例如[user,item,tags]=rating。我在python中使用sktensor库进行分解。例如。T=np.zeros((3,4,2))T[:,:,0]=[[1,4,7,10],[2,5,8,11],[3,6,9,12]]T[:,:,1]=[[13,16,19,22],[14,17,20,23],[15,18,21,24]]T=dtensor(T)Y=hooi(T,[2,3,1],init='nvecs')现在函数hooi返回的是什么以及如何从中重建张量??? 最佳答案 首先,函数tucker_h

python - 使用 sklearn 和线性回归时出错 : shapes (1, 16) 和 (1,1) 未对齐 : 16 (dim 1) ! = 1 (dim 0)

我想学习机器学习,偶然发现了youtubesiraj和他的Udacity视频,想尝试学习一些东西。他的引用视频:https://www.youtube.com/watch?v=vOppzHpvTiQ&index=1&list=PL2-dafEMk2A7YdKv4XfKpfbTH5z6rEEj3在他的视频中,他导入并读取了一个txt文件,但是当我尝试重新创建txt文件时,它无法正确读取。相反,我尝试使用相同的数据创建一个pandas数据框并对其执行线性回归/预测,但随后出现以下错误。发现样本数量不一致的输入变量:[1,16]和一些关于传递一维数组的内容,我需要reshape它们。然后当我

python - Scikit 学习 : roc_auc_score

我正在使用scikit-learn中的roc_auc_score函数来评估我的模型性能。但是,无论我使用predict()还是predict_proba(),我都会得到不同的值p_pred=forest.predict_proba(x_test)y_test_predicted=forest.predict(x_test)fpr,tpr,_=roc_curve(y_test,p_pred[:,1])roc_auc=auc(fpr,tpr)roc_auc_score(y_test,y_test_predicted)#=0.68roc_auc_score(y_test,p_pred[:,1

python - 如何从 numpy 矩阵传递到 numpy 数组?

我是Python和Numpy的新手,所以我的问题的标题可能是错误的。我从matlab文件加载一些数据data=scipy.io.loadmat("data.mat")x=data['x']y=data['y']>>>x.shape(2194,12276)>>>y.shape(2194,1)y是一个向量,我想要y.shape=(2194,)。我不知道(2194,)和(2194,1)之间的区别,但如果您尝试加载sklearn.linear_model.LassoCV似乎会遇到错误y这样y.shape=(2194,1)。那么如何更改我的y向量以获得y.shape=(2194,)??

python - python中岭回归的方差膨胀因子

我正在对有些共线的数据运行岭回归。用于识别稳定拟合的方法之一是脊迹,这要归功于scikit-learn上的出色示例,我能做到。另一种方法是随着k的增加计算每个变量的方差膨胀因子(VIF)。当VIF降至Statsmodels有VIF的代码,但它是用于OLS回归的。我试图改变它来处理岭回归。我正在根据示例回归分析第5版第10章检查我的结果。我的代码生成了k=0.000的正确结果,但在那之后就没有了。可用的SAS代码可用,但我不是SAS用户,我不知道该实现与scikit-learn(和/或statsmodels)之间的区别。我已经坚持了几天,所以非常感谢任何帮助。#http://www.at

python - 多项式朴素贝叶斯参数 alpha 设置? scikit学习

有谁知道在做朴素贝叶斯分类时如何设置alpha参数吗?例如我首先使用词袋构建特征矩阵,矩阵的每个单元格都是词的计数,然后我使用tf(termfrequency)对矩阵进行归一化。但是当我使用朴素贝叶斯构建分类器模型时,我选择使用多项式N.B(我认为这是正确的,而不是伯努利和高斯)。默认的alpha设置是1.0(文档说它是拉普拉斯平滑,我不知道是什么)。结果真的很糟糕,只有21%的召回率找到了正类(目标类)。但是当我设置alpha=0.0001(我随机选择)时,结果得到95%的召回率。此外,我检查了多项式N.Bformula,我认为这是因为alpha问题,因为如果我使用单词计数作为特征,

python - Scikit 学习错误消息 'Precision and F-score are ill-defined and being set to 0.0 in labels'

这个问题在这里已经有了答案:UndefinedMetricWarning:F-scoreisill-definedandbeingsetto0.0inlabelswithnopredictedsamples(7个答案)ClassificationReport-PrecisionandF-scoreareill-defined(2个答案)关闭去年。我正在研究二元分类模型,分类器是朴素贝叶斯。我有一个几乎平衡的数据集,但是我在预测时收到以下错误消息:UndefinedMetricWarning:PrecisionandF-scoreareill-definedandbeingsetto0.