タグ付けされた質問 「python」

プログラミング言語Pythonに関連するデータサイエンスの質問に使用します。一般的なコーディングの質問(-> stackoverflow)は対象としていません。

2
ワークフローのどこで欠落データを処理する必要がありますか?
私は(Pythonの使用、私の場合には、機械学習モデルを作成するためのワークフローを構築していますpandasし、sklearn非常に大規模なデータベースから引き出されたデータからパッケージ)(ここでは、にVerticaは、SQLとの方法によりpyodbc)、そのプロセスにおける重要なステップが含ま帰行方不明予測子の値。これは、単一の分析プラットフォームまたは統計プラットフォーム(Python、R、Stataなど)内では簡単ですが、マルチプラットフォームワークフローでこのステップを見つけるのに最適な場所が知りたいです。 sklearn.preprocessing.Imputerクラスで、pandas.DataFrame.fillnaメソッドを使用して、または手動で(使用される代入メソッドの複雑さに応じて)Pythonでこれを行うのは十分簡単です。しかし、私はこれを何億ものレコードの数十または数百の列に使用するので、事前にSQLを介して直接これを行うより効率的な方法があるのだろうかと思います。Verticaのような分散プラットフォームでこれを行う潜在的な効率は別として、これはテーブルの「完全な」バージョンを構築するための自動化されたパイプラインを作成できるという追加の利点があるので、新しいセットを記入する必要はありませんモデルを実行するたびに、ゼロから欠損値を取得します。 私はこれについて多くのガイダンスを見つけることができませんでしたが、私たちはできると思います: 不完全な列ごとに代替値の表(全体またはグループごとの平均/中央値/モードなど)を作成します 代替値テーブルを元のテーブルと結合して、各行と不完全な列に代替値を割り当てます 一連のcaseステートメントを使用して、使用可能な場合は元の値を取得し、それ以外の場合は代替値を取得します これはVertica / SQLで行うのが合理的なことですか、それともわずらわずPythonで処理するだけの正当な理由がありますか?後者の場合、スケルンではなくパンダでこれを行うための強力なケースがありますか、その逆ですか?ありがとう!


2
共同フィルタリングを使用した追加機能を備えた映画の推奨
協調フィルタリングを使用して推奨システムを構築しようとしています。私はいつもの[user, movie, rating]情報を持っています。「言語」や「映画の長さ」などの追加機能を組み込みたいです。このような問題にどのようなテクニックを使用できるかはわかりません。 python / Rの参照またはパッケージを提案してください。

3
不均衡で不均一な負のバックグラウンドを持つ1クラスの差別的分類?
{protein}シーケンスを特定のクラス(ニューロペプチドホルモン前駆体)に属するかどうかに分類するために、既存の教師付き分類子の改善に取り組んでいます。 約1,300万のタンパク質配列のバックグラウンド(「不明/不十分な注釈付きのバックグラウンド」)に対して約1,150の既知の「陽性」、またはさまざまな特性で注釈付けされた約100,000のレビューされた関連タンパク質があります(ただし、 「ネガティブ」な方法)。 私の以前の実装では、これをバイナリ分類問題と見なしていました。ポジティブセット=ニューロペプチドとしてマークされたタンパク質。ネガティブセット:ほぼ同様の長さ方向の分布の残りのタンパク質の中から1,300サンプル(合計)のランダムサンプリング。 それはうまくいきましたが、マシンの識別能力を大幅に改善したいです(現在、ランダムにサンプリングされた複数のネガティブセットで、精度、AUC、F1、CVで測定すると約83〜86%です)。 私の考えは次のとおりでした:1)これをマルチクラスの問題にし、プロパティ/機能クラスによって、(おそらく)ランダムにサンプリングされた別のセットとともに、明確にネガティブになる2-3種類のタンパク質を選択します。(ここでの優先順位は、特性/特徴がポジティブセットに似ているネガティブセットですが、定義する特性があります)。2)1つのクラスの学習-素晴らしいと思いますが、私が理解するように、それは異常検出のためだけのものであり、差別的なアプローチよりもパフォーマンスが劣ります。 *)きれいに聞こえるPU学習について聞いたことがありますが、私はプログラミングN00bであり、そのための既存の実装については知りません。(Python / sci-kitで学習)。 それでは、アプローチ1は理論上のPOVで意味がありますか?複数のネガセットを作成する最良の方法はありますか?(「ネガティブ」タンパク質の大規模な[50K]ピックを使用することもできますが、それらはすべて非常に大きく異なるため、分類器がそれらを1つの大きなアンバランスミックスとしてどれだけうまく処理できるかわかりません。 )。ありがとう!

