Questions tagged «python»

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

3
是否有适用于python的好的即用型语言模型?
我正在为一个应用程序制作原型,我需要一个语言模型来计算一些生成的句子的困惑度。 我可以随时使用经过训练的python语言模型吗?简单的东西 model = LanguageModel('en') p1 = model.perplexity('This is a well constructed sentence') p2 = model.perplexity('Bunny lamp robert junior pancake') assert p1 < p2 我看过一些框架,但找不到我想要的。我知道我可以使用类似: from nltk.model.ngram import NgramModel lm = NgramModel(3, brown.words(categories='news')) 这在Brown Corpus上使用了很好的图林概率分布,但是我正在一些大型数据集(例如1b单词数据集)上寻找精心设计的模型。我可以真正相信一般领域的结果(不仅是新闻)
11 python  nlp  language-model  r  statistics  linear-regression  machine-learning  classification  random-forest  xgboost  python  sampling  data-mining  orange  predictive-modeling  recommender-system  statistics  dimensionality-reduction  pca  machine-learning  python  deep-learning  keras  reinforcement-learning  neural-network  image-classification  r  dplyr  deep-learning  keras  tensorflow  lstm  dropout  machine-learning  sampling  categorical-data  data-imputation  machine-learning  deep-learning  machine-learning-model  dropout  deep-network  pandas  data-cleaning  data-science-model  aggregation  python  neural-network  reinforcement-learning  policy-gradients  r  dataframe  dataset  statistics  prediction  forecasting  r  k-means  python  scikit-learn  labels  python  orange  cloud-computing  machine-learning  neural-network  deep-learning  rnn  recurrent-neural-net  logistic-regression  missing-data  deep-learning  autoencoder  apache-hadoop  time-series  data  preprocessing  classification  predictive-modeling  time-series  machine-learning  python  feature-selection  autoencoder  deep-learning  keras  tensorflow  lstm  word-embeddings  predictive-modeling  prediction  machine-learning-model  machine-learning  classification  binary  theory  machine-learning  neural-network  time-series  lstm  rnn  neural-network  deep-learning  keras  tensorflow  convnet  computer-vision 

1
如何使用Keras预测时间范围的未来值?
我刚刚用Keras 建立了LSTM神经网络 import numpy as np import pandas as pd from sklearn import preprocessing from keras.layers.core import Dense, Dropout, Activation from keras.activations import linear from keras.layers.recurrent import LSTM from keras.models import Sequential from matplotlib import pyplot #read and prepare data from datafile data_file_name = "DailyDemand.csv" data_csv = pd.read_csv(data_file_name, delimiter = …

3
神经网络-查找最相似的图像
我正在使用Python,scikit-learn和keras。我有3000万个正面手表图像,如下所示: Watch_1,Watch_2,Watch_3。 我想编写一个程序,以接收实际手表的照片作为输入,该照片可能比上面的照片(背景色不同,光线更暗等)在不太理想的条件下拍摄,并且在3000种手表中找到最相似的手表。类似地,我的意思是,如果我输入一张带有薄花边的棕色圆形手表的照片作为输入,那么我期望将其制成为圆形,深色和薄花边的棕色手表的输出。 什么是最有效的机器学习算法? 例如,通过点击此链接,我想到了两种不同的解决方案: 1)使用CNN作为特征提取器,并参考输入图像比较每对图像的这些特征之间的距离。 2)在暹罗神经网络中使用两个CNN来比较图像。 这两个选项是此任务的最佳选择,还是您会提出其他建议? 您是否知道用于此任务的任何预训练神经网络(具有预定的超参数)? 我在StackOverflow上找到了一些有趣的帖子,但是它们已经很老了:Post_1,Post_2,Post_3。

