Questions tagged «scikit-learn»

Scikit-learn是一个Python模块,包含用于机器学习,数据挖掘和数据分析的简单有效的工具。它基于NumPy,SciPy和matplotlib构建。它根据3条款BSD许可进行分发。

8
scikit_learn模型中的fit和fit_transform之间的区别?
我是数据科学的新手,我不了解scikit-learn fit和fit_transform方法之间的区别。谁能简单解释为什么我们可能需要转换数据? 对训练数据拟合模型并转换为测试数据意味着什么?这是否意味着例如在训练中将分类变量转换为数字并转换新功能集以测试数据?

3
何时使用One Hot Encoding,LabelEncoder和DictVectorizo​​r?
我已经使用分类数据构建模型已有一段时间了,在这种情况下,我基本上默认使用scikit-learn的LabelEncoder函数在构建模型之前转换此数据。 我了解两者之间的区别OHE,LabelEncoder以及DictVectorizor它们在处理数据方面的区别,但是对我来说不清楚的是,您何时可能会选择将一种技术应用于另一种技术。 是否存在某些算法或情况相对于其他算法有优缺点?

11
使用scikit Learn的SVM无限运行,永远无法完成执行
我正在尝试在具有595605行和5列(功能)的训练数据集和具有397070行的测试数据集上使用scikit Learn(python)运行SVR。数据已经过预处理和规范化。 我能够成功运行测试示例,但是使用我的数据集执行并使其运行了一个多小时后,我仍然看不到任何输出或程序终止。我尝试使用不同的IDE甚至从终端执行,但这似乎不是问题。我也尝试将'C'参数值从1更改为1e3。 使用scikit的所有svm实现都面临类似的问题。 我还没有等到它完成?此执行需要多少时间? 根据我的经验,它不需要几分钟。 这是我的系统配置:Ubuntu 14.04、8GB RAM,大量可用内存,第四代i7处理器

6
字符串作为决策树/随机森林中的特征
我在决策树/随机森林的应用程序上遇到了一些问题。我正在尝试解决一个以数字和字符串(例如国家/地区名称)为特征的问题。现在的库scikit-learn仅将数字作为参数,但是我想注入字符串,因为它们具有大量的知识。 如何处理这种情况? 我可以通过某种机制将字符串转换为数字,例如Python中的哈希。但是我想知道有关如何在决策树问题中处理字符串的最佳实践。



