Questions tagged «python»

用于与编程语言Python相关的数据科学问题。不适用于一般编码问题(-> stackoverflow)。

2
为什么在我的GPU上进行培训需要这么长时间?
细节: GPU:GTX 1080 训练:约110万张属于10个类别的图像 验证:约15万张属于10类的图像 每个纪元时间:〜10小时 我已经设置了CUDA,cuDNN和Tensorflow(以及Tensorflow GPU)。 我不认为我的模型这么复杂,每个纪元需要10个小时。我什至检查了我的GPU是否是问题所在,但不是。 培训时间是由于完全连接的层吗? 我的模特: model = Sequential() model.add() model.add(Conv2D(64, (3, 3), padding="same", strides=2)) model.add(Activation('relu')) model.add(Dropout(0.25)) model.add(Conv2D(64, (3, 3), padding="same", strides=2)) model.add(Activation('relu')) model.add(Dropout(0.25)) model.add(Conv2D(32, (3, 3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(3, 3), strides=2)) model.add(Flatten()) model.add(Dense(256)) model.add(Activation('relu')) model.add(Dense(4096)) model.add(Activation('relu')) model.add(Dense(10)) model.add(Activation('softmax')) model.summary() opt = keras.optimizers.rmsprop(lr=0.0001, decay=1e-6) model.compile(loss='categorical_crossentropy', optimizer=opt, …

3
具有任意数量的输入和输出的人工神经元网络(ANN)
我想使用ANN解决我的问题,但是问题是我的输入和输出节点号不固定。 我问了我的问题之前做了一些谷歌搜索,发现RNN可以帮助我解决我的问题。但是,我发现的所有示例都以某种方式定义了输入和输出节点的数量。 因此,我正在寻找一种策略,如何使其成为现实,或者至少是一些示例,在Keras或PyTorch中更可取。 有关我的问题的更多详细信息: 我有两个输入列表,其中第一个的长度是固定的,等于2,fe: in_1 = [2,2] 但是第二个列表的长度是灵活的,长度可以从3到inf,fe: in_2 = [1,1,2,2] 要么 in_2 = [1,1,1,2,2,2,3,3,3] 同样,输入列表彼此依赖。第一个列表显示输出列表的维度。因此,如果in_1 = [2,2],则意味着输出必须具有重塑为[2,2]形式的可能性。 目前,我正在考虑将两个输入列表合并为一个: in = in_1 + in_2 = [2, 2, 1, 1, 2, 2] 此外,输出与in_2列表fi的长度相同: 如果输入列表是: in_1 = [2, 2] in_2 = [1, 1, 2, 2] 输出应为: out = [1, 2, 1, …

4
可视化经常一起购买的物品
我在CSV文件中插入了以下结构的数据集: Banana Water Rice Rice Water Bread Banana Juice 每行表示一起购买的物品的集合。例如,第一行表示的项目Banana,Water和Rice购在一起。 我想创建如下所示的可视化文件: 这基本上是一个网格图,但是我需要一些工具(可能是Python或R),该工具可以读取输入结构并生成类似于上述的图表作为输出。

1
使用Keras重塑数据以进行深度学习
我是Keras的初学者,我从MNIST示例开始,以了解库的实际工作方式。Keras示例文件夹中MNIST问题的代码段为: import numpy as np np.random.seed(1337) # for reproducibility from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout, Activation, Flatten from keras.layers import Convolution2D, MaxPooling2D from keras.utils import np_utils batch_size = 128 nb_classes = 10 nb_epoch = 12 # input image dimensions img_rows, img_cols = 28, …

2
Python机器学习/数据科学项目结构
我正在寻找有关如何组织Python机器学习项目的信息。对于Python常规项目,有Cookiecutter,对于R ProjectTemplate。 这是我当前的文件夹结构,但是我将Jupyter Notebooks与实际的Python代码混合在一起,而且看起来还不太清楚。 . ├── cache ├── data ├── my_module ├── logs ├── notebooks ├── scripts ├── snippets └── tools 我在scripts文件夹中工作,当前在my_module下的文件中添加所有功能,但这会导致加载数据(相对/绝对路径)时出错以及其他问题。 除了一些kaggle竞赛解决方案和一些笔记本电脑,这些笔记本电脑的所有功能都在该笔记本电脑开始时有所凝结,因此我找不到关于此主题的适当最佳实践或良好示例。
10 python 

2
通过遍历pandas数据框中的行来创建新列
我有一个这样的熊猫数据框(X11):实际上我有99列,最高可达dx99 dx1 dx2 dx3 dx4 0 25041 40391 5856 0 1 25041 40391 25081 5856 2 25041 40391 42822 0 3 25061 40391 0 0 4 25041 40391 0 5856 5 40391 25002 5856 3569 我想为单元格值(例如25041、40391、5856等)创建其他列。因此,如果25041出现在任何dxs列中的特定行中,则将有一个值为250或1或0的列。我正在使用此代码,当行数较少时,它可以工作。 mat = X11.as_matrix(columns=None) values, counts = np.unique(mat.astype(str), return_counts=True) for x in values: X11[x] = …

4
如何抓取imdb网页?
我正在尝试自己使用Python学习网络抓取,作为学习数据分析的一部分。我正在尝试抓取网址为以下内容的imdb网页:http : //www.imdb.com/search/title? sort=num_votes,desc&start=1&title_type=feature&year=1950,2012 我正在使用BeautifulSoup模块。以下是我正在使用的代码: r = requests.get(url) # where url is the above url bs = BeautifulSoup(r.text) for movie in bs.findAll('td','title'): title = movie.find('a').contents[0] genres = movie.find('span','genre').findAll('a') genres = [g.contents[0] for g in genres] runtime = movie.find('span','runtime').contents[0] year = movie.find('span','year_type').contents[0] print title, genres,runtime, rating, year 我得到以下输出: The Shawshank Redemption …

2
如何执行具有大量功能的Logistic回归?
我有一个包含330个样本和每个样本27个特征的数据集,以及Logistic回归的二元类问题。 根据“十个规则”,每个功能至少需要包含10个事件。虽然,我有一个不平衡的数据集,有20%的正类和80%的负类。 这仅给我70个事件,因此Logistic模型仅包含大约7/8个功能。 我想将所有功能评估为预测器,但我不想手工选择任何功能。 那你有什么建议呢?我应该将所有7种功能组合在一起吗?我应该使用关联模型单独评估每个功能,然后只为最终模型选择最佳功能吗? 我也对分类和连续特征的处理感到好奇,可以混合使用吗?如果我有类别[0-1]和连续[0-100],我应该归一化吗? 我目前正在使用Python。 非常感谢你的帮助!

3
在DataFrame中找到连续的零并进行条件替换
我有一个像这样的数据集: 样本数据框 import pandas as pd df = pd.DataFrame({ 'names': ['A','B','C','D','E','F','G','H','I','J','K','L'], 'col1': [0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0], 'col2': [0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0]}) 我想,以取代一些0的中col1和col2用1的,而不是替代0的,如果三个或更多0的是在同一列的连续。熊猫怎么办? 原始数据集: names col1 col2 A 0 0 B 1 0 C 0 …

1
避免在不同的python内核之间重新加载DataFrame
有没有一种方法可以在内存中保留变量(大表/数据框)并在多个ipython笔记本之间共享? 我会寻找某种在概念上类似于MATLAB的持久变量的东西。可以从多个单独的编辑器(笔记本)中调用自定义函数/库,并使该外部函数缓存某些结果(或大表)。 通常,我想避免重新加载使用频繁的表(该表是通过从笔记本调用的自定义库加载的),因为每当我开始新的分析时,读取它大约需要2-3分钟。

3
如何在Python中对相同的值进行分组并计算其频率?
刚开始使用Python分析的新手,请谨慎:-)我找不到该问题的答案-抱歉,如果它已经在其他地方以其他格式回答了。 我有一个零售商店的交易数据的数据集。变量及其说明如下: section:商店的部分,str; prod_name:产品名称,str; 收据:发票编号,整数; 出纳员,出纳员的编号,整数; 成本:物料的成本,浮动; 日期,格式为MM / DD / YY,为str; 时间,格式为HH:MM:SS,为str; 收据对于单笔交易中购买的所有产品具有相同的价值,因此可用于确定单笔交易中购买的平均数量。 最好的方法是什么?我本质上是想使用groupby()按收据变量相同的出现来对收据变量进行分组,以便创建直方图。 在pandas DataFrame中处理数据。 编辑: 以下是一些带有标头的示例数据(prod_name实际上是一个十六进制数字): section,prod_name,receipt,cashier,cost,date,time electronics,b46f23e7,102856,5,70.50,05/20/15,9:08:20 womenswear,74558d0d,102857,8,20.00,05/20/15,9:12:46 womenswear,031f36b7,102857,8,30.00,05/20/15,9:12:47 menswear,1d52cd9d,102858,3,65.00,05/20/15,9:08:20 从该样本集中,我希望获得一个直方图,该直方图显示两次出现的收据102857(因为该人在一项交易中购买了两件物品)和一次出现的收据102856和102858。注意:我的数据集并不庞大,大约一百万行。

3
建立机器学习模型以根据环境数据预测农作物产量
我有一个数据集,其中包含一个农场10年(2005年-2014年)的温度,降水和大豆产量的数据。我想根据此数据预测2015年的收益。 请注意,该数据集具有温度和降水量的每日值,但每年只有1个值,因为农作物的收获是在农作物生长季节结束时进行的。 我想建立一个回归模型或其他基于机器学习的模型来预测2015年的产量,该模型基于回归模型/其他模型,该模型是通过研究前几年的产量,温度和降水之间的关系得出的。 我熟悉使用scikit-learn进行机器学习。但是,不确定如何表示此问题。这里最棘手的部分是温度和降水是每天的,但产量仅为每年1个值。 我该如何处理?

1
XGBoost线性回归输出不正确
我是XGBoost的新手,请原谅我的无知。这是python代码: import pandas as pd import xgboost as xgb df = pd.DataFrame({'x':[1,2,3], 'y':[10,20,30]}) X_train = df.drop('y',axis=1) Y_train = df['y'] T_train_xgb = xgb.DMatrix(X_train, Y_train) params = {"objective": "reg:linear"} gbm = xgb.train(dtrain=T_train_xgb,params=params) Y_pred = gbm.predict(xgb.DMatrix(pd.DataFrame({'x':[4,5]}))) print Y_pred 输出为: [ 24.126194 24.126194] 如您所见,输入数据只是一条直线。所以我期望的输出是[40,50]。我在这里做错了什么?

2
scikit分类器需要多少时间进行分类?
我计划使用scikit线性支持向量机(SVM)分类器对包含100万个带标签文档的语料库进行文本分类。我打算做的是,当用户输入某个关键字时,分类器将首先将其分类为一个类别,然后在该类别目录的文档中进行后续的信息检索查询。我有几个问题: 如何确认分类不会花费太多时间?我希望用户不必花时间等待分类完成才能获得更好的结果。 使用适用于网站/ Web应用程序的Python的scikit库适合吗? 有谁知道亚马逊或翻车如何对用户查询进行分类,或者他们使用完全不同的逻辑?

2
基于向量运算的随机梯度下降?
让我们假设我想使用具有N个样本的数据集来训练随机梯度下降回归算法。由于数据集的大小是固定的,因此我将重复使用数据T次。在每次迭代或“纪元”时,在对整个训练集进行随机重新排序后,我都会使用每个训练样本一次。 我的实现基于Python和Numpy。因此,使用向量运算可以显着减少计算时间。提出批量梯度下降的矢量化实现非常简单。但是,在随机梯度下降的情况下,我无法弄清楚如何避免在每个时期迭代所有样本的外部循环。 有人知道随机梯度下降的任何矢量化实现吗? 编辑:有人问我,如果我的数据集大小固定,为什么要使用在线梯度下降。 从[1]中可以看出,在线梯度下降的收敛速度比批量梯度下降的慢,且经验成本最低。但是,它收敛得更快,达到了预期成本的最小值,从而衡量了通用性能。我想通过交叉验证来测试这些理论结果对我的特定问题的影响。没有矢量化的实现,我的在线梯度下降代码要比批处理梯度下降代码慢得多。这显着增加了完成交叉验证过程所需的时间。 编辑:根据ffriend的要求,我在这里包括了我的在线梯度下降实现的伪代码。我正在解决回归问题。 Method: on-line gradient descent (regression) Input: X (nxp matrix; each line contains a training sample, represented as a length-p vector), Y (length-n vector; output of the training samples) Output: A (length-p+1 vector of coefficients) Initialize coefficients (assign value 0 to all coefficients) Calculate outputs …

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.