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

Pythonは、機械学習で一般的に使用されるプログラミング言語です。このタグは、(a)質問の重要な部分または予想される回答として「Python」が含まれる、* on-topic *の質問に使用します。(b)「Python」の使い方について「*」*ではありません。

25
統計ワークベンチとしてのPython
多くの人々が、Excelや別のスプレッドシート、SPSS、Stata、Rなどのメインツールを統計のニーズに使用しています。非常に特別なニーズのために特定のパッケージを使用する場合がありますが、単純なスプレッドシートまたは一般的な統計パッケージまたは統計プログラミング環境で多くのことができます。 私は常にプログラミング言語としてPythonが好きで、単純なニーズのために、必要なものを計算する短いプログラムを書くのは簡単です。Matplotlibでプロットできます。 RからPythonに完全に切り替えた人はいますか?R(または他の統計パッケージ)には統計に固有の多くの機能があり、実行したい統計について考えることができるデータ構造があり、データの内部表現についてはあまりありません。Python(またはその他の動的言語)には、馴染みのある高レベル言語でプログラミングできるという利点があります。また、データが存在する、またはそこから測定を行うことができる実際のシステムとプログラムでやり取りすることができます。しかし、単純な記述統計からより複雑な多変量法まで、「統計用語」で物事を表現できるPythonパッケージは見つかりませんでした。 Pythonを「統計ワークベンチ」として使用して、R、SPSSなどを置き換える場合、何を推奨できますか? あなたの経験に基づいて、私は何を獲得し、失いますか?
355 r  spss  stata  python 

4
ニューラルネットワークのバッチサイズとは何ですか?
Python Keras packageニューラルネットワークに使用しています。これがリンクです。であるがbatch_size、試験サンプルの数に等しいですか?ウィキペディアから次の情報があります。 ただし、他の場合では、sum-gradientを評価するには、すべてのsummand関数からの勾配の高価な評価が必要になる場合があります。トレーニングセットが膨大で、単純な公式が存在しない場合、勾配の評価にはすべての加数関数の勾配を評価する必要があるため、勾配の合計の評価は非常に高価になります。すべての反復で計算コストを節約するために、確率的勾配降下では、すべてのステップで被加数関数のサブセットをサンプリングします。これは、大規模な機械学習の問題の場合に非常に効果的です。 上記の情報はテストデータを説明していますか?これbatch_sizeはkeras(勾配更新ごとのサンプル数)と同じですか?

2
ニューラルネットワークの埋め込み層とは何ですか?
多くのニューラルネットワークライブラリには、KerasやLasagneのような「埋め込み層」があります。 ドキュメントを読んでも、その機能を理解しているかどうかはわかりません。たとえば、Kerasのドキュメントには次のように記載されています。 正の整数(インデックス)を固定サイズの密ベクトルに変換します。[[4]、[20]]-> [[0.25、0.1]、[0.6、-0.2]] 知識のある人がそれが何をするのか、いつそれを使うのかを説明できますか? 編集:ドキュメントの貼り付けに関して、ドキュメントから貼り付けることはあまりないので、私の質問です。私はそれがどのような変換を行うのか、なぜそれを使用すべきなのか理解していません。 とにかく、これはケラスで説明されている方法です: 埋め込み keras.layers.embeddings.Embedding(input_dim、output_dim、init = 'uniform'、input_length = None、weights = None、W_regularizer = None、W_constraint = None、mask_zero = False)正の整数(インデックス)を固定サイズの密ベクトルに変換します、たとえば [[4]、[20]]-> [[0.25、0.1]、[0.6、-0.2]] 入力形状:形状を持つ2Dテンソル:(nb_samples、sequence_length)。出力形状:形状を持つ3Dテンソル:(nb_samples、sequence_length、output_dim)。引数: input_dim:int> =0。語彙のサイズ。1+入力データで発生する最大整数インデックス。output_dim:int> =0。密な埋め込みの次元 そして、それはラザニアでそれがどのように説明されるかです: 単語を埋め込むためのレイヤー。入力は整数型のテンソル変数でなければなりません。 パラメーター:incoming:Layerインスタンスまたはタプル このレイヤーに入力するレイヤー、または予想される入力形状。 input_size:int さまざまな埋め込みの数。最後の埋め込みのインデックスはinput_size-1です。 output_size:int 各埋め込みのサイズ。 W:Theano共有変数、式、numpy配列または呼び出し可能 埋め込み行列の初期値、式または初期化子。これは、形状(input_size、output_size)の行列でなければなりません。詳細については、lasagne.utils.create_param()を参照してください。 例 >>> from lasagne.layers import EmbeddingLayer, InputLayer, get_output >>> import theano >>> x …

