タグ付けされた質問 「data-cleaning」

データクリーニングは、統計分析の準備段階であり、データセットを編集してエラーを修正し、統計ソフトウェアによる処理に適した形式にします。

6
機密データセットの名前を変換して匿名にする一方で、名前の特性の一部を保持するにはどうすればよいですか?
動機 私は個人を特定できる情報(PII)を含むデータセットを使用しており、データセットの一部を第三者と共有する必要がある場合があります。ここでの通常のアプローチは、データを完全に保留するか、場合によってはその解像度を下げることです。たとえば、正確な住所を対応する郡または国勢調査区に置き換える。 これは、サードパーティがタスクにより適したリソースと専門知識を持っている場合でも、特定のタイプの分析と処理を社内で行う必要があることを意味します。ソースデータは公開されていないため、この分析と処理の進め方には透明性がありません。その結果、QA / QCを実行したり、パラメータを調整したり、改良したりするサードパーティの能力は非常に制限される場合があります。 機密データの匿名化 1つのタスクには、エラーと矛盾を考慮しながら、ユーザーが送信したデータで名前で個人を識別することが含まれます。個人は、ある場所では「デイブ」、別の場所では「デビッド」として記録される場合があります。営利団体はさまざまな略語を使用でき、常にいくつかのタイプミスがあります。名前が異なる2つのレコードが同じ個人を表す場合を判断し、それらに共通のIDを割り当てるいくつかの基準に基づいてスクリプトを開発しました。 この時点で、名前を控えてこの個人ID番号で置き換えることにより、データセットを匿名にすることができます。しかし、これは受信者がマッチの強さなどについてほとんど情報を持っていないことを意味します。身元を明かすことなく、できるだけ多くの情報を渡すことができるようにしたいと思います。 機能しないもの たとえば、編集距離を維持しながら文字列を暗号化できると便利です。このように、サードパーティは独自のQA / QCの一部を実行したり、PIIにアクセスしたり(リバースエンジニアリングを実行したりすることなく)独自の追加処理を選択したりできます。おそらく、編集距離<= 2で社内の文字列を照合し、受信者は編集距離<= 1でその許容範囲を狭めることの意味を調べたいと考えています。 しかし、私がこれに慣れている唯一の方法はROT13(より一般的には、任意のシフト暗号)であり、暗号化とは見なされません。それは、名前を逆さまに書いて、「あなたは紙をひっくり返さないと約束しますか?」 別の悪い解決策は、すべてを短縮することです。「Ellen Roberts」は「ER」などになります。これは、公開データに関連するイニシャルが個人の身元を明らかにする場合と、あいまいすぎる場合があるため、不十分なソリューションです。「ベンジャミン・オセロ・エイムズ」と「バンク・オブ・アメリカ」の頭文字は同じになりますが、それ以外の名前は異なります。だから、私たちが望むもののどちらもしません。 洗練されていない代替方法は、名前の特定の属性を追跡するために追加フィールドを導入することです。例えば: +-----+----+-------------------+-----------+--------+ | Row | ID | Name | WordChars | Origin | +-----+----+-------------------+-----------+--------+ | 1 | 17 | "AMELIA BEDELIA" | (6, 7) | Eng | +-----+----+-------------------+-----------+--------+ | 2 | 18 | …

7
データを整理するための組織化されたプロセス
Rを使用したデータサイエンスの限られた時間から、不良データのクリーニングは分析用データの準備の非常に重要な部分であることに気付きました。 データを処理する前にクリーニングするためのベストプラクティスやプロセスはありますか?その場合、これらのベストプラクティスの一部を実装する自動化ツールまたは半自動化ツールはありますか?
34 r  data-cleaning 

