私達と接続する

ビッグデータ

ロビンフッドのCEOは、米国の退職金口座の提供を検討していると述べています

公開済み

on

EchoWangとKrystalHuによる

(ロイター)– Robinhood Markets Incは、米国の退職金口座の開設を検討していると、CEO兼共同創設者のVlad Tenevは土曜日に、取引アプリのユーザーが来週の価格に設定されている新規株式公開への参加を検討しているウェブキャストで語った。

オンライン証券会社のプラットフォームには約18万の資金提供された投資口座があり、そのほとんどは 小売 トレーダー。

個人年金口座(IRA)とロスIRAを提供することで、退職のために貯蓄する人々に税制上の利点を提供することで、ロビンフッドは広大な市場を開拓することができます。 インベストメントカンパニーインスティテュートによると、アメリカ人は12.6月末に2.8兆ドルのIRAを保有し、XNUMX月末からXNUMX%増加しました。

「私たちは、IRAやRoth IRAなど、より多くのアカウントタイプを構築することに関心があり、お客様から多くのことを聞いています。 初めての投資家を長期投資家に変えたい」と語った。

お金の引き出しに伴うペナルティのために、IRAは、一部の投資家がロビンフッドに頼る株式、オプション、暗号通貨の迅速な反転ではなく、長期投資を引き付ける傾向があります。

しかし、彼のウェブキャストで、テネフは次のように述べています。

IPOで最大35億ドルの評価を目標としているロビンフッドは、ユーザーに提供される株式の20%から35%を割り当てると述べています。これは、注目を集める製品としては珍しい動きです。 多くのIPOが初日のトレーディングポップを楽しむ理由のXNUMXつは、 小売 ロビンフッドが招待した投資家は除外され、公開市場で株式を購入する必要があります。

ロビンフッドは今年初めにIPOアクセスプラットフォームを立ち上げ、ユーザーが他の企業のIPOを処理する投資銀行と交渉できる場合、それらを購入できるようにしました。

一部の個人投資家は、XNUMX月の「ミーム」株取引狂乱の処理をめぐって、Redditやその他のソーシャルメディアでのロビンフッドのIPOのボイコットを求めています。 ロビンフッドは、プラットフォームの財務的および運用上の安定性のために必要であるという理由で、ヘッジファンドが賭けたGameStopCorpおよびその他の株式の購入に制限を課しました。

テネフは土曜日のウェブキャストで、ロビンフッドは別のそのような事件を避けるためにプラットフォームの安定性に投資したと述べた。

ペイメントフォーオーダーフロー

ロビンフッドの人気は、コロナウイルスによって引き起こされた社会的制限の過去18か月にわたって急上昇し、多くの個人投資家を家に留めてきました。 その使命は、ユーザーが株式、上場投資信託、オプション、暗号通貨を無制限に手数料なしで取引できるようにすることで、「すべての人の金融を民主化する」ことであると述べています。

証券会社は、収益の大部分を「注文フローの支払い」に依存していると批判されています。この場合、マーケットメーカーから取引をルーティングするための手数料を受け取り、ユーザーに個別の取引の料金を請求しません。

批評家は、他の多くのブローカーによって使用されている慣行は、ブローカーがより高い手数料を支払う人に注文を送るように動機付けるという理由で、利益相反を生み出すと主張しています。 ロビンフッドは、ユーザーにとって最も安いものに基づいて取引をルーティングし、手数料を請求する方が費用がかかると主張しています。

ロビンフッドの最高財務責任者であるジェイソン・ワーニックは、必要に応じて会社が慣行を変更するための扉を開いたままにしました。

「禁止またはその他の制限が課せられた場合、ロビンフッドと業界は他の収入源に適応し、調査すると考えています」とワーニック氏は述べています。

ロビンフッドは、スタンフォード大学のルームメイトであるテネフとバイジュ・バットによって2013年に設立されました。これらのメンバーは、募集後に投票権のXNUMX分のXNUMX近くを保有する予定です。

ミズーリ州でソフトウェアエンジニアとして働いているロビンフッドの顧客であるMinjieXuは、提供物が高すぎるという懸念についてのプレゼンテーションの後、感銘を受けませんでした。

「ほとんどのIPOは高すぎると思うので、これは彼らに固有のものではありません」とXu氏はロイターに語った。

(ニューヨークのEchoWangとKrystalHuによる報告、GregRoumeliotisとSonyaHepinstallによる編集)

画像著作権:ロイター

PlatoAi。 Web3の再考。 増幅されたデータインテリジェンス。
アクセスするには、ここをクリックしてください。

出典:https://datafloq.com/read/robinhood-ceo-says-considering-offering-us-retirement-accounts/16607

ビッグデータ

データエンジニアリングテクノロジー2021

公開済み

on

データエンジニアリングテクノロジー2021

データエンジニアリングの分野をサポートする新しいテクノロジーは、急速に成長しています。 この厳選されたリストには、2021年に利用可能な最も重要な製品が含まれています。


By テック忍者、オープンソース、分析、クラウド愛好家.

トップデータエンジニアリングテクノロジー
KDnuggetsによって作成された画像であるトップエンジニアリングテクノロジーの部分的なリスト。

