タグ付けされた質問 「scikit-learn」

Scikit-learnは、機械学習、データマイニング、データ分析のためのシンプルで効率的なツールで構成されるPythonモジュールです。NumPy、SciPy、およびmatplotlibに基づいて構築されています。3-Clause BSDライセンスの下で配布されています。

2
scikit-learnでSVCとLinearSVCの違いを説明できますか?
私は最近、一緒に仕事をすることを学び始め、sklearnこの奇妙な結果に出会ったばかりです。 使用digits可能なデータセットを使用して、sklearnさまざまなモデルと推定方法を試しました。 私はデータをサポートベクトルマシンモデルをテストしたとき、私は2つの異なるのクラスがありますがわかったsklearn:SVM分類のためSVCとLinearSVC、元の用途1-に対する-1のアプローチおよび他の用途の一に対して、残りのアプローチは。 結果にどのような影響があるのか​​わかりませんでしたので、両方試してみました。モンテカルロスタイルの推定を行い、両方のモデルを500回実行しました。そのたびに、サンプルをランダムに60%のトレーニングと40%のテストに分割し、テストセットで予測の誤差を計算しました。 通常のSVC推定器は次のエラーのヒストグラムを生成しました。 一方、線形SVC推定器は次のヒストグラムを生成しました。 このような大きな違いを説明できるものは何でしょうか?ほとんどの場合、線形モデルの精度がこれほど高いのはなぜですか? そして、それに関連して、結果に著しい分極化を引き起こす原因は何ですか?1に近い精度または0に近い精度のいずれかで、間には何もありません。 比較のために、決定木分類では、約.85の精度ではるかに正規分布したエラー率が生成されました。
19 svm  scikit-learn 

1
ケラスを使用したマルチクラス分類で文字列ラベルを処理するにはどうすればよいですか?
私は機械学習とケラスの初心者であり、現在ケラスを使用してマルチクラスの画像分類問題に取り組んでいます。入力はタグ付き画像です。いくつかの前処理の後、トレーニングデータはPythonリストで次のように表されます。 [["dog", "path/to/dog/imageX.jpg"],["cat", "path/to/cat/imageX.jpg"], ["bird", "path/to/cat/imageX.jpg"]] 「犬」、「猫」、および「鳥」はクラスラベルです。この問題にはワンホットエンコーディングを使用する必要があると思いますが、これらの文字列ラベルの処理方法についてはあまり明確ではありません。私はこの方法でsklearnのLabelEncoder()を試しました: encoder = LabelEncoder() trafomed_label = encoder.fit_transform(["dog", "cat", "bird"]) print(trafomed_label) そして、出力は[2 1 0]であり、これは[[1,0,0]、[0,1,0]、[0,0,1]]のような気まぐれな出力とは異なります。いくつかのコーディングで行うことができますが、それに対処するための「標準」または「伝統的な」方法があるかどうか知りたいですか?

4
膨大なデータのPythonでのt-sne実装の速度を改善する
それぞれ200次元のほぼ100万のベクトルで次元削減を行いたい(doc2vec)。モジュールのTSNE実装を使用していsklearn.manifoldますが、主な問題は時間の複雑さです。でもmethod = barnes_hut、計算速度はまだ遅いです。メモリー不足になることもあります。 130G RAMを搭載した48コアプロセッサで実行しています。並列に実行する方法や、プロセスを高速化するために豊富なリソースを使用する方法はありますか。

1
テキストクラスタリングのアルゴリズム
大量の文章を意味ごとにグループ化する問題があります。これは、文がたくさんあり、それらを意味ごとにグループ化する場合の問題に似ています。 これを行うにはどのようなアルゴリズムが推奨されますか?クラスターの数が事前にわかりません(さらに多くのデータが追加されるにつれてクラスターも変化する可能性があります)。通常、各文を表すためにどの機能が使用されますか? 私は今、単語のリストと次のように定義された文の間の距離を持つ最も単純な機能を試しています: (AとBは、文AとBの対応する単語のセットです) それはまったく理にかなっていますか? 事前にクラスターの数を必要としないので、scikitライブラリーの平均シフトアルゴリズムをこの距離に適用しようとしています。 誰かが問題のより良い方法/アプローチをアドバイスするなら-私はまだトピックに新しいので、それは非常に高く評価されます。