1
在Tensorflow中分批训练
我目前正在尝试在大型csv文件(> 70GB,超过6000万行)上训练模型。为此,我正在使用tf.contrib.learn.read_batch_examples。我正在努力了解此函数实际上是如何读取数据的。如果我使用的批大小为例如50.000,它会读取文件的前50.000行吗?如果我想遍历整个文件(1个纪元),是否必须对estimator.fit方法使用num_rows / batch_size = 1.200的步数? 这是我当前正在使用的输入函数: def input_fn(file_names, batch_size): # Read csv files and create examples dict examples_dict = read_csv_examples(file_names, batch_size) # Continuous features feature_cols = {k: tf.string_to_number(examples_dict[k], out_type=tf.float32) for k in CONTINUOUS_COLUMNS} # Categorical features feature_cols.update({ k: tf.SparseTensor( indices=[[i, 0] for i in range(examples_dict[k].get_shape()[0])], values=examples_dict[k], shape=[int(examples_dict[k].get_shape()[0]), 1]) for …

1
Tensorflow神经网络TypeError:提取参数具有无效的类型
我正在使用tensorflow创建一个简单的神经网络,并收集了我自己的数据,但是,它不配合使用:PI遇到了一个错误,我无法解决或无法找到解决方法,我希望您能提供帮助。 错误消息: TypeError:2861.6152的获取参数2861.6152的类型无效,必须为字符串或Tensor。(无法将float32转换为张量或操作。) 错误是指我的代码中的以下行: _, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output}) 我已经弄清楚,当我在代码中注释掉以下行时,不会发生该错误: prediction = neural_network_model(champion_data) cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data)) optimizer = tf.train.AdamOptimizer().minimize(cost) _, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output}) 因此,这些行之一在某处获得的外观与预期的外观并不完全相同。我已经尝试了显而易见的方法(将np.array()从batch_input和batch_output中删除,或将其替换为list()),但这并不能解决问题。我目前的假设是Neuro_network_model(champion_data)的输出某种程度上具有错误的形状或类型,但是我不确定如何进行测试或解决(如果确实如此)。 完整的代码可以在这里找到:https : //gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88 编辑:我已经验证了输入到neuro_network_model的冠军数据,预测和成本都是张量。我一直在尝试使用以下假设解决问题:该问题某种程度上在于代码的feed_dict = {}部分,但到目前为止还没有到位

4
从句子中提取信息
我正在创建一个简单的聊天机器人。我想从用户响应中获取信息。一个示例场景: Bot : Hi, what is your name? User: My name is Edwin. 我希望从句子中提取出埃德温的名字。但是,用户可以通过不同的方式进行响应,例如 User: Edwin is my name. User: I am Edwin. User: Edwin. 我试图依靠单词之间的依赖关系,但结果效果不佳。 关于可以使用哪种技术来解决此问题的任何想法? [更新] 我使用命名实体识别以及部分语音标记器和解析器进行了测试。我发现大多数模型都是以某种方式训练的,即人名或专有名词的实体的第一个字符必须为大写。这对于普通文档可能是正确的,但是对于聊天机器人则无关紧要。例如 User: my name is edwin. 大多数NER未能意识到这一点。
11 python  nlp 