データエンジニアリングの新技術の完全なキュレートリスト

  • そろばんAI、AutoMLを備えたエンタープライズAI、DataRobotと同様のスペース。
  • アルゴリズム、エンタープライズMLOps。
  • アムンセン、オープンソースのデータ検出およびメタデータエンジン。
  • アノドット、すべてのデータをリアルタイムで監視して、インシデントを超高速で検出します。
  • アパッチアロー、非JVM、インメモリ、列形式、およびベクトル化のために不可欠です。
  • Apache Calcite、データを所有せずにSQLデータベースとデータ管理システムを構築するためのフレームワーク。 Hive、Flinkなどは方解石を使用しています。
  • Apache HOP、データとメタデータのオーケストレーションのすべての側面を容易にします。
  • アパッチ氷山 は、大規模な分析データセット用のオープンテーブル形式です。
  • Apache Pinot、リアルタイムの分散OLAPデータストア。 その成長は印象的で、ドルイドと同様の空間にありますが、正確ではありません!
  • Apacheスーパーセット、多くのコネクタが利用可能なオープンソースBI。
  • ビーム、任意の実行エンジンで実行されるバッチおよびストリーミングデータ処理ジョブを実装します。
  • Cnvrg、エンタープライズMLOps。
  • ジャンクショ​​ン、ApacheKafkaおよびそれに続くエコシステム。
  • ダグスター、機械学習用のデータオーケストレーターであり、非常にプログラミングベースであり、Airflowと同様のスペースにありますが、状態フローを強調しています。
  • DASK、純粋にPythonでのデータサイエンス。
  • DataRobot、エンタープライズMLOpsに重点を置いた堅牢なMLプラットフォーム。
  • データブリック、新しいSQL分析とレイクハウスペーパーを使用して、より驚くべきOSSを期待しています。
  • DataFrameクジラ 簡単なデータ検出ツールです。
  • ダタリク、エンタープライズAI / MLOpsプラットフォーム。
  • デルタ湖、 ApacheSpark上のACID。
  • DVC、MLプロジェクト用のオープンソースバージョン管理システムであり、MLOpsに必要です。
  • ごちそう、オープンソースの機能ストア、現在はTectonを使用。
  • バイオリン弾き、エンタープライズで説明可能なAI。
  • ファイブトラン、データ統合パイプライン。
  • Getdbtは、簡素化されたSQLベースのパイプラインを導入することで、ApacheSparkのスイートスポットに到達しています。
  • 大いなる遺産、データサイエンステストフレームワーク、それはすでに素晴らしいです!
  • ホップワーク、オープンソースのMLOps機能ストア。
  • フディ トランザクション、レコードレベルの更新/削除、および変更ストリームをデータレイクにもたらします。
  • コアラ、ApacheSparkのパンダ。
  • 世界 クベフロー プロジェクトは、Kubernetesでシンプル、ポータブル、スケーラブルな機械学習ワークフローを作成することに専念しています。
  • lakeFS コードを管理する方法でデータレイクを管理できます。 実験用の並列パイプラインとデータ用のCI / CDを実行します。
  • maiot-ZenML、オープンソースのMLOpsフレームワーク、すべてが少しあります。
  • マルケス、素晴らしいUIを備えたオープンソースのメタデータ。
  • メタベース、優れた視覚化を備えたオープンソースBI。
  • MLFlow、機械学習プラットフォーム。
  • モンテカルロデータ、データガバナンスまたはデータ発見またはデータ可観測性。
  • Nextflow、BioInformatics用に設計されたデータ駆動型の計算パイプラインですが、それを超えることもできます。
  • 厚皮、MLFlowのスペースにあるMLOpsプラットフォーム。
  • 製紙工場、ノートブックをパラメータ化することで、データサイエンスがよりエキサイティングでアクセスしやすくなります。
  • 知事、ApacheAirflowと比較してワークフロー管理をより簡単かつ適切にするように設計されています。
  • 急流、GPU上のデータサイエンス。
  • レイ、分散型機械学習と現在のストリーミング。
  • スターバースト、高速で簡単にアクセスできるようにすることで、分散データの価値を解き放ちます。
  • テクトン、エンタープライズ機能ストア。
  • トリノ、別名PrestoSQLは、Prestoから明確に分離されたため、Trinoは機能に重点的に取り組むことができます。

これに基づいてアルファベット順に並べ替え オリジナル。 許可を得て転載。

関連する


PlatoAi。 Web3の再考。 増幅されたデータインテリジェンス。
アクセスするには、ここをクリックしてください。

出典:https://www.kdnuggets.com/2021/09/data-engineering-technologies-2021.html

続きを読む

ビッグデータ

データエンジニアリングテクノロジー2021

公開済み

on

データエンジニアリングテクノロジー2021

データエンジニアリングの分野をサポートする新しいテクノロジーは、急速に成長しています。 この厳選されたリストには、2021年に利用可能な最も重要な製品が含まれています。


By テック忍者、オープンソース、分析、クラウド愛好家.

トップデータエンジニアリングテクノロジー
KDnuggetsによって作成された画像であるトップエンジニアリングテクノロジーの部分的なリスト。

