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

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

4
非常に高次元のデータに対してPCAを実行するにはどうすればよいですか?
主成分分析(PCA)を実行するには、データから各列の平均を差し引き、相関係数行列を計算してから、固有ベクトルと固有値を見つける必要があります。まあ、むしろ、これはPythonで実装するために行ったものですが、相関係数行列(corrcoef)を見つける方法では高次元の配列を使用できないため、小さな行列でしか機能しません。画像に使用する必要があるため、現在の実装では本当に役に立ちません。 データマトリックスを取得して、代わりにを計算することは可能であると読みましたが、それは私にはうまくいきません。まあ、私はそれが(私の場合は)ではなくマトリックスであることになっているという事実を除いて、それが何を意味するのか理解しているとははっきりとはわかりません。私はそれらについてeigenfacesチュートリアルで読みましたが、どれも私が本当に理解できるような方法でそれを説明していないようです。D D ⊤ / N D ⊤ D / N N × N P × P P » NDDDD D⊤/ nDD⊤/nDD^\top/nD⊤D / nD⊤D/nD^\top D/nn × nn×nn \times np × pp×pp\times pP » Np≫np\gg n 簡単に言うと、このメソッドの簡単なアルゴリズムの説明はありますか?
12 pca  python 

1
(パンダ)自己相関グラフは何を示していますか?
私は初心者で、自己相関グラフが何を示しているかを理解しようとしています。 このページや関連するウィキペディアのページなど、ここでは引用していないさまざまなソースからの説明をいくつか読んだことがあります。 私はこの非常に単純なコードを使用しており、1年間のインデックスに日付があり、値はインデックスごとに0から365に単純に増加しています。(1984-01-01:0, 1984-01-02:1 ... 1984-12-31:365) import numpy as np import pandas as pd from pandas.plotting import autocorrelation_plot import matplotlib.pyplot as plt dr = pd.date_range(start='1984-01-01', end='1984-12-31') df = pd.DataFrame(np.arange(len(dr)), index=dr, columns=["Values"]) autocorrelation_plot(df) plt.show() 印刷されるグラフがどこにあるか 私はなぜグラフが始まったのかを理解して見ることができます1.00: ラグゼロの自己相関は常に1です。これは、各項とそれ自体の間の自己相関を表すためです。値と遅延ゼロの値は常に同じになります。 これはいいですが、なぜこのラグ50のグラフの値が約0.65なのですか?そして、なぜそれが0を下回るのですか?私が持っているコードを示していなかった場合、この自己相関グラフが増加する値の時系列を示していると推定することは可能ですか?もしそうなら、それをどのように推論できるかを初心者に説明してみてください。

5
機械学習の問題のプロトタイプを作成するには、どのプログラミング言語をお勧めしますか?
現在Octaveで作業していますが、ドキュメントが不十分なため、進捗は非常に遅くなっています。 どの言語が学習および使用が簡単で、機械学習の問題を解決するために十分に文書化されていますか?私は小さなデータセット(数千の例)のプロトタイプを探しているので、速度は重要ではありません。 編集:私は推奨エンジンを開発しています。したがって、私は正則化線形回帰、ニューラルネット、SVN、または協調フィルタリングの使用に興味があります。