1
xgboostがsklearn GradientBoostingClassifierよりもずっと速いのはなぜですか?
私は、100個の数値特徴を備えた50kの例で勾配ブースティングモデルをトレーニングしようとしています。XGBClassifier一方、私のマシンで43秒以内に、ハンドル500本の木、GradientBoostingClassifierハンドルのみ10樹木(!)1分2秒:(私は気にしませんでしたでは、それは時間がかかるだろうと500本の木を育てるしようとしている。私は、同じ使用していますlearning_rateし、max_depth設定を、 下記参照。 XGBoostがこれほど速くなったのはなぜですか?sklearnの人が知らない勾配ブースティングのためのいくつかの新しい実装を使用していますか?それとも、「角を切り」、より浅い木を育てるのですか? PS私はこの議論を知っています:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-surveyが、そこに答えを得ることができませんでした... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 


4
メタデータでテキスト文書に注釈を付ける方法は?
多くのテキスト文書(自然言語、構造化されていない)がある場合、それらに何らかのセマンティックメタデータで注釈を付ける可能な方法は何ですか?たとえば、短いドキュメントを考えてみましょう。 I saw the company's manager last day. それから情報を抽出できるようにするには、追加データで注釈を付けてあいまいさを軽減する必要があります。このようなメタデータを見つけるプロセスは問題ではないため、手動で行われると想定します。問題は、これらのデータをさらに便利に/効率的に分析できるように、これらのデータをどのように保存するかです。 可能なアプローチはXMLタグを使用することです(以下を参照)が、冗長すぎるようで、テキストドキュメントにそのようなメタデータを保存するためのより良いアプローチ/ガイドラインがあるかもしれません。 <Person name="John">I</Person> saw the <Organization name="ACME">company</Organization>'s manager <Time value="2014-5-29">last day</Time>.


1
特定のテキストの特定の文字の後の文字列を削除する
以下のようなデータセットがあります。文字©の後のすべての文字を削除したい。Rでそれを行うにはどうすればよいですか? data_clean_phrase <- c("Copyright © The Society of Geomagnetism and Earth", "© 2013 Chinese National Committee ") data_clean_df <- as.data.frame(data_clean_phrase)
15 r  data-cleaning 

4
住所のあいまい一致を行う方法
住所の形式が異なる場合、または住所の1つが間違っている場合の住所の照合方法を知りたい。 これまでのところ、さまざまなソリューションを見つけましたが、それらはかなり古く、あまり効率的ではないと思います。より良い方法がいくつかあると確信しているので、もしあなたが私が読むための参考文献を持っているなら、それは複数の人に興味があるかもしれない主題であると確信しています。 私が見つけた解決策(例はRにあります): レーベンシュタイン距離。1つの単語を別の単語に変換するために挿入、削除、または変更する必要がある文字数に相当します。 agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE) ## [1] "accusait" "abusait" 音素の比較 library(RecordLinkage) soundex(x<-c('accusait','acusait','abusait')) ## [1] "A223" "A223" "A123" スペルコレクター(最終的にはPeter Norvigのようなベイジアンコレクター)を使用しますが、アドレスではあまり効率的ではないと思います。 Googleの提案を使用することを考えましたが、同様に、個人の郵便住所ではあまり効率的ではありません。 機械学習の教師ありアプローチを使用することは想像できますが、ユーザーのスペルミスのリクエストを保存する必要がありますが、これは私にとって選択肢ではありません。

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 

1
intのpandas列をタイムスタンプデータ型に変換します
特に、1970-1-1以降に渡されたミリ秒数の列を含むデータフレームがあります。このintの列をタイムスタンプデータに変換する必要があるため、タイムスタンプ列シリーズを1970-1-1の日時値のみで構成されるシリーズに追加することにより、最終的に日時データの列に変換できます。 一連の文字列を日時データ(pandas.to_datetime)に変換する方法は知っていますが、intの列全体を日時データまたはタイムスタンプデータに変換する解決策を見つけることができません。

2
標準スケーラーを使用する場合とノーマライザを使用する場合
私は、標準的なスカラーが何をするのかとノーマはscikitドキュメントごとに、何をするかを理解する:ノーマ、標準スケーラーを。 標準スケーラーがいつ適用されるか知っています。しかし、どのシナリオでノーマライザが適用されますか?一方が他方よりも優先されるシナリオはありますか?

3
Python用のすぐに使える優れた言語モデルはありますか?
私はアプリケーションのプロトタイプを作成していますが、生成されたいくつかの文の複雑さを計算するための言語モデルが必要です。 すぐに使用できるPythonのトレーニング済み言語モデルはありますか?のような単純なもの model = LanguageModel('en') p1 = model.perplexity('This is a well constructed sentence') p2 = model.perplexity('Bunny lamp robert junior pancake') assert p1 < p2 一部のフレームワークを確認しましたが、必要なものが見つかりませんでした。私は次のようなものを使用できることを知っています: from nltk.model.ngram import NgramModel lm = NgramModel(3, brown.words(categories='news')) これはブラウンコーパスの優れたチューリング確率分布を使用していますが、1bワードデータセットなどの大きなデータセットで巧妙に作成されたモデルを探していました。一般的なドメイン(ニュースだけでなく)の結果を実際に信頼できるもの
11 python  nlp  language-model  r  statistics  linear-regression  machine-learning  classification  random-forest  xgboost  python  sampling  data-mining  orange  predictive-modeling  recommender-system  statistics  dimensionality-reduction  pca  machine-learning  python  deep-learning  keras  reinforcement-learning  neural-network  image-classification  r  dplyr  deep-learning  keras  tensorflow  lstm  dropout  machine-learning  sampling  categorical-data  data-imputation  machine-learning  deep-learning  machine-learning-model  dropout  deep-network  pandas  data-cleaning  data-science-model  aggregation  python  neural-network  reinforcement-learning  policy-gradients  r  dataframe  dataset  statistics  prediction  forecasting  r  k-means  python  scikit-learn  labels  python  orange  cloud-computing  machine-learning  neural-network  deep-learning  rnn  recurrent-neural-net  logistic-regression  missing-data  deep-learning  autoencoder  apache-hadoop  time-series  data  preprocessing  classification  predictive-modeling  time-series  machine-learning  python  feature-selection  autoencoder  deep-learning  keras  tensorflow  lstm  word-embeddings  predictive-modeling  prediction  machine-learning-model  machine-learning  classification  binary  theory  machine-learning  neural-network  time-series  lstm  rnn  neural-network  deep-learning  keras  tensorflow  convnet  computer-vision 