データエンジニアリングの新技術の完全なキュレートリスト

  • そろばんAI、AutoMLを備えたエンタープライズAI、DataRobotと同様のスペース。
  • アルゴリズム、エンタープライズMLOps。
  • アムンセン、オープンソースのデータ検出およびメタデータエンジン。
  • アノドット、すべてのデータをリアルタイムで監視して、インシデントを超高速で検出します。
  • アパッチアロー、非JVM、インメモリ、列形式、およびベクトル化のために不可欠です。
  • Apache Calcite、データを所有せずにSQLデータベースとデータ管理システムを構築するためのフレームワーク。 Hive、Flinkなどは方解石を使用しています。
  • Apache HOP、データとメタデータのオーケストレーションのすべての側面を容易にします。
  • アパッチ氷山 は、大規模な分析データセット用のオープンテーブル形式です。
  • Apache Pinot、リアルタイムの分散OLAPデータストア。 その成長は印象的で、ドルイドと同様の空間にありますが、正確ではありません!
  • Apacheスーパーセット、多くのコネクタが利用可能なオープンソースBI。
  • ビーム、任意の実行エンジンで実行されるバッチおよびストリーミングデータ処理ジョブを実装します。
  • Cnvrg、エンタープライズMLOps。
  • ジャンクショ​​ン、ApacheKafkaおよびそれに続くエコシステム。
  • ダグスター、機械学習用のデータオーケストレーターであり、非常にプログラミングベースであり、Airflowと同様のスペースにありますが、状態フローを強調しています。
  • DASK、純粋にPythonでのデータサイエンス。
  • DataRobot、エンタープライズMLOpsに重点を置いた堅牢なMLプラットフォーム。
  • データブリック、新しいSQL分析とレイクハウスペーパーを使用して、より驚くべきOSSを期待しています。
  • DataFrameクジラ 簡単なデータ検出ツールです。
  • ダタリク、エンタープライズAI / MLOpsプラットフォーム。
  • デルタ湖、 ApacheSpark上のACID。
  • DVC、MLプロジェクト用のオープンソースバージョン管理システムであり、MLOpsに必要です。
  • ごちそう、オープンソースの機能ストア、現在はTectonを使用。
  • バイオリン弾き、エンタープライズで説明可能なAI。
  • ファイブトラン、データ統合パイプライン。
  • Getdbtは、簡素化されたSQLベースのパイプラインを導入することで、ApacheSparkのスイートスポットに到達しています。
  • 大いなる遺産、データサイエンステストフレームワーク、それはすでに素晴らしいです!
  • ホップワーク、オープンソースのMLOps機能ストア。
  • フディ トランザクション、レコードレベルの更新/削除、および変更ストリームをデータレイクにもたらします。
  • コアラ、ApacheSparkのパンダ。
  • 世界 クベフロー プロジェクトは、Kubernetesでシンプル、ポータブル、スケーラブルな機械学習ワークフローを作成することに専念しています。
  • lakeFS コードを管理する方法でデータレイクを管理できます。 実験用の並列パイプラインとデータ用のCI / CDを実行します。
  • maiot-ZenML、オープンソースのMLOpsフレームワーク、すべてが少しあります。
  • マルケス、素晴らしいUIを備えたオープンソースのメタデータ。
  • メタベース、優れた視覚化を備えたオープンソースBI。
  • MLFlow、機械学習プラットフォーム。
  • モンテカルロデータ、データガバナンスまたはデータ発見またはデータ可観測性。
  • Nextflow、BioInformatics用に設計されたデータ駆動型の計算パイプラインですが、それを超えることもできます。
  • 厚皮、MLFlowのスペースにあるMLOpsプラットフォーム。
  • 製紙工場、ノートブックをパラメータ化することで、データサイエンスがよりエキサイティングでアクセスしやすくなります。
  • 知事、ApacheAirflowと比較してワークフロー管理をより簡単かつ適切にするように設計されています。
  • 急流、GPU上のデータサイエンス。
  • レイ、分散型機械学習と現在のストリーミング。
  • スターバースト、高速で簡単にアクセスできるようにすることで、分散データの価値を解き放ちます。
  • テクトン、エンタープライズ機能ストア。
  • トリノ、別名PrestoSQLは、Prestoから明確に分離されたため、Trinoは機能に重点的に取り組むことができます。

これに基づいてアルファベット順に並べ替え オリジナル。 許可を得て転載。

関連する


PlatoAi。 Web3の再考。 増幅されたデータインテリジェンス。
アクセスするには、ここをクリックしてください。

出典:https://www.kdnuggets.com/2021/09/data-engineering-technologies-2021.html

続きを読む

ビッグデータ

相互に共存し理解することを余儀なくされたIoTとSCADAシステム

公開済み

on

SCADAシステム
イラスト:©IoT For All

20世紀の前半まで、産業組織はプロセスの制御と監視を主に人的要因に依存していました。 しかし、1970年代には、操業がますます複雑になり、工場がますます大きくなり、デジタル PLC (プログラマブルロジックコントローラー)とコンピューターは、リモートコントロールセンターへのデータ送信用のインターフェースとして有名になりました。 その後すぐに、ギリシャ語の「metria」(測定)と「tele」(リモート)から「テレメトリ」が誕生し、それとともに、SCADA:監視制御およびデータ取得システムという制御システムが誕生しました。 これは第XNUMX次産業革命と呼ばれ、現在、PLCやSCADAを運用していない産業会社はありません。

モノのインターネット(IoT)と人工知能(AI)により、今日、多くの人が敢えて呼んでいるもうXNUMXつの大きな技術的飛躍を目の当たりにすることができます。 第4次産業革命.

範囲は「データの取得と監視」をはるかに超えています。 これは、大量のデータの高度な処理に焦点を当てており、より高速で効率的な意思決定プロセスを可能にし、エラーのリスクと許容誤差を減らします。 しかし、第XNUMX次産業革命への投資と第XNUMX次産業革命に必要な投資との限界がまだ明確になっていないため、私たちはまだこの新しい革命を統合する過程にあります。

この記事では、第XNUMX次産業革命から取り残されたくない企業が従わなければならないロードマップのXNUMXつの鍵を示します。

SCADAを補完するものとしてのIoTプラットフォーム

まず、部屋の中の象:SCADAは、大量のデータを高度に処理する準備ができていません。 IoTプラットフォームが、一元化されたリアルタイムのプロセス監視と自動化のために準備されていないのと同じように。 したがって、共存を余儀なくされる技術にはXNUMXつのタイプがあります。

SCADAの集中制御プロセスは、信頼性とクエリへの高速応答を保証するデータベースを使用してのみ実現できます。 一般に、一元化されたデータベース、構造化照会言語(SQL)、および財務コストは、「変数の数」に関連しています。 ただし、これらのアーキテクチャは、大量の分散データや変更データを処理するには剛性が高すぎます。