5
numpyでガウスカーネルを効果的に計算する方法[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 3年前休業。 私はm列とn行の派手な配列を持っています。列は次元で、行はデータポイントです。 次に、データポイントの組み合わせごとにカーネル値を計算する必要があります。 線形カーネルのための私は単純に行うことができますK(xi,xj)=⟨xi,xj⟩K(xi,xj)=⟨xi,xj⟩K(\mathbf{x}_i,\mathbf{x}_j) = \langle \mathbf{x}_i,\mathbf{x}_j \rangledot(X,X.T) 私は効果的にガウスカーネルのすべての値を計算することができますどのように与えられたsを持つ s 2?K(xi,xj)=exp−∥xi−xj∥22s2K(xi,xj)=exp⁡−‖xi−xj‖22s2K(\mathbf{x}_i,\mathbf{x}_j) = \exp{-\frac{\|\mathbf{x}_i-\mathbf{x}_j\|_2^2}{s^2}}

6
教師なし学習で特徴選択を実行するRまたはPythonのメソッド[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、上のトピッククロス検証済みのため。 2年前休業。 データ内の重要でない/重要な機能を破棄/選択するためにR / Pythonで利用可能なメソッド/実装は何ですか?データにラベルがありません(監視なし)。 データには、タイプが混在する約100の特徴があります。一部は数値ですが、その他はバイナリ(0/1)です。

8
高次元データの視覚化
高次元空間のベクトルである2つのクラスのサンプルがあり、それらを2Dまたは3Dでプロットしたい。 次元削減の手法については知っていますが、本当にシンプルで使いやすいツール(MATLAB、Python、またはビルド済みの.exe)が必要です。 また、2Dでの表現は「意味のある」ものになるのでしょうか。(たとえば、2つのクラスがどのように交差するか、または分離可能か)。


1
Pythonで画面プロットを描画する方法は?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 昨年休業。 行列で特異ベクトル分解を使用して、U、S、およびVt行列を取得しています。この時点で、保持する次元数のしきい値を選択しようとしています。スクリープロットを見るよう提案されましたが、それを乱暴にプロットする方法について疑問に思っています。現在、私はpythonでnumpyおよびscipyライブラリを使用して以下を実行しています。 U, S, Vt = svd(A) 助言がありますか?

2
2Dでの多次元データ(LSI)の視覚化
潜在的なセマンティックインデックスを使用して、ドキュメント間の類似点を見つけています(JMSに感謝します) 次元を削減した後、ドキュメントをクラスターにグループ化するためにk平均クラスタリングを試しましたが、これは非常にうまく機能します。しかし、少し先に進んで、ドキュメントをノードのセットとして視覚化します。ここで、任意の2つのノード間の距離は、類似性に反比例します(非常に類似しているノードは互いに接近しています)。 データが2次元を超えるため、類似度行列を2次元のグラフに正確に縮小できないことに不思議に思います。だから私の最初の質問:これを行う標準的な方法はありますか? データを2次元に削減してから、それらをX軸とY軸としてプロットできますか?それは、100から200までのドキュメントのグループに対して十分でしょうか?これが解決策である場合、データを最初から2次元に削減する方が良いですか、それとも多次元データから2つの「最良の」次元を選択する方法はありますか? 私はPythonとgensimライブラリを使用しています。

1
R / mgcv:なぜte()とti()テンソル積が異なる表面を生成するのですか?
のmgcvパッケージにRは、テンソル積の相互作用をフィッティングするための2つの関数がte()ありti()ます。私は2つの作業の基本的な分業を理解しています(非線形の相互作用を当てはめるか、この相互作用を主効果と相互作用に分解するか)。私が理解していないのは、なぜte(x1, x2)、そしてti(x1) + ti(x2) + ti(x1, x2)(わずかに)異なる結果を生成するのかということです。 MWE(から適応?ti): require(mgcv) test1 <- function(x,z,sx=0.3,sz=0.4) { x <- x*20 (pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+ 0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2)) } n <- 500 x <- runif(n)/20;z <- runif(n); xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30) pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30))) truth <- matrix(test1(pr$x,pr$z),30,30) f <- test1(x,z) y <- f + rnorm(n)*0.2 par(mfrow = c(2,2)) # …
11 r  gam  mgcv  conditional-probability  mixed-model  references  bayesian  estimation  conditional-probability  machine-learning  optimization  gradient-descent  r  hypothesis-testing  wilcoxon-mann-whitney  time-series  bayesian  inference  change-point  time-series  anova  repeated-measures  statistical-significance  bayesian  contingency-tables  regression  prediction  quantiles  classification  auc  k-means  scikit-learn  regression  spatial  circular-statistics  t-test  effect-size  cohens-d  r  cross-validation  feature-selection  caret  machine-learning  modeling  python  optimization  frequentist  correlation  sample-size  normalization  group-differences  heteroscedasticity  independence  generalized-least-squares  lme4-nlme  references  mcmc  metropolis-hastings  optimization  r  logistic  feature-selection  separation  clustering  k-means  normal-distribution  gaussian-mixture  kullback-leibler  java  spark-mllib  data-visualization  categorical-data  barplot  hypothesis-testing  statistical-significance  chi-squared  type-i-and-ii-errors  pca  scikit-learn  conditional-expectation  statistical-significance  meta-analysis  intuition  r  time-series  multivariate-analysis  garch  machine-learning  classification  data-mining  missing-data  cart  regression  cross-validation  matrix-decomposition  categorical-data  repeated-measures  chi-squared  assumptions  contingency-tables  prediction  binary-data  trend  test-for-trend  matrix-inverse  anova  categorical-data  regression-coefficients  standard-error  r  distributions  exponential  interarrival-time  copula  log-likelihood  time-series  forecasting  prediction-interval  mean  standard-error  meta-analysis  meta-regression  network-meta-analysis  systematic-review  normal-distribution  multiple-regression  generalized-linear-model  poisson-distribution  poisson-regression  r  sas  cohens-kappa 

4
Pythonでの主成分分析と回帰
私はSASで行ったいくつかの作業をPythonで再現する方法を理解しようとしています。多重共線性が問題となるこのデータセットを使用して、Pythonで主成分分析を実行したいと思います。scikit-learnとstatsmodelsを確認しましたが、それらの出力を取得してSASと同じ結果構造に変換する方法がわかりません。1つには、SASを使用するPROC PRINCOMPと相関行列でPCAを実行するように見えますが、Pythonライブラリのほとんど(すべて?)はSVDを使用しているようです。 データセット、最初の列は、応答変数であり、次の5はpred1-pred5呼ばれる予測変数です。 SASでは、一般的なワークフローは次のとおりです。 /* Get the PCs */ proc princomp data=indata out=pcdata; var pred1 pred2 pred3 pred4 pred5; run; /* Standardize the response variable */ proc standard data=pcdata mean=0 std=1 out=pcdata2; var response; run; /* Compare some models */ proc reg data=pcdata2; Reg: model response = pred1 pred2 pred3 …