3
例:バイナリ結果にglmnetを使用したLASSO回帰
私は興味のある結果が二分されglmnetているLASSO回帰の使用に手を出し始めています。以下に小さな模擬データフレームを作成しました。 age <- c(4, 8, 7, 12, 6, 9, 10, 14, 7) gender <- c(1, 0, 1, 1, 1, 0, 1, 0, 0) bmi_p <- c(0.86, 0.45, 0.99, 0.84, 0.85, 0.67, 0.91, 0.29, 0.88) m_edu <- c(0, 1, 1, 2, 2, 3, 2, 0, 1) p_edu <- c(0, 2, 2, …
77 r  self-study  lasso  regression  interpretation  anova  statistical-significance  survey  conditional-probability  independence  naive-bayes  graphical-model  r  time-series  forecasting  arima  r  forecasting  exponential-smoothing  bootstrap  outliers  r  regression  poisson-distribution  zero-inflation  genetic-algorithms  machine-learning  feature-selection  cart  categorical-data  interpretation  descriptive-statistics  variance  multivariate-analysis  covariance-matrix  r  data-visualization  generalized-linear-model  binomial  proportion  pca  matlab  svd  time-series  correlation  spss  arima  chi-squared  curve-fitting  text-mining  zipf  probability  categorical-data  distance  group-differences  bhattacharyya  regression  variance  mean  data-visualization  variance  clustering  r  standard-error  association-measure  somers-d  normal-distribution  integral  numerical-integration  bayesian  clustering  python  pymc  nonparametric-bayes  machine-learning  svm  kernel-trick  hyperparameter  poisson-distribution  mean  continuous-data  univariate  missing-data  dag  python  likelihood  dirichlet-distribution  r  anova  hypothesis-testing  statistical-significance  p-value  rating  data-imputation  censoring  threshold 

1
相互検証、学習曲線、最終評価のためにデータセットを分割する方法は?
データセットを分割するための適切な戦略は何ですか? 私は、次のアプローチにフィードバックを求める(ないような個々のパラメータのtest_sizeかn_iter、私が使用している場合X、y、X_train、y_train、X_test、およびy_test適切かつシーケンスは理にかなっている場合): (scikit-learnドキュメントからこの例を拡張) 1.データセットをロードする from sklearn.datasets import load_digits digits = load_digits() X, y = digits.data, digits.target 2.トレーニングとテストセットに分割(例:80/20) from sklearn.cross_validation import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) 3.推定量を選択 from sklearn.svm import SVC estimator = SVC(kernel='linear') 4.相互検証イテレーターを選択します from sklearn.cross_validation import ShuffleSplit cv = ShuffleSplit(X_train.shape[0], n_iter=10, test_size=0.2, random_state=0) 5.ハイパーパラメーターの調整 …