この意味で、IoTプラットフォームは、非構造化言語(NoSQL)と「使用済みリソース」(CPU、メモリ)あたりのコストを備えた分散データベースに依存しています。 IoTプラットフォーム は、高度なAIクエリを必要とする数学モデルの作成に最適ですが、信頼性の高いリアルタイム処理には最適ではありません。

視覚化とユーザーインターフェイスの機能を見ると、SCADAプラットフォームの目標は、オペレーターがエラーなしでプロセスを簡単かつ簡単に制御できるように、完全なプロセスをモデル化することです。 したがって、HMI(Human Machine Interface)グラフィック生成フレームワークが最適です。

ダッシュボードのWebのような視覚化フレームワークは、IoTプラットフォームの場合に適しています。その目的は、履歴データ、相互参照、または将来の傾向の負荷を示すことです。 従来のSCADAの信頼性と速度をIoTプラットフォームの柔軟性とスケーラビリティと組み合わせることができるプラットフォームがまもなく存在する可能性は非常に低いようです。 両方のシステムが共存して統合する必要があります。そのためには、適切な予算の割り当てと、OT部門とIT部門の調整が重要です。

PLCの補完としてのIoTエッジノード

«現場の資産の近くの«コントロールルーム»で起こることと同様に、既存のシステムを補完しなければならないシステムもあります。 自動化されたコントローラーまたは PLC は、生産プロセスのデジタル化と自動化を主な機能とするデバイスであり、そのリアルタイム要件はSCADAよりもさらに制限されています。 ミリ秒のエラーは、ロボットアームが故障する可能性があること、または変電所がリレーを適切に調整していないことを意味する可能性があり、重大なグローバルシステム障害が発生します。 PLCはその機能に焦点を当てることを目的としているため、製造プロセスに関連するアクション以外のアクションを実行するようにプログラムするのは適切ではありません。

したがって、前の例に戻ると、ロボットアームまたは変電所のリレーを制御するPLCが、必要な他の変数をチェックしていることは意味がありません。たとえば、プラントまたはその中のオペレーターの存在または不在。 さらに、AIのこれらの追加データを取得するために、PLCを使用することは意味がありません。これは、PLCは通常、プログラミングに特別な専門知識を必要とするためです。

リアルタイムが要件ではないが、データを取得して効率的かつスケーラブルな方法で処理する柔軟性が必要な場合は、IoTエッジノードが最良の代替手段です。 これらのエッジノードは、高水準言語プログラミング(Python、C / C ++、またはDockerコンテナーを格納できる)、いくつかの入力と出力、および結合された接続インターフェイス(セルラー接続を備えた産業用バスなど)を備えたミニコンピューターです。 。

安全性を補完するものとしてのサイバーセキュリティ

安全性とは、怪我を引き起こす可能性のあるイベントから保護されている状態を指します。 安全基準、リスク管理、または災害対応計画は、多くの場合、規制によって強制されている、あらゆる産業組織の毎日のスケジュールに基づいています。

IoTとAIにより、私たちはサイバーフィジカルの世界に移行します。サイバーフィジカルの世界では、産業用ネットワーク(またはOTネットワーク)の孤立性が低下し、相互接続が進んでいます。 したがって、外部と内部の両方のサイバー攻撃に対して脆弱であり、労働者の安全だけでなく、会社の業務の継続性にも影響を与える可能性があります。

この意味で、従来のリスク管理とインシデント対応の計画および「安全性」の認証は、サイバーセキュリティの世界の対応するものによって補完されなければなりません。

この点で事実上の標準になる可能性が高い標準は、情報セキュリティ管理に関するISO 27001と、産業用通信におけるネットワークおよびシステムのITセキュリティに関するIEC62443です。 IoTプラットフォームやエッジノードなどの要素の導入と管理は、この新しいテクノロジーロードマップの将来を確実にするために、上記のような優れたプラクティスと標準の傘下で行う必要があります。

IoT、AI、エッジコンピューティングなどの新しいテクノロジーは、SCADAやPLCに取って代わるものではなく、それらを補完するものになっています。 ITとOTの間の製品、人間、プロセスの正しい共存と統合、および広大な技術的開放性は、第XNUMX次産業革命に飛び込みたい産業組織への対応です。

PlatoAi。 Web3の再考。 増幅されたデータインテリジェンス。
アクセスするには、ここをクリックしてください。

ソース:https://www.iotforall.com/iot-and-scada-systems-forced-to-coexist-and-understand-each-other

続きを読む

ビッグデータ

機能エンジニアリングの完全ガイド:ゼロからヒーロー

公開済み

on

この記事は、の一部として公開されました データサイエンスブログソン

はじめに

機能エンジニアリングが機械学習モデルの中心であるという事実に注意する必要があります。 モデルがどれだけ成功するか、またはモデルがどれだけ正確に予測するかは、さまざまな機能エンジニアリング手法の適用に依存します。 この記事では、機能エンジニアリングについて深く掘り下げます。 この記事では、すべてのテクニックについて説明し、必要に応じてコードも含めます。 では、ゼロから始めましょう。機能エンジニアリングとは何ですか?

フィーチャ工学

画像1

機能エンジニアリングとは何ですか?

すべての機械学習アルゴリズムは、いくつかの入力データを使用して出力を生成します。 入力データには、モデルに直接与えるのに適切な形式ではない可能性のある多くの特徴が含まれています。 なんらかの処理が必要で、ここでは機能エンジニアリングが役立ちます。 機能エンジニアリングは、主にXNUMXつの目標を達成します。

  • 特定のモデルまたは機械学習アルゴリズムに必要な形式で入力データセットを準備します。
  • 機能エンジニアリングは、機械学習モデルのパフォーマンスを魔法のように向上させるのに役立ちます。

一部の調査によると、データサイエンティストは、データの準備に時間を費やしています。 以下の図を参照してください。

データの準備

画像2