5
機械学習で疎データと密データを結合してパフォーマンスを改善する
予測可能なスパースな特徴があり、また予測的ないくつかの濃い特徴があります。これらの機能を組み合わせて、分類器の全体的なパフォーマンスを改善する必要があります。 今、これらを一緒にしようとすると、密な特徴が疎な特徴よりも支配する傾向があるため、密な特徴のみのモデルと比較してAUCが1%しか改善されません。 誰かが同様の問題に遭遇しましたか?入力を本当に感謝します。私はすでに多くの異なる分類器、分類器の組み合わせ、特徴変換、異なるアルゴリズムでの処理を試しました。 助けてくれてありがとう。 編集: 私はすでにコメントに記載されている提案を試しました。私が観察したのは、データのほぼ45%でスパースフィーチャが非常によく機能し、スパースフィーチャのみで約0.9のAUCが得られることですが、残りのものでは約0.75のAUCで密なフィーチャが良好に機能します。これらのデータセットを分離しようとしましたが、AUCが0.6になるため、モデルを単純にトレーニングして使用する機能を決定することはできません。 コードスニペットに関して、私は非常に多くのことを試しましたので、何を正確に共有すべきかわかりません:(

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

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 

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についても学ぶことができます)?

3
特徴とターゲット変数の相関関係を確認するにはどうすればよいですか?
Regressionモデルを構築しようとしていますが、機能とターゲット変数の間に相関関係があるかどうかを確認する方法を探していますか? これは私のサンプルです dataset Loan_ID Gender Married Dependents Education Self_Employed ApplicantIncome\ 0 LP001002 Male No 0 Graduate No 5849 1 LP001003 Male Yes 1 Graduate No 4583 2 LP001005 Male Yes 0 Graduate Yes 3000 3 LP001006 Male Yes 0 Not Graduate No 2583 4 LP001008 Male No 0 Graduate No …

1
RandomForestClassifier OOBスコアリングメソッド
scikit-learnでのランダムフォレストの実装は、スコアリング方法として平均精度を使用して、out-of-bagサンプルで一般化エラーを推定しますか?これはドキュメントには記載されていませんが、score()メソッドは平均精度を報告します。 非常に不均衡なデータセットがあり、グリッド検索のスコアリングメトリックとしてROCのAUCを使用しています。OOBサンプルでも同じスコアリング方法を使用するように分類子に指示する方法はありますか?

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 …

3
PandasデータフレームからDMatrix
xgboostをscikit learnで実行しようとしています。そして、私はパンダを使用してデータをデータフレームにロードします。xgboostでpandas dfを使用する方法 xgboostアルゴを実行するために必要なDMatrixルーチンに混乱しています。

1
回帰のための高カーディナリティのカテゴリカル機能を備えた機能の重要性(数値依存変数)
私はランダムフォレストの機能の重要度を使用して、すべての機能がカテゴリカルであり、それらの多くに多くのレベル(100〜1000のオーダー)がある回帰問題の経験的な機能選択を実行しようとしました。ワンホットエンコーディングでは、各レベルにダミー変数が作成されるため、機能の重要性は各機能(列)ではなく、各レベルにあります。これらの機能の重要性を集計する良い方法は何ですか? 機能のすべてのレベルの平均の重要度を合計または取得することを考えました(おそらく、前者はより多くのレベルの機能に偏っています)。この問題に関する参考資料はありますか? 機能の数を減らすために他に何ができますか?私はグループなげなわを知っています、scikit-learnに使いやすいものを見つけることができませんでした。

3
パンダのカテゴリカル列を一括変換する(ワンホットエンコーディングではない)
私は大量のカテゴリー列を含むpandasデータフレームを持っています。これをscikit-learnの決定木で使用する予定です。それらを数値に変換する必要があります(1つのホットベクトルではありません)。scikit-learnのLabelEncoderでそれを行うことができます。問題は、それらが多すぎて手動で変換したくないことです。 このプロセスを自動化する簡単な方法は何でしょうか。

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