2
パーセプトロンの決定境界プロット
パーセプトロンアルゴリズムの決定境界をプロットしようとしていますが、いくつかのことで本当に混乱しています。私の入力インスタンスの形式は、基本的には2D入力インスタンス(x 1およびx 2)とバイナリクラスのターゲット値(y)[1または0]です。[ (x1、x2)、y][(x1,x2),y][(x_{1},x_{2}), y]バツ1x1x_{1}バツ2x2x_{2}yyy したがって、私の重みベクトルはという形式です。[ w1、w2][w1,w2][w_{1}, w_{2}] ここで、追加のバイアスパラメーターを組み込む必要があるため、私の重みベクトルは3 × 1ベクトルになりますか?それは1 × 3のベクトル?ベクトルは1行とn列しかないので、1 × 3にする必要があると思います。w0w0w_{0}3 × 13×13 \times 11 × 31×31 \times 31 × 31×31 \times 3 今度はをランダムな値にインスタンス化するとします。これの決定境界をどのようにプロットしますか?ここで、w 0は何を意味するのですか?あるwは0 / N O R M (ワット)原点から判定領域の距離?もしそうなら、これをどのようにキャプチャし、matplotlib.pyplotまたは同等のMatlabを使用してPythonでプロットしますか?[ w0、w1、w2][w0、w1、w2][w_{0}, w_{1}, w_{2}]w0w0w_{0}w0/ norm(w)w0/んorメートル(w)w_{0}/norm(w) この件に関して少しでも助けていただければ幸いです。

2
コルモゴロフ–スミルノフ検定:サンプルサイズが大きくなると、p値とks検定の統計量は減少します
サンプルサイズの増加に伴い、p値とks検定の統計が減少するのはなぜですか?例としてこのPythonコードを見てみましょう: import numpy as np from scipy.stats import norm, ks_2samp np.random.seed(0) for n in [10, 100, 1000, 10000, 100000, 1000000]: x = norm(0, 4).rvs(n) y = norm(0, 4.1).rvs(n) print ks_2samp(x, y) 結果は次のとおりです。 Ks_2sampResult(statistic=0.30000000000000004, pvalue=0.67507815371659508) Ks_2sampResult(statistic=0.080000000000000071, pvalue=0.89375155241057247) Ks_2sampResult(statistic=0.03499999999999992, pvalue=0.5654378910227662) Ks_2sampResult(statistic=0.026599999999999957, pvalue=0.0016502962880920896) Ks_2sampResult(statistic=0.0081200000000000161, pvalue=0.0027192461984023855) Ks_2sampResult(statistic=0.0065240000000000853, pvalue=6.4573678008760032e-19) 直観的に私は、nが大きくなるにつれて、2つの分布が異なることを「より確実」にテストすることを理解しています。しかし、サンプルサイズが非常に大きい場合、これなどの類似性テストのポイントは何であり、アンダーソンダーリングテストまたはt検定と言えます。このような場合、nが非常に大きい場合、分布は常に「大幅に」違う!?現在、p値のポイントは一体何なのかと思っています。これはサンプルサイズに大きく依存します... p> 0.05でそれを小さくしたい場合は、より多くのデータを取得します。そして、p <0.05でより高くしたい場合は、一部のデータを削除します。 また、2つの分布が同一である場合、ks-test統計は0で、p値は1になります。ただし、私の例では、nが増加するにつれて、ks-test統計は、分布が時間とともにますます類似する(減少する)ことを示唆しています。 、しかしp値に従って、それらは時間とともにより大きくなり、(また減少し)ます。

1
ランダムフォレストのリグレッサまたは分類子を選択する必要がありますか?
ランダムフォレストによるバイナリターゲットクラスをデータセットに適合させます。Pythonでは、randomforestclassifierまたはrandomforestregressorのいずれかでそれを行うことができます。 randomforestclassifierから直接分類を取得することも、randomforestregressorを最初に実行して推定スコアのセット(連続値)を取得することもできます。次に、スコアのセットから予測クラスを導出するためのカットオフ値を見つけることができます。どちらの方法でも同じ目標を達成できます(つまり、テストデータのクラスを予測します)。 それも観察できます randomforestclassifier.predict_proba(X_test)[:,1]) とは違う randomforestregressor.predict(X_test) だから私は両方の方法が有効であることを確認したいのですが、ランダムフォレストアプリケーションではどちらが良いですか?

3
情報エントロピーが1を超えるのはなぜですか?
エントロピーを計算するために、次の関数を実装しました。 from math import log def calc_entropy(probs): my_sum = 0 for p in probs: if p > 0: my_sum += p * log(p, 2) return - my_sum 結果: >>> calc_entropy([1/7.0, 1/7.0, 5/7.0]) 1.1488348542809168 >>> from scipy.stats import entropy # using a built-in package # give the same answer >>> entropy([1/7.0, …

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