これは、機械学習における機能エンジニアリングの重要性を明確に示しています。 したがって、この記事は、この概念全体を理解するのに役立ちます。

受験資格:

1. Pythonをインストールして、その基本的な実践的な知識を習得します。

2.PythonのPandasライブラリ。 インストールするコマンド: pip install pandas

3.PythonのNumpyライブラリ。 インストールするコマンド: pip install numpy

次に、次のようにこれらXNUMXつのライブラリをインポートします。

パンダをpdとしてインポートnumpyをnpとしてインポート

さあ、始めましょう!

ここに、データを処理するための主な機能エンジニアリング手法をリストします。 次に、各手法をそのアプリケーションとともに詳細にXNUMXつずつ見ていきます。

ここで説明する主な機能エンジニアリング手法は次のとおりです。

1.欠測データの代入

2.カテゴリエンコーディング

3.変数変換

4.外れ値エンジニアリング

5.日付と時刻のエンジニアリング

機能エンジニアリングのための欠測データの代入

入力データには、データや値が欠落しているフィーチャまたは列が含まれている場合があります。 これは、特定の観測値のデータが変数に格納されていない場合に発生します。 データの欠落は非常に一般的であり、特に実際のデータセットでは避けられない問題です。 欠落値を含むこのデータを使用すると、結果に重要性が見られます。 したがって、代入は、欠測データを欠測値の統計的推定値に置き換える行為です。 トレーニングデータを完成させるのに役立ちます。トレーニングデータは、予測のために任意のモデルまたはアルゴリズムに提供できます。

欠測データの代入には複数の手法があります。 これらは次のとおりです。-

  1. 完全なケース分析
  2. 平均/中央値/最頻値の代入
  3. 欠測値インジケーター

欠測データの代入に関する完全なケース分析

完全なケース分析とは、基本的に、すべての変数の値を含むデータセット内の観測値を分析することです。 または、欠測値を含むすべての観測値を削除すると言うことができます。 ただし、この方法は、データセットが欠落している観測値が少ない場合にのみ使用できます。そうしないと、データセットサイズが小さくなり、あまり役に立ちません。

そのため、欠測データが少ない場合に使用できますが、実際のデータセットでは、欠測データの量が常に多くなります。 したがって、実際には、完全なケース分析を使用するオプションはありませんが、欠落しているデータサイズが小さい場合は使用できます。

タイタニックデータセットでのこれの使用を見てみましょう。

から巨大なデータセットをダウンロードします こちら.

import numpy as np import pandas as pd titanic = pd.read_csv( 'titanic / train.csv')#タイタニックデータセットのコピーを作成data1 = titanic.copy()data1.isnull()。mean()

出力:

PassengerId 0.000000 Survived 0.000000 Pclass 0.000000 Name 0.000000 Sex 0.000000 Age 0.198653 SibSp 0.000000 Parch 0.000000 Ticket 0.000000 Fare 0.000000
キャビン  0.771044
開始0.002245dtype:float64

欠落している観測値をすべて削除すると、観測値の77%でキャビンが欠落しているため、データセットは非常に小さくなります。

#ドロップする観測値の数を確認しますprint( 'すべての変数の値を持つ乗客の合計:'、data1.dropna()。shape [0])print( 'タイタニックの乗客の合計:'、data1.shape [0]) print( '値が欠落していないデータのパーセンテージ:'、data1.dropna()。shape [0] / np.float(data1.shape [0]))
すべての変数の値を持つ総乗客数:183タイタニック号の総乗客数:891
欠測値のないデータのパーセンテージ: 0.2053872053872054

したがって、タイタニックデータセットの観測値の20%のみに関する完全な情報があります。 したがって、完全なケース分析方法は、このデータセットのオプションではありません。

欠測データの代入の平均/中央値/最頻値

欠落している値は、変数(機能)の平均、中央値、または最頻値に置き換えることもできます。 これは、データの競争やほとんどすべての状況で広く使用されています。 この手法は、データがランダムな場所で小さな割合で欠落している場合に使用するのに適しています。

#[X_train、X_test]のdfのトレインおよびテストセットmedian = X_train.Age.median()の年齢の欠落値を代入します。df['Age']。fillna(median、inplace = True)X_train ['Age'] .isnull()。sum()

出力:
0

0は、Age機能にnull値がないことを表します。

代入を行う際に考慮すべき重要な点のXNUMXつは、最初にトレーニングセットに対して実行し、次にテストセットに対して実行する必要があるということです。 トレインセットとテストセットで欠落しているすべての値は、トレインセットからのみ抽出された値で埋める必要があります。 これは、過剰適合を回避するのに役立ちます。

欠測値表示の欠測値インジケーター

この手法では、バイナリ変数を追加して、特定の観測値の値が欠落しているかどうかを示します。 この変数は、観測値が欠落している場合は値1を取り、それ以外の場合は値0を取ります。 ただし、元の変数の欠落値を置き換える必要があります。これは、平均または中央値の代入で行う傾向があります。 これらの2つの手法を一緒に使用することにより、欠落値に予測力がある場合は欠落インジケーターによってキャプチャされ、そうでない場合は平均/中央値の代入によってマスクされます。

X_train ['Age_NA'] = np.where(X_train ['Age']。isnull()、1、0)X_test ['Age_NA'] = np.where(X_test ['Age']。isnull()、1、 0)X_train.head()

出力:

データ| 機能工学
X_train.Age.mean()、X_train.Age.median()
(29.915338645418327、29.0)

ここで、平均と中央値は同じなので、それらを中央値に置き換えましょう。

X_train ['Age']。fillna(X_train.Age.median()、inplace = True)X_test ['Age']。fillna(X_train.Age.median()、inplace = True)X_train.head(10)

そのため、Age_NA変数は欠落をキャプチャするために作成されました。

機能工学におけるカテゴリー符号化

