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

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

1
ランダムフォレストと極端にランダム化されたツリーはどのように異なって分割されますか?
ランダムフォレストの場合、一連の機能のジニ不純物またはエントロピーによってノードを分割します。sklearnのRandomForestClassifierでは、Giniまたはエントロピー基準を使用して分割することを選択できます。ただし、Extra-Trees Classifierについて読んだところ、分割にはランダムな値が選択されています(おそらく、GiniやEntropyとは関係ありません)。sklearnのExtraTreesClassifierには、分割にGiniまたはエントロピーを選択するオプションがあります。ここでは少し混乱しています。

3
Pythonのフリードマンテストと事後テスト
私のデータセットには、x量の測定値を持つ5つの(通常の)グループがあります。等分散性に違反しているため、グループ間に統計的差異があるかどうかを確認するためにフリードマンカイ2乗検定を実行しました。 fried = stats.friedmanchisquare(*[grp for idx, grp in df.iteritems()])) これは統計的な差を返しましたが、次に、どのグループ間に差が存在するのかを調べたいと思います。これRには素晴らしい解決策があります(フリードマンのテストと事後分析、https://www.r-statistics.com/2010/02/post-hoc-analysis-for-friedmans-test-r-code/) 、Wilcoxon-Nemenyi-McDonald-Thompsonテストを使用していますが、Python用のテストを見つけることができません。 フリードマン検定の事後分析を行う可能性はありますか?別の方法として、グループ間の比較を可能にするフリードマン検定(たとえば、一般化された推定方程式)の良い代替手段は何でしょうか。

1
ナイーブベイズとリカレントニューラルネットワーク(LSTM)の違い
テキストの感情分析を実行したい、いくつかの記事を通過した、それらのいくつかは「Naive Bayes」を使用しており、その他は「Recurrent Neural Network(LSTM)」ですが、一方で、感情分析用のpythonライブラリを見ましたnltkです。それは「ナイーブベイズ」を使用しています誰もが2つの使用の違いは何であるか説明できますか? 私もこの投稿を通過しましたが、両方については明確ではありません。 ベイズネットワーク、ニューラルネットワーク、決定木、ペトリネットの違い

2
このデータセットに共分散がないのはなぜですか?
共分散がどのように機能するかについての私の理解は、相関しているデータはある程度高い共分散を持つべきだということです。(散布図に示されているように)データが相関しているように見えても、共分散がゼロに近い状況に遭遇しました。データが相関している場合、データの共分散はどのようにゼロになりますか? import numpy as np x1 = np.array([ 0.03551153, 0.01656052, 0.03344669, 0.02551755, 0.02344788, 0.02904475, 0.03334179, 0.02683399, 0.02966126, 0.03947681, 0.02537157, 0.03015175, 0.02206443, 0.03590149, 0.03702152, 0.02697212, 0.03777607, 0.02468797, 0.03489873, 0.02167536]) x2 = np.array([ 0.0372599 , 0.02398212, 0.03649548, 0.03145494, 0.02925334, 0.03328783, 0.03638871, 0.03196318, 0.03347346, 0.03874528, 0.03098697, 0.03357531, 0.02808358, 0.03747998, 0.03804655, 0.03213286, 0.03827639, 0.02999955, …

1
「ビールとおむつ」の相関分析を行う方法
次と同等のデータがあります。 shopper_1 = ['beer', 'eggs', 'water',...] shopper_2 = ['diapers', 'beer',...] ... このデータセットを分析して、次のような意味を持つ相関行列を取得します。xを購入した場合、yを購入する可能性があります。 Python(またはMATLAB以外の何か)を使用して、どうすればそれを回避できますか?いくつかの基本的なガイドライン、または私がどこを見るべきかへのポインタが役立つでしょう。 ありがとうございました、 編集-私が学んだこと: これらの種類の問題は、相関ルールの発見と呼ばれます。ウィキペディアには、そうするための一般的なアルゴリズムのいくつかをカバーする優れた記事があります。そうするための古典的なアルゴリズムは、Agriraw et alによるAprioriのようです。al。 これにより、Pythonインターフェースのデータマイニングパッケージであるorangeが表示されました。Linuxの場合、インストールする最良の方法は、提供されているsetup.pyを使用してソースからインストールすることです Orangeはデフォルトで、サポートされているいくつかの方法の1つでフォーマットされたファイルから入力を読み取ります。 最後に、単純なアプリオリ相関ルールの学習はオレンジ色で単純です。

1
エフロンとハスティの「コンピュータ時代統計推論」の姿を再現
私の質問の要約版 (2018年12月26日) EfronとHastieによるComputer Age Statistical Inferenceから図2.2を再現しようとしていますが、理解できない何らかの理由で、数値が本の数値と一致していません。 観測データ 2つの可能な確率密度関数、帰無仮説密度と代替密度間で決定しようとしていると仮定します。テストルールは、データを観測することを選択するまたはを示します。このようなルールには、2つの頻度エラーの確率が関連付けられています。実際にが生成したときに選択すること、およびその逆xxxf0(x)f0(x)f_0\left(x\right)f1(x)f1(x)f_1\left(x\right)t(x)t(x)t\left(x\right)000111xxxf1f1f_1f0f0f_0xxx α = Prf0{ t (x )= 1 } 、α=Prf0{t(バツ)=1}、 \alpha = \text{Pr}_{f_0} \{t(x)=1\}, β= Prf1{ t (x )= 0 } 。β=Prf1{t(バツ)=0}。 \beta = \text{Pr}_{f_1} \{t(x)=0\}. ましょうである尤度比、L (x )L(バツ)L(x) L (x )= f1(x )f0(x )L(バツ)=f1(バツ)f0(バツ) L(x) = \frac{f_1\left(x\right)}{f_0\left(x\right)} したがって、Neyman–Pearson補題は、形式のテストルールが最適な仮説テストアルゴリズムであると述べています。tc(x )tc(バツ)t_c(x) tc(x )= { …

2
一貫性のない正規性テスト:Kolmogorov-Smirnov対Shapiro-Wilk
現在、私が書いたMCシミュレーションによって生成されたデータを調べています。値が正規分布していると思います。当然、私はヒストグラムをプロットし、それは妥当に見えます(私は推測しますか?): [左上:ヒストグラムdist.pdf()、右上:累積ヒストグラムdist.cdf()、下:QQプロット、data対dist] 次に、いくつかの統計的検定を使用してこれをさらに詳しく調べることにしました。(注意してくださいdist = stats.norm(loc=np.mean(data), scale=np.std(data))。)私がしたことと私が得た出力は次のとおりです: コルモゴロフ-スミルノフ検定: scipy.stats.kstest(data, 'norm', args=(data_avg, data_sig)) KstestResult(statistic=0.050096921447209564, pvalue=0.20206939857573536) Shapiro-Wilkテスト: scipy.stats.shapiro(dat) (0.9810476899147034, 1.3054057490080595e-05) # where the first value is the test statistic and the second one is the p-value. QQプロット: stats.probplot(dat, dist=dist) これからの私の結論は: ヒストグラムと累積ヒストグラムを見ることで、私は間違いなく正規分布を仮定します QQプロットを見た後も同じことが言えます(これまでにずっと良くなっていますか?) KSテストは言う:「はい、これは正規分布です」 私の混乱は次のとおりです。SW検定では、正規分布ではないことが示されています(p値は有意性よりはるかに小さくalpha=0.05、初期の仮説は正規分布でした)。これは理解できません。誰かより良い解釈がありますか?ある時点で失敗しましたか?

2
時系列での異常検出
私は機械学習を使用した初心者です(Ngのコースを終了しました)。Pythonでscikit-learnを使用しています。私たちのシステムの異常を検出する最良の方法を見つけたいです。 定期的(数分/時間ごと)に発生するイベントが継続的に発生しているため、異常が発生したときに検出したいと考えています。データの例: ID | epoch-time | duration (Sec) | status | is_manual 0400 | 1488801454 | 500 | completed | 1 0401 | 1488805055 | 500 | completed | 1 0402 | 1488812254 | 40000 | failed | 1 6831 | 1488805050 | 200 | failed | 0 . ... …

3
Java / Scala用の完全な機械学習ライブラリ[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 4年前休業。 PythonにはMLライブラリがたくさんあります(すばらしいscikit-learnなど)。多くのアルゴ(回帰、分類、クラスタリング、相互検証、特徴処理)を含み、安定して維持され、大規模なデータセットを処理できるjava / scalaに何か良いものはありますか? 私は、Mahout、Breeze / Nak、Wekaを見つけたばかりですが、Pythonのものほど見栄えがよくありません。 さらに、同等のものがない場合、JavaコードをPythonに効率的に接続するにはどうすればよいですか?

1
変分推論エンジン
このトピックについて調査したところ、PythonとRのメッセージパッシングまたは最適化メソッドに依存する推論パッケージとライブラリの驚くべき不足に気づきました。 私の知る限りでは、これらの方法は非常に便利です。たとえば、ベイズネットワーク(有向、非循環)の場合、信念の伝播だけで正確な答えが得られるはずです。ただし、オンラインで利用できるほとんどの推論ソフトウェア(たとえば、STAN、BUGS、PyMC)は、MCMCメソッドに依存しています。 Pythonの場合、私の知る限りでは、PyMC、scikit-learn、statsmodelsのいずれにも、信念伝播、メッセージパッシングメソッド、またはそれらのバリアントなどの変分推論アルゴリズムは含まれていません。 何故ですか?これらの方法は、MCMCの対応物ほど強力でも汎用的でもないため、実際にはあまり使用されていませんか?またはそれは単に人手と時間の不足の問題ですか?

2
膨大なデータセットが与えられた場合、なぜ統計モデルは過剰適合しますか?
現在のプロジェクトでは、特定のグループの行動を予測するモデルを構築する必要があるかもしれません。トレーニングデータセットには6つの変数のみが含まれます(idは識別目的のみです)。 id, age, income, gender, job category, monthly spend その中で monthly spend応答変数です。ただし、トレーニングデータセットには約300万行が含まれid, age, income, gender, job category、予測されるデータセット(応答変数は含まれるが、含まれない)には100万行が含まれます。私の質問は、統計モデルにあまりにも多くの行(この場合は300万行)を投げた場合に潜在的な問題はありますか?計算コストが懸念事項の1つであることを理解していますが、他に懸念事項はありますか?データセットのサイズの問題を完全に説明している本/紙はありますか?
8 modeling  large-data  overfitting  clustering  algorithms  error  spatial  r  regression  predictive-models  linear-model  average  measurement-error  weighted-mean  error-propagation  python  standard-error  weighted-regression  hypothesis-testing  time-series  machine-learning  self-study  arima  regression  correlation  anova  statistical-significance  excel  r  regression  distributions  statistical-significance  contingency-tables  regression  optimization  measurement-error  loss-functions  image-processing  java  panel-data  probability  conditional-probability  r  lme4-nlme  model-comparison  time-series  probability  probability  conditional-probability  logistic  multiple-regression  model-selection  r  regression  model-based-clustering  svm  feature-selection  feature-construction  time-series  forecasting  stationarity  r  distributions  bootstrap  r  distributions  estimation  maximum-likelihood  garch  references  probability  conditional-probability  regression  logistic  regression-coefficients  model-comparison  confidence-interval  r  regression  r  generalized-linear-model  outliers  robust  regression  classification  categorical-data  r  association-rules  machine-learning  distributions  posterior  likelihood  r  hypothesis-testing  normality-assumption  missing-data  convergence  expectation-maximization  regression  self-study  categorical-data  regression  simulation  regression  self-study  self-study  gamma-distribution  modeling  microarray  synthetic-data 

1
すべての値の指定された割合を含む最小幅を取得する
配列または数値のコレクションの要素の総数の特定の割合を含む最小サイズのスライディングウィンドウの最小/最大境界を見つけたいのですが。 例:説明を簡単にするために整数を取る場合、この配列で探している要素の比率が50%だとします。 [1,1,2,3,3,3,3,3,3,4,5,6,7,8,9,10] ミステリー関数は(2、4)のようなものを返します。これは、最小値が2で最大値が4であることを意味します(包括的であり、これらはインデックスではなくVALUESであることに注意してください)。その小さなウィンドウには16個の値のうち8個が含まれ、その幅は2ユニットのみであり、値の数の半分を含む最も狭いウィンドウです。 注:四分位数は[1,1,2,3]、[3,3,3,3]、[3,4,5,6]、[7,8,9,10]であるため、私は探しています。 私はそれをコード化することができます...それがうまくいくのに時間がかかるかもしれません。うまくいけば、誰かが以前にそれに遭遇したことがあります。名前はありますか?誰かが知っている既存の方法はありますか? Pythonの実装に興味があります。 更新: 「short-half」と「shortest interval」という名前を付けたGlen_bのおかげで、これを思い付くことができました。 確率密度間隔を見つける

1
確率的勾配降下法を使用した混合ガウスモデルの近似
私は、確率的勾配降下法を使用してガウス混合モデルに適合するオンラインカテゴリ学習モデルに取り組んでいます。このモデルは、Toscano&McMurray(2010)で使用されているオンライン学習モデルに基づいています。 勾配降下法はカテゴリーの平均と頻度/混合確率を推定するのにかなりうまく機能しているようですが、混合成分の共分散の推定に問題があります。勾配降下法の更新に使用してきた偏微分は、Petersen&Pedersen(2008)(p。 で始まります p (x )= ∑kρkNバツ(μk、Σk)p(バツ)=ΣkρkNバツ(μk、Σk)p(x) = \sum _k \rho_k \mathcal N_x(\mu_k,\Sigma_k) ピーターセン&ペダーセンは、共分散行列に関して偏微分を与えるとしてΣΣ\Sigma δlnp (x )δΣj= ρjNバツ(μj、Σj)ΣkρkNバツ(μk、Σk)12[ - Σ− 1j+ Σ− 1j(X - μj)(X - μj)TΣ−1j]δln⁡p(バツ)δΣj=ρjNバツ(μj、Σj)ΣkρkNバツ(μk、Σk)12[−Σj−1+Σj−1(バツ−μj)(バツ−μj)TΣj−1]\frac{\delta \ln p(x)}{\delta \Sigma_j}=\frac{\rho_j\mathcal N_x(\mu_j,\Sigma_j)}{\sum _k \rho_k \mathcal N_x(\mu_k,\Sigma_k)}\frac{1}{2}[-\Sigma_j^{-1}+\Sigma_j^{-1}(x-\mu_j)(x-\mu_j)^T\Sigma_j^{-1}] Pythonで実装しているので、各の勾配降下ステップは次のです(これはわずかな簡略化であり、すべてのコンポーネントのは更新を実行する前に計算されます)。 Δ ΣΣjΣj\Sigma_jΔ ΣΔΣ\Delta\Sigma j.sigma += learning_rate*(G(x)/M(x))*0.5*(-inv(j.sigma) + inv(j.sigma).dot((x-j.mu).dot((x-j.mu).transpose())).dot(inv(j.sigma))) ここで、jは混合の番目の成分を表すオブジェクトであり、j.sigmaとj.muはその成分の平均と分散です。G(x)/ M(x)は、を計算するいくつかのコードのρ jのNは、 xは(μ J、Σ jは)jjjρjNバツ(μj、Σj)ΣkρkNバツ(μk、Σk)ρjNバツ(μj、Σj)ΣkρkNバツ(μk、Σk)\frac{\rho_j\mathcal …

4
正規分布を仮定せずに外れ値を見つける
サイズが40〜50ポイントの小さなデータセットがあります。データが正規分布であると想定せずに、少なくとも90%の信頼度で外れ値を見つけたかったのです。私は箱ひげ図がそれを行うための良い方法であるかもしれないと思いました、しかし私はわかりません。 助けてくれてありがとう。 また、boxplot実装では、プロットを描画する以外に、外れ値を明示的に出力する実装を見つけることができませんでした。


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