1
为什么xgboost比sklearn GradientBoostingClassifier快得多?
我正在尝试通过50个具有100个数字特征的示例训练一个梯度提升模型。XGBClassifier我的机器43秒内把手500棵树,而GradientBoostingClassifier只处理10棵(!)以1分2秒:(我没有理会试图种植500棵树,因为它会需要几个小时。我使用的是相同的learning_rate,并max_depth设置, 见下文。 是什么使XGBoost如此之快?它是否使用了sklearn家伙不知道的用于梯度增强的新颖实现方式?还是“偷工减料”并种植浅树? ps我知道这个讨论:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-survey,但是那里找不到答案... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

3
从MultiOutputClassifier了解predict_proba
我正在scikit-learn网站上跟踪此示例,以使用随机森林模型执行多输出分类。 from sklearn.datasets import make_classification from sklearn.multioutput import MultiOutputClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.utils import shuffle import numpy as np X, y1 = make_classification(n_samples=5, n_features=5, n_informative=2, n_classes=2, random_state=1) y2 = shuffle(y1, random_state=1) Y = np.vstack((y1, y2)).T forest = RandomForestClassifier(n_estimators=10, random_state=1) multi_target_forest = MultiOutputClassifier(forest, n_jobs=-1) multi_target_forest.fit(X, Y).predict(X) print(multi_target_forest.predict_proba(X)) 由此predict_proba我得到2个5x2数组: [array([[ …


4
Scikit学习:让SGDClassifier进行预测以及Logistic回归
训练Logistic回归的一种方法是使用随机梯度下降,scikit-learn提供了接口。 我想做的是使用scikit-learn的SGDClassifier,并使其得分与此处的Logistic回归相同。但是,我必须错过一些机器学习增强功能,因为我的分数并不相同。 这是我当前的代码。我在SGDClassifier上缺少什么,它会产生与Logistic回归相同的结果? from sklearn import datasets from sklearn.linear_model import LogisticRegression from sklearn.linear_model import SGDClassifier import numpy as np import pandas as pd from sklearn.cross_validation import KFold from sklearn.metrics import accuracy_score # Note that the iris dataset is available in sklearn by default. # This data is also conveniently preprocessed. …

5
用Python计算KL发散
我对此很陌生,不能说我对背后的理论概念有完整的了解。我正在尝试计算Python中几个点列表之间的KL散度。我正在使用http://scikit-learn.org/stable/modules/generation/sklearn.metrics.mutual_info_score.html尝试执行此操作。我遇到的问题是,任何两个数字列表(其1.3862943611611198906)返回的值都是相同的。我有一种感觉,我在这里犯了某种理论上的错误,但无法发现。 values1 = [1.346112,1.337432,1.246655] values2 = [1.033836,1.082015,1.117323] metrics.mutual_info_score(values1,values2) 这是我正在运行的示例-只是我对任何2个输入都得到相同的输出。任何建议/帮助将不胜感激!

2
train_test_split()错误:发现输入变量的样本数不一致
对Python来说是相当新的东西,但是基于一些分类数据建立了我的第一个RF模型。我已经将所有标签转换为int64数字数据,并以numpy数组的形式加载到X和Y中,但是在尝试训练模型时遇到错误。 这是我的数组的样子: >>> X = np.array([[df.tran_cityname, df.tran_signupos, df.tran_signupchannel, df.tran_vmake, df.tran_vmodel, df.tran_vyear]]) >>> Y = np.array(df['completed_trip_status'].values.tolist()) >>> X array([[[ 1, 1, 2, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 2, 1, 3, 1, 3, 3, 2, 3, 3, 1, 1, 1, 1], [ 0, 5, …

3
拆分数据前后的StandardScaler
当我阅读有关使用的内容时StandardScaler,大多数建议都说您应该在使用StandardScaler 之前将数据分成训练/测试,但是当我检查一些在线发布的代码(使用sklearn)时,有两个主要用途。 1-使用StandardScaler所有数据。例如 from sklearn.preprocessing import StandardScaler sc = StandardScaler() X_fit = sc.fit(X) X_std = X_fit.transform(X) 要么 from sklearn.preprocessing import StandardScaler sc = StandardScaler() X = sc.fit(X) X = sc.transform(X) 或者简单地 from sklearn.preprocessing import StandardScaler sc = StandardScaler() X_std = sc.fit_transform(X) 2- StandardScaler在分割数据上使用。 from sklearn.preprocessing import StandardScaler sc = StandardScaler() …


2
您可以在scikit-learn中解释SVC和LinearSVC之间的区别吗?
我最近开始学习与之合作,sklearn并且刚刚遇到了这种奇怪的结果。 我使用digits可用的数据集sklearn尝试不同的模型和估计方法。 当我在数据上测试支持向量机模型时,我发现sklearnSVM分类中有两种不同的类:SVC和LinearSVC,其中前者使用一种反对一种方法,而另一种则使用一种反对其他方法。 我不知道会对结果产生什么影响,因此我尝试了两者。我进行了蒙特卡洛(Monte Carlo)风格的估计,我对这两个模型都运行了500次,每次将样本随机分为60%训练和40%测试,并在测试集上计算预测误差。 常规SVC估计器产生以下误差直方图: 线性SVC估计器产生以下直方图: 造成这种明显差异的原因是什么?为什么线性模型大多数时候都具有如此高的精度? 并且,与此相关的是,什么可能导致结果出现明显的极化?精度接近1或精度接近0,两者之间什么也没有。 为了进行比较,决策树分类产生的正态分布错误率更高,准确度约为0.85。
19 svm  scikit-learn 

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.