カテゴリデータは、いくつかの値のみをとるデータとして定義されます。 例を挙げてこれを理解しましょう。 データセットのパラメータGenderには、男性、女性などのカテゴリ値があります。 どの車を所有しているかを調べるために調査を行うと、結果はカテゴリに分類されます(回答は、ホンダ、トヨタ、ヒュンダイ、マルティ、なしなどのカテゴリに分類されるため)。 したがって、ここで注意すべき点は、データが固定されたカテゴリのセットに分類されることです。

カテゴリ変数を含むこのデータセットをモデルに直接指定すると、エラーが発生します。 したがって、それらはエンコードする必要があります。 これを行うには、複数の手法があります。

  1. ワンホットエンコーディング(OHE)
  2. 序数エンコーディング
  3. カウントと周波数のエンコード
  4. ターゲットエンコーディング/平均エンコーディング

それらを詳しく理解しましょう。

 ワンホットエンコーディング

これは、カテゴリ変数をエンコードするために一般的に使用される手法です。 基本的に、カテゴリ変数に存在するカテゴリごとにバイナリ変数を作成します。 これらのバイナリ変数は、カテゴリに存在しない場合は0、存在する場合は1になります。 新しい変数はそれぞれ、ダミー変数またはバイナリ変数と呼ばれます。

例:カテゴリ変数がGenderで、ラベルがfemaleとmaleの場合、maleとfemaleという1つのブール変数を生成できます。 男性は男性の場合は0、それ以外の場合はXNUMXを取ります。 女性変数についても同様です。 タイタニックデータセットについては、以下のこのコードを参照してください。

pd.get_dummies(data ['Sex'])。head()
pd.concat([data ['Sex']、pd.get_dummies(data ['Sex'])]、axis = 1).head()

出力:

性別 女性
0 男性 0 1
1 女性 1 0
2 女性 1 0
3 女性 1 0
4 男性 0 1

しかし、Sexカテゴリ変数を表すために必要なダミー変数は1つだけであることがわかります。 したがって、n個のカテゴリがある場合、n-1個のダミー変数のみが必要な一般式と見なすことができます。 したがって、ダミー変数は誰でも簡単に削除できます。 n-1個のダミー変数を取得するには、次を使用します。

pd.get_dummies(data ['Sex']、drop_first = True).head()

序数エンコーディング

序数とはどういう意味ですか? これは単に、カテゴリを並べ替えることができるカテゴリ変数を意味し、意味がありすぎます。

たとえば、試験での学生の成績は序数です。 (A、B、C、D、失敗)。 この場合、エンコードする簡単な方法は、ラベルを序数に置き換えることです。 サンプルコードを見てください:

sklearnからインポート前処理>>> le = preprocessing.LabelEncoder()
le = preprocessing.LabelEncoder()le.fit(["paris"、 "paris"、 "tokyo"、 "amsterdam"])le.transform(["tokyo"、 "tokyo"、 "paris"])>>> array([2、2、1] ...)list(le.inverse_transform([2、2、1]))>>> ['tokyo'、 'tokyo'、 'paris']

カウントと周波数のエンコード

このエンコード手法では、カテゴリは、データセット内のそのカテゴリを示す観測値の数に置き換えられます。 置換は、データセット内の観測値のパーセンテージの頻度で行うこともできます。 30の性別のうち100が男性である場合、男性を30または0.3に置き換えることができます。

このアプローチは、データサイエンスのコンテストで広く使用されているため、基本的に、各ラベルがデータセットに表示される回数を表します。

ターゲット/平均エンコーディング

平均エンコーディングとも呼ばれるターゲットエンコーディングでは、変数の各カテゴリを、特定のカテゴリを示す観測値のターゲットの平均値に置き換えます。 たとえば、カテゴリ変数「city」があり、手紙を送信した場合に顧客がテレビを購入するかどうかを予測したいとします。 シティ「ロンドン」の人々の30%がテレビを購入した場合、ロンドンを0.3に置き換えます。 そのため、カテゴリのエンコード時にターゲットに関する情報を取得するのに役立ち、機能スペースも拡張されません。 したがって、エンコードのオプションと見なすこともできます。 ただし、モデルに過剰適合する可能性があるため、注意してください。 実装については、次のコードを参照してください。

pdとしてパンダをインポート#データセットデータの作成= {'CarName':['C1'、 'C​​2'、 'C​​3'、 'C​​1'、 'C​​4'、 'C​​3'、 'C​​2'、 'C​​1'、 'C​​2' 、 'C4'、 'C​​1']、 'ターゲット':[1,0,1,1,1,0,0,1,1,1,0]} df = pd.DataFrame(data)print(df)

出力:

CarNameターゲット
0 C1 1
1 C2 0
2 C3 1
3 C1 1
4 C4 1
5 C3 0
6 C2 0
7 C1 1
8 C2 1
9 C4 1
10 C1 0

df.groupby(['CarName'])['Target']。count()

出力:

CarName
C1 4
C2 3
C3 2
C4 2
名前:ターゲット、dtype:int64

df.groupby(['CarName'])['Target'].mean()

出力:

CarName
s1 0.750000
s2 0.333333
s3 0.500000
s4 1.000000
名前:ターゲット、dtype:float64

Mean_encoded = df.groupby(['CarName'])['Target'].mean().to_dict()

df['CarName'] = df['CarName'].map(Mean_encoded)

print(df)

CarNameターゲット
0 0.750000 1
1 0.333333 0
2 0.500000 1
3 0.750000 1
4 1.000000 1
5 0.500000 0
6 0.333333 0
7 0.750000 1
8 0.333333 1
9 1.000000 1
10 0.750000 0

変数変換