2
機械学習モデルをトレーニングするのに十分な量のデータはありますか?
私はしばらくの間機械学習とバイオインフォマティクスに取り組んできましたが、今日、データマイニングの主な一般的な問題について同僚と会話しました。 私の同僚(機械学習のエキスパート)は、彼の意見では、機械学習の間違いなく最も重要な実用的な側面は、機械学習モデルをトレーニングするのに十分なデータを収集したかどうかを理解する方法だと述べました。 私はこの側面をそれほど重視していなかったので、この発言は私を驚かせました... その後、インターネットで詳細情報を探したところ、FastML.comのレポートで、この投稿は経験則として、機能の約10倍のデータインスタンスが必要であることがわかりました。 2つの質問: 1-この問題は機械学習に特に関連していますか? 2 - 10倍の作業を支配ですか?このテーマに関連する他のソースはありますか?

3
科学計算に最適な言語[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 ほとんどの言語では、いくつかの科学計算ライブラリが利用できるようです。 Pythonは Scipy Rust 持っている SciRust C++持っているなど、いくつかのViennaCLとArmadillo Java持っているJava NumericsとColtだけでなく、他のいくつかの 以下のような言語は言うまでもありませんRし、Julia科学技術計算のために明示的に設計されています。 非常に多くのオプションを使用して、タスクに最適な言語をどのように選択しますか?さらに、どの言語が最もパフォーマンスが高くなりますか?PythonそしてR宇宙の中で最も牽引力を持っているように見えるが、それは、より良い選択となるように、論理的にコンパイルされた言語がそうです。そして、これまでに何よりも優れているFortranでしょうか?さらに、コンパイルされた言語はGPUアクセラレーションを備えている傾向がありますが、インタープリター言語はそうではRありPythonません。言語を選択するときは何を考慮すればよいですか。また、ユーティリティとパフォーマンスのバランスが最も良い言語はどれですか。また、私が見逃した重要な科学計算リソースを持つ言語はありますか?
10 efficiency  statistics  tools  knowledge-base  machine-learning  neural-network  deep-learning  optimization  hyperparameter  machine-learning  time-series  categorical-data  logistic-regression  python  visualization  bigdata  efficiency  classification  binary  svm  random-forest  logistic-regression  data-mining  sql  experiments  bigdata  efficiency  performance  scalability  distributed  bigdata  nlp  statistics  education  knowledge-base  definitions  machine-learning  recommender-system  evaluation  efficiency  algorithms  parameter  efficiency  scalability  sql  statistics  visualization  knowledge-base  education  machine-learning  r  python  r  text-mining  sentiment-analysis  machine-learning  machine-learning  python  neural-network  statistics  reference-request  machine-learning  data-mining  python  classification  data-mining  bigdata  usecase  apache-hadoop  map-reduce  aws  education  feature-selection  machine-learning  machine-learning  sports  data-formats  hierarchical-data-format  bigdata  apache-hadoop  bigdata  apache-hadoop  python  visualization  knowledge-base  classification  confusion-matrix  accuracy  bigdata  apache-hadoop  bigdata  efficiency  apache-hadoop  distributed  machine-translation  nlp  metadata  data-cleaning  text-mining  python  pandas  machine-learning  python  pandas  scikit-learn  bigdata  machine-learning  databases  clustering  data-mining  recommender-system 

2
パンダデータフレームの行を反復して新しい列を作成する
私はこのようなパンダデータフレーム(X11)を持っています:実際には私は99列までdx99まで持っています dx1 dx2 dx3 dx4 0 25041 40391 5856 0 1 25041 40391 25081 5856 2 25041 40391 42822 0 3 25061 40391 0 0 4 25041 40391 0 5856 5 40391 25002 5856 3569 25041、40391、5856などのセル値用に追加の列を作成したいので、25041が任意のdxs列の特定の行にある場合、値が1または0の列25041があります。私はこのコードを使用していますが、行数が少ない場合に機能します。 mat = X11.as_matrix(columns=None) values, counts = np.unique(mat.astype(str), return_counts=True) for x in values: X11[x] = …

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