6
少数の連続変数の対数変換を行う理由は何ですか?
私は分類の問題をやっており、多くの人々のコードとチュートリアルを読んでいます。私が気づいたことの1つは、多くの人がnp.log、またはなどのlogような連続変数を取得していることですloan_amountapplicant_income その理由を理解したいだけです。モデルの予測精度を向上させるのに役立ちますか。必須ですか?またはその背後にあるロジックはありますか? 可能であれば、いくつかの説明を提供してください。ありがとうございました。

5
シーボーンヒートマップを大きくする
corr()元のdfからdf を作成します。corr()DFは、70 X 70から出てきたし、ヒートマップを可視化することは不可能です... sns.heatmap(df)。を表示しようとするcorr = df.corr()と、テーブルが画面に収まらず、すべての相関関係を確認できます。dfサイズに関係なく全体を印刷する方法ですか、ヒートマップのサイズを制御する方法ですか?
16 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 

3
Kerasのストリーミングテストデータでpredict_generatorで予測を取得する方法は?
でKerasゼロからトレーニングconvnetsにブログ、コードのショーは唯一のネットワークは、トレーニングや検証データ上で実行されています。テストデータはどうですか?検証データはテストデータと同じですか(そうではないと思います)。trainおよびvalidationフォルダーと同様の行に個別のテストフォルダーがあった場合、テストデータの混同マトリックスを取得する方法を教えてください。これを行うにはscikit learnまたは他のパッケージを使用する必要があることはわかっていますが、テストデータのクラスごとの確率に沿って何かを取得するにはどうすればよいですか?これを混同行列に使用したいと思っています。


5
隠れマルコフモデルを実装するPythonライブラリ
隠れマルコフモデルの実装に使用できる安定した Pythonライブラリは何ですか?私は以前にこのモデルを実際に使用したことがないため、合理的に十分に文書化する必要があります。 あるいは、HMMを使用してデータセットで時系列分析を実行するためのより直接的なアプローチはありますか?

5
文の類似性予測
私は次の問題を解決しようとしています:データセットとして一連の文があり、新しい文を入力して、新しい文がデータセット内で最も類似している文を見つけたいです。例は次のようになります。 新しい文:「I opened a new mailbox」 データセットに基づいた予測: Sentence | Similarity A dog ate poop 0% A mailbox is good 50% A mailbox was opened by me 80% コサインの類似性は、tf-idfと組み合わせたこれらの種類の問題を解決するために使用できることを読みました(およびRNNは基本的な方法に大きな改善をもたらすべきではありません)、またはword2vecも同様の問題に使用されます。これらもこの特定のケースで実際に使用可能ですか?これを解決する他のテクニック/アルゴリズムはありますか(できればPythonとSKLearnを使用しますが、TensorFlowについても学ぶことができます)?

4
パンダは現在data.tableよりも高速ですか?
https://github.com/Rdatatable/data.table/wiki/Benchmarks-%3A-Grouping data.tableベンチマークは2014年以降更新されていません。それがどこPandasよりも速いと聞いたことがありdata.tableます。これは本当ですか?誰もベンチマークをしましたか?Pythonを使ったことがありませんpandasが、勝てるなら切り替えを検討しdata.tableますか?
15 python  r  pandas  data  data.table 

1
層別サンプリングは必要ですか(ランダムフォレスト、Python)?
Pythonを使用して、不均衡なデータセットでランダムフォレストモデルを実行します(ターゲット変数はバイナリクラスでした)。トレーニングデータセットとテストデータセットを分割するとき、階層化されたサンプリング(表示されているコードなど)を使用するかどうかに苦労しました。これまでのところ、プロジェクトで層別化されたケースがより高いモデルのパフォーマンスにつながることを観察しました。しかし、現在のデータセットとターゲットクラスの分布が非常に異なる可能性が高い新しいケースを予測するためにモデルを使用すると思います。そこで、私はこの制約を緩め、階層化されていないスプリットを使用する傾向がありました。誰でもこの点を明確にするためにアドバイスできますか? train,test=train_test_split(myDataset, test_size=0.25, stratify=y)