線形回帰やロジスティック回帰などの機械学習アルゴリズムは、変数が正規分布していることを前提としています。 変数が正規分布していない場合、変換された変数がガウス分布になるように数学的な変換を見つけることができる場合があります。 ガウス分布変数は、機械学習アルゴリズムのパフォーマンスを何度も向上させます。

一般的に使用される数学 変換 には次の値があります:

  1. 対数変換– log(x)
  2. 平方根変換– sqrt(x)
  3. 逆数変換– 1 / x
  4. 指数変換– exp(x)

タイタニックデータセットでこれらをチェックしてみましょう。

タイタニックデータセットの数値機能を読み込んでいます。

cols_reqiuired = ['Age', 'Fare', 'Survived'])
data[cols_reqiuired].head()
Output:
Survived	Age	Fare
0	0	22.0	7.2500
1	1	38.0	71.2833
2	1	26.0	7.9250
3	1	35.0	53.1000
4	0	35.0	8.0500

まず、不足しているデータを入力する必要があります。 不足しているデータをランダムなサンプルで埋めることから始めます。

 def impute(data、variable):
 df = data.copy()df [variable + '_ random'] = df [variable]#ランダムサンプルを抽出してnaを埋めますrandom_sample = df [variable] .dropna()。sample(df [variable] .isnull()。 sum()、random_state = 0)random_sample.index = df [df [variable] .isnull()]。index df.loc [df [variable] .isnull()、variable + '_ random'] = random_sample return df [variable + ' _random '] #fill na data [' Age '] = impute_na(data、' Age ')

ここで、年齢変数の分布を視覚化するために、ヒストグラムとQQプロットをプロットします。

def plots(df、variable):plt.figure(figsize =(15,6))plt.subplot(1、2、1)df [variable] .hist()plt.subplot(1、2、2)stats。 probplot(df [variable]、dist = "norm"、plot = pyrab)plt.show()plots(data、 'Age')

出力:

変換| 機能工学

年齢変数は、下尾のいくつかの観察を除いて、ほぼ正規分布しています。 また、左側のヒストグラムにわずかな偏りが見られます。

次に、上記の変換を適用して、変換されたAge変数を比較してみましょう。

対数変換

data ['Age_log'] = np.log(data.Age)plots(data、 'Age_log')

出力:

対数変換

ここで、対数変換がAge列のガウス分布のような分布を生成しなかったことを確認できます。

平方根変換– sqrt(x)

data ['Age_sqr'] = data.Age **(1/2)plots(data、 'Age_sqr')

出力:

平方根変換

これは少し良いですが、それでも変数はガウスではありません。

逆数変換– 1 / x

data ['Age_reciprocal'] = 1 / data.Age plots(data、 'Age_reciprocal')

出力:

相互変換

この変換は、Ageを正規分布変数に変換するのにも役立ちません。

指数変換– exp(x)

data ['Age_exp'] = data.Age **(1 / 1.2)plots(data、 'Age_exp')

出力:

指数関数| 機能工学

これは、正規分布の変数を生成する時点で、上記のすべての変換の中で最も優れています。

外れ値エンジニアリング

外れ値は、変数の残りの観測値に対して異常に高いまたは低い値として定義されます。 外れ値を処理するためのテクニックのいくつかは次のとおりです。

1.外れ値の削除

2.外れ値を欠測値として扱う

3.外れ値のキャッピング

外れ値を特定する方法は?

そのため、検出の基本的な形式は、データの極値分析です。 変数の分布がガウス分布の場合、外れ値は変数の標準偏差のプラスマイナスXNUMX倍の平均の外側にあります。 ただし、変数が正規分布していない場合は、分位数を使用できます。 分位数を計算してから、四分位範囲を計算します。

インタークォンタイルは75番目のクォンタイル-25クォンタイルです。

上限:75番目の変位値+(IQR * 1.5)

下限:25番目の変位値–(IQR * 1.5)

したがって、外れ値はこれらの境界の外側に位置します。

 外れ値の削除

この手法では、データセットから外れ値の観測値を削除するだけです。 データセットでは、外れ値が豊富でない場合、外れ値を削除してもデータに大きな影響はありません。 ただし、複数の変数に外れ値がある場合、データセットから大量のデータを削除してしまう可能性があります。 したがって、外れ値を削除するときは常に、この点に留意する必要があります。

 外れ値を欠測値として扱う

外れ値を欠落値として扱うこともできます。 ただし、これらの欠落している値も埋める必要があります。 したがって、不足している値を埋めるには、この記事で前述した任意の方法を使用できます。

 外れ値のキャッピング

この手順では、最大値と最小値を事前定義された値に制限します。 この値は、変数の分布から導き出すことができます。 変数が正規分布している場合、標準偏差のプラスマイナスXNUMX倍の平均で最大値と最小値を制限できます。 ただし、変数が歪んでいる場合は、下位パーセンタイルで分位数範囲の近接ルールまたは上限を使用できます。

日付と時刻の機能エンジニアリング

日付変数は特別なタイプのカテゴリ変数と見なされ、適切に処理されれば、データセットを大幅に充実させることができます。 日付から、月、学期、四半期、曜日、曜日、週末かどうか、時間、分など、さまざまな重要な情報を抽出できます。 いくつかのデータセットを使用して、その周りにコーディングを行いましょう。

このために、レンディングクラブのデータセットを使用します。 からダウンロード こちら.

データセットのXNUMXつの列、issue_dとlast_pymnt_dのみを使用します。

use_cols = ['issue_d'、 'last_pymnt_d'] data = pd.read_csv( '/ kaggle / input / lending-club-loan-data / loan.csv'、usecols = use_cols、nrows = 10000)data.head()出力:issue_d last_pymnt_d 0 Dec-2018 Feb-2019 1 Dec-2018 Feb-2019 2 Dec-2018 Feb-2019 3 Dec-2018 Feb-2019 4 Dec-2018 Feb-2019