9
時系列の異常を検出するには、どのアルゴリズムを使用する必要がありますか?
バックグラウンド 私はネットワークオペレーションセンターで働いており、コンピューターシステムとそのパフォーマンスを監視しています。監視する重要な指標の1つは、現在サーバーに接続している訪問者数と顧客数です。それを可視化するために、Opsチームは時系列データなどのメトリックを収集し、グラフを描画します。Graphiteはそれを可能にします。突然のドロップ(大部分)やその他の変更が発生した場合にチームに通知するアラートシステムを構築するために使用する非常に豊富なAPIを備えています。ここでは、平均値に基づいて静的なしきい値を設定しましたが、日中と週中の負荷が異なるため(季節性要因)、あまりうまく機能しません(多くの誤検知があります)。 次のようになります。 実際のデータ(1つのメトリックの例、15分の時間範囲。最初の数字はユーザー数、2番目はタイムスタンプ): [{"target": "metric_name", "datapoints": [[175562.0, 1431803460], [176125.0, 1431803520], [176125.0, 1431803580], [175710.0, 1431803640], [175710.0, 1431803700], [175733.0, 1431803760], [175733.0, 1431803820], [175839.0, 1431803880], [175839.0, 1431803940], [175245.0, 1431804000], [175217.0, 1431804060], [175629.0, 1431804120], [175104.0, 1431804180], [175104.0, 1431804240], [175505.0, 1431804300]]}] 私が達成しようとしていること 最近のデータポイントを受信し、それらを過去の平均値と比較し、突然の変更またはドロップがあった場合にアラートを送信するPythonスクリプトを作成しました。季節性のため、「静的」しきい値はうまく機能せず、スクリプトは誤検知アラートを生成します。アラートアルゴリズムをより正確に改善し、アラートのしきい値を絶えず調整することなく機能するようにしたいと考えています。 必要なアドバイスと発見したこと グーグルで私は、異常検出のための機械学習アルゴリズム(監視なしアルゴリズム)を探していると考えました。さらに調査を行った結果、それらは非常に多く、どれが私の場合に当てはまるかを理解することは非常に困難です。数学の知識が限られているため、洗練された学術論文を読むことができず、この分野の初心者にとって簡単なものを探しています。 私はPythonが好きで、Rに少し精通しているので、これらの言語の例を見て喜んでいます。問題を解決するのに役立つ良い本や記事をお勧めします。あなたの時間をありがとう、そのような長い説明のために私を許します 便利なリンク 同様の質問: 時系列と異常検出 Pythonを使用した時系列異常検出 時系列異常 時系列異常検出のアルゴリズム 時系列ベースの異常検出アルゴリズムへのウェーブレットの適用 どのアルゴリズムを使用すればよいですか? …

5
ニューラルネットワークのマルチクラス、マルチラベル分類タスクの損失関数は何ですか?
ニューラルネットワークをトレーニングして、オブジェクトのセットをnクラスに分類しています。各オブジェクトは、同時に複数のクラスに属することができます(マルチクラス、マルチラベル)。 マルチクラス問題の場合、一般に、mseの代わりにソフトマックスとカテゴリクロスエントロピーを損失関数として使用することをお勧めしますが、その理由はだいたいわかります。 マルチラベルの私の問題については、各クラスの確率が互いに独立している必要があるため、もちろんソフトマックスを使用することは意味がありません。したがって、最後のレイヤーは、入力をすべてのクラスの確率範囲0..1に押しつぶすシグモイドユニットです。 今、私はこれにどの損失関数を使用すべきかわからない。カテゴリクロスエントロピーの定義を見ると、1になるはずのニューロンの出力のみが考慮され、他のニューロンは無視されるため、この問題にはあまり当てはまらないと思います。 バイナリクロスエントロピーは、より適切に聞こえますが、出力ニューロンが1つの場合のバイナリ分類の問題については、これまでに言及しただけです。 重要な場合に備えて、トレーニングにpythonとkerasを使用しています。

9
データサイエンスでRとPythonはどのように相互補完し合うのですか
多くのチュートリアルまたはマニュアルでは、物語は、Rとpythonが分析プロセスの補完的なコンポーネントとして共存していることを暗示しているようです。しかし、私の訓練を受けていない目には、両方の言語が同じことをしているようです。 ですから、私の質問は、2つの言語に本当に特化したニッチがあるのか​​、それともどちらを使用するのかが個人的な好みなのかということです。
54 r  python  software 