2
不均衡データのバイナリ分類モデル
次の仕様のデータセットがあります。 2,821陽性の193,176サンプルのトレーニングデータセット 673個の陽性の82,887個のサンプルを含むテストデータセット 10個の機能があります。 バイナリ分類(0または1)を実行したい。私が直面している問題は、データのバランスが非常に悪いことです。いくつかの機能エンジニアリングとともにデータを正規化およびスケーリングし、いくつかの異なるアルゴリズムを使用した後、これらは私が達成できる最高の結果です。 mean square error : 0.00804710026904 Confusion matrix : [[82214 667] [ 0 6]] すなわち、6つの正のヒットのみです。これはロジスティック回帰を使用しています。これを使って試したさまざまなことを次に示します。 RandomForest、DecisionTree、SVMなどのさまざまなアルゴリズム 関数を呼び出すためのパラメーター値の変更 複雑な機能を含む直感ベースの機能エンジニアリング さて、私の質問は: ポジティブヒットの数を改善するにはどうすればよいですか? そのような場合に過剰適合があるかどうかをどのように判断できますか?(私はプロットなどを試みました) 多分これが私が持っている可能性のある最良の適合である場合、どの時点で結論づけることができますか?(673のうち6ヒットのみを考えると悲しいようです) パターン認識が向上してヒットが増えるように、ポジティブサンプルインスタンスの重量を増やす方法はありますか? どのグラフィックプロットを使用すると、外れ値や、どのパターンが最適かについての直感を検出できますか? Pythonでscikit-learnライブラリを使用していますが、すべての実装はライブラリ関数です。 編集: 他のいくつかのアルゴリズムの結果は次のとおりです。 ランダムフォレスト分類子(n_estimators = 100) [[82211 667] [ 3 6]] 決定木: [[78611 635] [ 3603 38]]

5
最新のRおよび/またはPythonライブラリはSQLを廃止しますか?
私は、SQL Serverがデータ処理からクリーニング、変更まで、私たちが行うすべてのバックボーンであるオフィスで働いています。私の同僚は、着信データを標準化してレポート、視覚化、および分析プロジェクトで使用できるように、複雑な関数とストアドプロシージャの作成を専門にしています。ここから始める前は、最も基本的なクエリを書くことは別として、SQLの経験はほとんどありませんでした。私の分析準備作業の大部分はすべてRで行われました。上司は、Rを使用してより効率的かつはるかに少ないコード行では実行できない割り当てが非常に少ないように思えても、SQLスキルを向上させると主張していますdplyr、data.table、tidyrなどのパッケージ(いくつか例を挙げると)。私の質問は、これは理にかなっていますか? 数週間前、特定の条件を満たすテーブル内の各行の列名のリストを取得し、それらを文字列のベクトルに連結するタスクに直面しました。厳しい締め切りがあり、その時、私はいくつかの閉塞を経験していたので、問題を完全に解決することができませんでした。上司に尋ねたところ、上司は同僚に問題を解決するためのスクリプトTSQLを書くように頼みました。彼がそれに取り組んでいる間に、私はRでそれを行う方法を見つけて、かなり単純な関数を作成し、それをデータフレームに適用しました。私の同僚は、約2時間後にスクリプトで戻ってきました。ネストされた2つのforループを含む少なくとも75行でした。私は彼に、実行が終了したときに通知するように頼み、数時間かかると言いました。一方、私のRスクリプトは、約30秒で〜45,000レコードをループできました。 データのクリーニングと変更には、Rのほうがはるかに良い選択だと思いますか?おそらく私のオフィスのSQL開発者は不適当でしょうか?RとSQLの両方(またはPythonとSQLの両方)を扱った人がこれについて何か考えを持っている場合、私は興味があります。
14 python  r  data-cleaning  data  sql 

2
SelectKBestはどのように機能しますか?
私はこのチュートリアルを見ています:https : //www.dataquest.io/mission/75/improving-your-submission セクション8では、最良の機能を見つけると、次のコードが表示されます。 import numpy as np from sklearn.feature_selection import SelectKBest, f_classif predictors = ["Pclass", "Sex", "Age", "SibSp", "Parch", "Fare", "Embarked", "FamilySize", "Title", "FamilyId"] # Perform feature selection selector = SelectKBest(f_classif, k=5) selector.fit(titanic[predictors], titanic["Survived"]) # Get the raw p-values for each feature, and transform from p-values into scores scores …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.