現在、日付は文字列でコード化されているため、日付をDateTime形式に解析します。

data['issue_dt'] = pd.to_datetime(data.issue_d)
data['last_pymnt_dt'] = pd.to_datetime(data.last_pymnt_d)
data[['issue_d','issue_dt','last_pymnt_d', 'last_pymnt_dt']].head()
Output: issue_d	issue_dt	last_pymnt_d	last_pymnt_dt
0	Dec-2018	2018-12-01	Feb-2019	2019-02-01
1	Dec-2018	2018-12-01	Feb-2019	2019-02-01
2	Dec-2018	2018-12-01	Feb-2019	2019-02-01
3	Dec-2018	2018-12-01	Feb-2019	2019-02-01
4	Dec-2018	2018-12-01	Feb-2019	2019-02-01

次に、日付から月を抽出します。

data['issue_dt_month'] = data['issue_dt'].dt.month
data[['issue_dt', 'issue_dt_month']].head()
Output: issue_dt issue_dt_month
0	2018-12-01	12
1	2018-12-01	12
2	2018-12-01	12
3	2018-12-01	12
4	2018-12-01	12

日付から四半期を抽出します。

data['issue_dt_quarter'] = data['issue_dt'].dt.quarter
data[['issue_dt', 'issue_dt_quarter']].head()
Output: issue_dt	issue_dt_quarter
0	2018-12-01	4
1	2018-12-01	4
2	2018-12-01	4
3	2018-12-01	4
4	2018-12-01	4

日付から曜日を抽出します。

data['issue_dt_dayofweek'] = data['issue_dt'].dt.dayofweek
data[['issue_dt', 'issue_dt_dayofweek']].head()
Output: issue_dt	issue_dt_dayofweek
0	2018-12-01	5
1	2018-12-01	5
2	2018-12-01	5
3	2018-12-01	5
4	2018-12-01	5

日付から平日の名前を抽出します。

data['issue_dt_dayofweek'] = data['issue_dt'].dt.weekday_name
data[['issue_dt', 'issue_dt_dayofweek']].head()
Output: issue_dt	issue_dt_dayofweek
0	2018-12-01	Saturday
1	2018-12-01	Saturday
2	2018-12-01	Saturday
3	2018-12-01	Saturday
4	2018-12-01	Saturday

したがって、これらは日付と時刻のほんの数例であり、さらに詳しく調べることができます。 このようなことは、常にデータの品質を向上させるのに役立ちます。

エンドノート

この記事では、データセットのいくつかのコード例を使用して、機能エンジニアリングについて詳しく説明しようとしました。 機能エンジニアリングは、モデルをより正確で効果的にするのに非常に役立ちます。 次のステップとして、理解を深めるために、他のいくつかのデータセットで上記で説明した手法を試してください。 この記事がお役に立てば幸いです。 接続しましょう LinkedIn.

ここに到達したら読んでくれてありがとう:)。

ハッピーコーディング!

画像ソース-

  1. 画像1https://onlinecoursebay.com/
  2. 画像2https://www.forbes.com/

Pythonでの再帰に関するこの記事に示されているメディアは、Analytics Vidhyaが所有しておらず、作成者の裁量で使用されています。

PlatoAi。 Web3の再考。 増幅されたデータインテリジェンス。
アクセスするには、ここをクリックしてください。

出典:https://www.analyticsvidhya.com/blog/2021/09/complete-guide-to-feature-engineering-zero-to-hero/

続きを読む
エスポート5日前

NBA2K22ゲームクエストの説明

エスポート4日前

ポケットモンスターブリリアントダイヤモンド、シャイニングパールの韓国での予約注文でシャイニーザシアンとザマゼンタのプロモーションが発表されました

エスポート5日前

同社のすべてのデスクトップタイトルをXNUMXつのハブに収めた新しいクライアントを立ち上げるための暴動、ロールアウトは来週開始

エスポート4日前

Deltaruneのダウンロード方法第2章

エスポート4日前

Deltaruneの第2章の保存ファイルを第XNUMX章に転送する方法

エスポート5日前

NBA2K22次世代で密かにパッチされたジムラットバッジメソッド

エスポート4日前

ファイナルファンタジーXIVでレリックレジスタンスウェポンを入手する最速の方法| スペアパーツ、ストーリーを教えて、思い出を

エスポート3日前

NBA2K22無制限のスポットアップとシェフバッジの説明

エスポート5日前

新しいワイルドエリアイベントは、光沢のあるソルロックとルナトーンが主演するポケモンソードアンドシールドで始まります

エスポート5日前

ラントのデスループ:それはなんですか?

Blockchain5日前

CryptoのネットワークコラボレーションはWeb3.0を推進します

サイバーセキュリティ3日前

KrebsonSecurityは、TTECがランサムウェア攻撃に見舞われたと報告しました

エスポート5日前

エボリューションイベントの開始後、接続の問題を修正するために、Apexのサーバー容量を「急上昇」させます。

エスポート3日前

NBA 2K22 Next Genのオールドジムとは何ですか?

エスポート3日前

ArcSystemWorksは、Guilty GearStriveを唯一の特集タイトルとしてArcRevo2021のスケジュールを発表しました

IOT3日前

IoTがeコマース業界のいくつかの分野にどのように革命をもたらしたか

エスポート3日前

スクエアエニックスがプロデューサーからのファイナルファンタジーXIVレターでエンドウォーカーのタイトル画面を公開

AR / VR2日前

VRジョブハブ:First Contact Entertainment、SyncVR Medical、University of Westminster

エスポート2日前

クラッシュロワイヤルリーグワールドファイナル2021は、1,020,000月に$ XNUMXの賞金プールで開催されます。

エスポート5日前

ハースストーンパッチ21.3でバランス変更の新しいラウンドが来ています

トレンド