3
Spark上IPython / Jupyter的问题(别名无法识别)
我正在设置一组VM,以在使用外出并花钱建立带有某些硬件的集群之前尝试使用Spark。快速说明:我是一名具有应用机器学习背景的学者,并且在数据科学领域有点工作。我使用这些工具进行计算,很少需要设置它们。 我已经创建了3个VM(1个主虚拟机,2个从虚拟机)并成功安装了Spark。一切似乎都按预期进行。我的问题在于创建一个Jupyter服务器,该服务器可以从不在群集计算机上运行的浏览器连接到。 我已经成功安装了Jupyter笔记本 ...并且可以运行。我添加了一个新的IPython配置文件,该配置文件使用Spark 连接到远程服务器。 现在的问题 命令 $ ipython --profile=pyspark 运行正常,它连接到Spark集群。然而, $ ipython notebook --profile=pyspark [<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect. 默认为default配置文件,而不是pyspark配置文件。 我的笔记本配置pyspark具有: c = get_config() c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8880 c.NotebookApp.server_extensions.append('ipyparallel.nbextension') c.NotebookApp.password = u'some password is here'

2
如何在Pyspark中将分类数据转换为数值数据
我正在使用Ipython Notebook与pyspark应用程序一起使用。我有一个包含大量分类列的CSV文件,以确定收入是否低于或超过50k。我想使用所有输入来执行分类算法,以确定收入范围。我需要建立一个将变量映射到变量的字典,并使用map函数将变量映射到数字以进行处理。本质上,我会将数据集设置为数字格式,以便我可以实施模型。 在数据集中,有分类列,例如教育,婚姻状况,工人阶级等。有人可以告诉我如何将它们转换为pyspark中的数字列吗? workclass = {'?':0,'Federal-gov':1,'Local-gov':2,'Never- worked':3,'Private':4,'Self-emp-inc':5,'Self-emp-not-inc':6,'State-gov':7,'Without-pay':8} 我创建了一个示例字典,其中包含工作类的键值对。但是,我不知道如何在地图功能中使用此功能,并将CSV文件中的分类数据替换为相应的值。 wc = pd.read_csv('PATH', usecols = ['Workclass']) df = pd.DataFrame(wc) wcdict = {' ?':0,' Federal-gov':1,' Local-gov':2,' Never-worked':3,' Private':4,' Self-emp-inc':5,' Self-emp-n-inc':6,' State-gov':7,' Without-pay':8} df_new = df.applymap(lambda s: wcdict.get(s) if s in wcdict else s) print(df_new) 这是我用普通的python编写的代码,用于将分类数据转换为数值数据。它工作正常。我想在Spark上下文中进行转换。并且,数据源中有9个类别列。有没有一种方法可以自动执行字典更新过程,以使所有9列都有一个KV对?

3
在多党系统中使用什么回归来计算选举结果?
我想对议会选举的结果作出预测。我的输出将是每一方收到的百分比。有超过2个参与方,因此逻辑回归不是可行的选择。我可以为每个参与方进行单独的回归,但在那种情况下,结果将在某种程度上彼此独立。它不能确保结果的总和为100%。 我应该使用哪种回归(或其他方法)?是否可以通过特定的库在R或Python中使用此方法?

1
t-SNE Python实现:Kullback-Leibler分歧
如[1]中所述,t-SNE的工作方式是逐渐减小Kullback-Leibler(KL)散度,直到满足特定条件为止。t-SNE的创建者建议使用KL散度作为可视化的性能标准: 您可以比较t-SNE报告的Kullback-Leibler差异。十次运行t-SNE并选择KL散度最低的解决方案是非常好的[2] 我尝试了t-SNE的两种实现: python:sklearn.manifold.TSNE()。 R:tsne,来自库(tsne)。 这两种实现都在设置详细程度后为每次迭代输出错误(Kullback-Leibler散度)。但是,它们不允许用户获取此信息,这对我来说有点奇怪。 例如,代码: import numpy as np from sklearn.manifold import TSNE X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) model = TSNE(n_components=2, verbose=2, n_iter=200) t = model.fit_transform(X) 产生: [t-SNE] Computing pairwise distances... [t-SNE] Computed conditional probabilities for sample 4 / …

1
scikit-learn n_jobs参数有关CPU使用率和内存
在scikit-learn上的大多数估计器中n_jobs,fit/ predict方法中都有一个参数,用于使用来创建并行作业joblib。我注意到将其设置为-1仅创建1个Python进程并最大化内核,导致CPU使用率最高达到2500%。这与将其设置为大于1的正整数有很大的不同,后者会以〜100%的使用率创建多个Python进程。 设置它如何影响多CPU Linux服务器上的CPU和内核使用率?(例如,如果n_jobs=88个CPU完全锁定,还是这些CPU仍为某些其他任务/进程保留了一些内核?) 另外,MemoryError设置n_jobs=-1大型数据集时,我有时会得到提示。但是,单个Python进程的内存使用量通常徘徊在30%到40%之间。如何根据的值管理/复制数据和内存n_jobs?