10
Pythonを使用した機械学習
機械学習の実験にPythonライブラリを使用することを検討しています。これまで、私はWEKAに頼っていましたが、全体的にはかなり不満でした。これは主に、WEKAがあまりサポートされていないことを発見し(ごく少数の例、ドキュメントがまばらで、コミュニティのサポートが私の経験では望ましいものではない)、助けが得られずにスティッキーな状況にいることに気付いたからです。私がこの動きを検討しているもう1つの理由は、私はPythonが本当に好きで(Pythonが初めて)、Javaのコーディングに戻りたくないからです。 だから私の質問は、何がもっと 包括的 スケーラブル(10万の機能、1万の例)および PythonでMLを実行するためのライブラリをサポートしていますか? テキスト分類を行うことに特に興味があるので、分類子、特徴選択方法(情報ゲイン、カイ二乗など)の優れたコレクション、およびテキスト前処理機能(ステミング、ストップワード削除)を備えたライブラリを使用したいと思います。 、tf-idfなど)。 ここや他の場所での過去の電子メールスレッドに基づいて、これまでPyML、scikits-learn、Orangeを見てきました。私が言及した上記の3つの指標に関して、人々の経験はどうでしたか? 他の提案はありますか?

7
Pythonの生存分析ツール[終了]
生存分析を実行できるpythonのパッケージがあるかどうか疑問に思っています。私はRでサバイバルパッケージを使用していますが、私の仕事をPythonに移植したいと思います。
46 survival  python 

5
SVM機能の重みをどのように解釈しますか?
線形SVMを近似することで与えられる可変の重みを解釈しようとしています。 (私はscikit-learnを使用しています): from sklearn import svm svm = svm.SVC(kernel='linear') svm.fit(features, labels) svm.coef_ これらの重みがどのように計算または解釈されるかを具体的に説明するドキュメントには何も見つかりません。 体重のサインはクラスと関係がありますか?

2
パンダ/ Statsmodel / Scikit-learn
パンダ、Statsmodels、およびScikitは、機械学習/統計操作の異なる実装を学習していますか、またはこれらは相互に補完的ですか? どれが最も包括的な機能を備えていますか? 積極的に開発および/またはサポートされているのはどれですか? ロジスティック回帰を実装する必要があります。これらのどれを使用すべきかについての提案はありますか?

6
なぜ100%の精度の決定木が得られるのですか?
意思決定ツリーの精度は100%です。何が間違っていますか? これは私のコードです: import pandas as pd import json import numpy as np import sklearn import matplotlib.pyplot as plt data = np.loadtxt("/Users/Nadjla/Downloads/allInteractionsnum.csv", delimiter=',') x = data[0:14] y = data[-1] from sklearn.cross_validation import train_test_split x_train = x[0:2635] x_test = x[0:658] y_train = y[0:2635] y_test = y[0:658] from sklearn.tree import DecisionTreeClassifier tree = …

4
データには2つの傾向があります。独立したトレンドラインを抽出する方法は?
特定の方法で順序付けられていないデータのセットがありますが、明確にプロットすると2つの明確な傾向があります。ここでは、2つのシリーズが明確に区別されているため、単純な線形回帰は適切ではありません。2つの独立した線形トレンドラインを取得する簡単な方法はありますか? 記録のために、私はPythonを使用しており、機械学習を含むプログラミングとデータ分析にかなり満足していますが、絶対に必要な場合はRに飛び乗ります。

1
時間的ネットワークでのリンク異常検出
リンク異常検出を使用してトレンドのトピックを予測するこの論文に出会いましたが、非常に興味深いことがわかりました。この論文は、「リンク異常検出によるソーシャルストリームの新興トピックの発見」です。 別のデータセットに複製したいのですが、それらの使用方法を知るための方法に十分な知識がありません。6か月の間にノードのネットワークの一連のスナップショットがあるとします。ノードには、次数の長い分布があり、ほとんどはわずかな接続しかありませんが、一部は非常に多くの接続を持ちます。この期間内に新しいノードが表示されます。 バーストの前兆と思われる異常なリンクを検出するために、論文で使用されている逐次割引正規化最尤計算をどのように実装できますか?より適切な他の方法はありますか? 理論的にも実際的にもお願いします。誰かがこれをPythonまたはRで実装する方法を教えてくれたら、それは非常に役立ちます。 誰でも?私はあなたが賢明な人々が答えのためのいくつかの最初の考えを持っていることを知っています、

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