3
最佳科学计算语言[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 似乎大多数语言都具有一定数量的科学计算库。 Python有 Scipy Rust 有 SciRust C++有几个包括ViennaCL和Armadillo Java具有Java Numerics和Colt其他几个 且不说像语言R和Julia明确的科学计算而设计。 有这么多种选择,您如何选择适合任务的最佳语言?另外,哪种语言的性能最高?Python并且R似乎在该领域具有最大的吸引力,但从逻辑上讲,编译语言似乎是一个更好的选择。会有什么表现胜过Fortran?此外编译语言往往有GPU加速,而解释性语言如R并Python没有。选择一种语言时应该考虑什么?哪些语言可以在效用和性能之间取得最佳平衡?还有我错过的具有重要科学计算资源的语言吗?
10 efficiency  statistics  tools  knowledge-base  machine-learning  neural-network  deep-learning  optimization  hyperparameter  machine-learning  time-series  categorical-data  logistic-regression  python  visualization  bigdata  efficiency  classification  binary  svm  random-forest  logistic-regression  data-mining  sql  experiments  bigdata  efficiency  performance  scalability  distributed  bigdata  nlp  statistics  education  knowledge-base  definitions  machine-learning  recommender-system  evaluation  efficiency  algorithms  parameter  efficiency  scalability  sql  statistics  visualization  knowledge-base  education  machine-learning  r  python  r  text-mining  sentiment-analysis  machine-learning  machine-learning  python  neural-network  statistics  reference-request  machine-learning  data-mining  python  classification  data-mining  bigdata  usecase  apache-hadoop  map-reduce  aws  education  feature-selection  machine-learning  machine-learning  sports  data-formats  hierarchical-data-format  bigdata  apache-hadoop  bigdata  apache-hadoop  python  visualization  knowledge-base  classification  confusion-matrix  accuracy  bigdata  apache-hadoop  bigdata  efficiency  apache-hadoop  distributed  machine-translation  nlp  metadata  data-cleaning  text-mining  python  pandas  machine-learning  python  pandas  scikit-learn  bigdata  machine-learning  databases  clustering  data-mining  recommender-system 

2
尝试使用TensorFlow预测财务时间序列数据
我是ML和TensorFlow的新手(大约几个小时前开始),我正尝试使用它来预测时间序列中的下几个数据点。我正在接受输入,并使用它来执行此操作: /----------- x ------------\ .-------------------------------. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | '-------------------------------' \----------- y ------------/ 我以为我在做的是将x用作输入数据,将y用作该输入的期望输出,因此,给定0-6时,我可以得到1-7(尤其是7)。但是,当我使用x作为输入运行图时,得到的预测看起来更像x而不是y。 这是代码(基于本文和本文): import tensorflow as tf import numpy as np import matplotlib.pyplot as plot import pandas as pd import csv def load_data_points(filename): print("Opening CSV …

1
具有一维时间序列的Keras LSTM
我正在学习如何使用Keras,并使用Chollet的Python深度学习中的示例在标记数据集上取得了合理的成功。数据集是〜1000个时间序列,长度为3125,具有3个潜在类别。 我想超越基本的Dense层,该层为我提供了约70%的预测率,并且本书继续讨论LSTM和RNN层。 所有示例似乎都为每个时间序列使用了具有多个功能的数据集,因此我正在努力研究如何实现数据。 例如,如果我有1000x3125时间序列,如何将其输入到SimpleRNN或LSTM层中?我是否缺少有关这些层功能的一些基本知识? 当前代码: import pandas as pd import numpy as np import os from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM, Dropout, SimpleRNN, Embedding, Reshape from keras.utils import to_categorical from keras import regularizers from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt def readData(): # …

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.