タグ

グラフに関するMarukosuのブックマーク (22)

  • オンボーディング改善に機械学習を活用する〜Graph Embedding(node2vec)による推薦アイテム計算〜 - コネヒト開発者ブログ

    みなさんこんにちは。MLチームのたかぱい(@takapy0210)です。 日は、コネヒトの運営するママリのオンボーディング改善に機械学習を活用した事例のパート2をお話をしようと思います。 パート1については以下エントリをご覧ください(取り組んだ背景なども以下のブログに記載しています) tech.connehito.com (おさらい) 今回実施しているオンボーディング改善には大きく分けて以下2つのステップがあります。 ステップ1:興味選択にどのようなトピックを掲示したら良いか?(前回のブログ参照) ステップ2:興味選択したトピックに関連するアイテムをどのように計算(推薦)するか? エントリでは主にステップ2の内容についてお話しできればと思います。 (※記事で添付している画像に関しては、開発環境のデータとなっています) 目次 はじめに ルールベースの推薦 ルールベースの課題 機械学習

    オンボーディング改善に機械学習を活用する〜Graph Embedding(node2vec)による推薦アイテム計算〜 - コネヒト開発者ブログ
  • Graph Embeddings Summary - Qiita

    Graph Embeddings - The Summary グラフは現実世界の様々なアプリケーションで使われています。ソーシャルネットワークは相互にフォローし合う人々で構成された巨大なグラフであり、生物学者はタンパク質の相互作用をグラフとして扱いますし、コミュニケーションネットワークもグラフそのものです。テキストマイニングにおける単語の共起ネットワークもグラフとして扱います。グラフ上での機械学習への関心も高まってきています。ソーシャルメディアでは友達予測をしようとする一方、生物学者はタンパク質を機能レベルでの予測を試みています。グラフ上での数学的・統計的操作は難しく、グラフへの機械学習手法の直接的な適用は困難です。この状況で、埋め込みは合理的な解決策となります。 グラフ埋め込みとは何か? グラフ埋め込みとは、プロパティグラフをベクトル空間に落とし込むことです。埋め込みは、グラフのトポロジ

    Graph Embeddings Summary - Qiita
  • グラフ最適化をマスターしよう! - Qiita

    はじめに グラフ最適化(Graph Optimization)は、パラメータをグラフ構造で表現し、最適化問題を解決する手法です。特にロボティクスなどの領域で広く活用されています。 以下に、グラフ最適化の応用例をいくつか挙げます。 Visual SLAMやSFMのバンドル調整(Bundle Adjustment)問題 Graph SLAMのループクロージング問題 経路計画問題(TEB, ebandなど) 実際のアプリケーションでは、ceresやgtsam、g2oなどのグラフ最適化ライブラリを利用することで、グラフ最適化問題を解決することができます。しかし、グラフ最適化の内部原理を理解していないと、性能の向上や課題の解決が困難になることが多いです。 筆者自身は、グラフ最適化の理解を深めるため、独自のグラフ最適化ライブラリをPythonで実装したことがあります。g2oなどの大規模なOSSと比較し

    グラフ最適化をマスターしよう! - Qiita
  • Data Visualisation for UXUI Design

  • グラフが論理的思考力を高める

    図1 リンクの種類(意味的関係) 文と文の間の関係などはISO(国際標準化機構)の国際標準になっており、図の意味的関係の集合はそれらの国際標準を参考にして策定したもの。こうした関係の集合は言語に依存しないと考えられる。 従って、テキストの代わりにグラフを正式の文書として作成・編集・活用すれば、教育や業務、研究における文書処理(文書の作成・編集・活用)の効率が高まるはずです。さらに、グラフ作成者の批判的思考力が高まるため、文書処理に限らないさまざまな場面で知的生産性が向上すると考えられます。 テキストよりもグラフの方が文書処理の効率が高いのも、グラフを作成すると批判的思考力が高まるのも、グラフが論理的な構造を明示的に表現し、操作を容易にしているからだと考えられます。セマンティックエディタは、論理的な構造の操作をさらに容易にすることで、グラフのこのようなメリットを増大させると期待されます。 し

    グラフが論理的思考力を高める
  • Pythonでネットワークグラフを描くならNetworkx + Plotlyが便利! | 子育て×エンジニアの超自由研究ブログ

    How to make Network Graphs in Python with Plotly. One examples of a network graph with NetworkX ここでは、例として以下の3ノードのネットワークグラフをNetworkxで定義します。 import networkx as nx G = nx.Graph() G.add_node(1) G.add_node(2) G.add_node(3) G.add_edge(1, 2) G.add_edge(2, 3) G.add_edge(1, 3)このネットワークグラフを、以下の図のように自動で瞬時に可視化することが目標です! まず、注意してほしいのはPlotlyには直接ネットワークグラフを描写するメソッドは用意されていません。なので、以下のように、ネットワークグラフをノードとエッジの二つに分けて、後で重ね

    Pythonでネットワークグラフを描くならNetworkx + Plotlyが便利! | 子育て×エンジニアの超自由研究ブログ
  • 因果推論とグラフ理論 - エクサウィザーズ Engineer Blog

    こんにちは。数理最適化ギルドでエンジニアをしている加藤です。 ある自社プロダクトの開発を通じて因果推論について勉強する機会がありました。因果推論は統計の分野ですが、その中で数理最適化技術が使えることを知り、とても面白かったのでその内容をシェアしようと思います。具体的には組合せ最適化問題のひとつである最小カット問題が、因果推論のタスクの一部である識別可能性に利用できるという話をします。 前半は因果推論についての概説で特に予備知識は仮定していないです。後半は計算時間やネットワークフローなどのアルゴリズムを知っていると読みやすいと思います。 因果推論とは 因果推論の目的 統計的因果推論とは事象の間の因果効果を実験データや観測データから推定することを目的とした統計学の一分野です。単に因果推論といった場合は統計的因果推論を含むより広い概念を指すことがありますが、簡単のため以下では因果推論といえば統

    因果推論とグラフ理論 - エクサウィザーズ Engineer Blog
  • GitHub - davidgutierrezpalma/quickgraph4unity: A port of the QuickGraph library to make it work on Unity game engine.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - davidgutierrezpalma/quickgraph4unity: A port of the QuickGraph library to make it work on Unity game engine.
  • はじめての自然言語処理 OSS によるテキストマイニング | オブジェクトの広場

    前回はグラフベースのキーフレーズ抽出手法と pke での実験結果を紹介しました。今回は、spaCy, scattertext, ... 等々の OSS を用い各種のテキストマイニング手法についてコード例とサンプルプロットを交えながら説明したいと思います。 1. はじめに 記事ではテキストマイニングの概要と代表的な手法について、コード例とサンプルプロットを交えて説明します。分析対象には、この連載で何度か用いている livedoor ニュースコーパスを用い、Google Colaboratory で動かすことを想定したコードスニペットを入れていきますので、実際に動かしたり対象を変えてみたりして試して頂けると良いかと思います。 2. テキストマイニングとは テキストマイニングとは、ざっくり言うと「自然言語の文書データを対象に使用される単語の出現傾向等を分析して何らかの有益な情報を取り出すこと」

    はじめての自然言語処理 OSS によるテキストマイニング | オブジェクトの広場
  • 競技プログラミングで使う有名グラフアルゴリズムまとめ

    0. はじめに AtCoderなどでは、グラフを扱った問題が多く出るが、その度に一から実装していると時間が掛かりすぎてしまうため、有名なものをあらかじめ持っておく必要がありそう。そこで、Pythonを用いて、ダイクストラ法、ベルマンフォード法、プリム法、クラスカル法、ワーシャルフロイド法を実装した。 コメント、意見等ある方は是非! お待ちしてます! 1. ダイクストラ法 1.1. ダイクストラ法(defaultdictで実装) defaultdictで実装すると、リストで実装するよりも、ノード数$N$が大きい際には高速に動作する。ただし、経路復元の関数は、うまく書けなかった......。 (2019/7/6 追記)結局できました。1.1.1. を参照してください。 import collections import heapq class Dijkstra: def __init__(se

    競技プログラミングで使う有名グラフアルゴリズムまとめ
  • Medusa123 : Slot Online Resmi Ilmu Tanam Ratu Medusa 123 Mudah Jackpot Sikat Mennn

    Medusa123 : Slot Online Resmi Ilmu Tanam Ratu Medusa 123 Mudah Jackpot Sikat Mennn Medusa123 adalah penyedia slot online paling jumawa dan pastinya gampang maxwinnya mennnn. Terkenal sejak jaman nenek moyang kita, menjadikan Medusa 123 mempunyai reputasi dan tingkat kemenangan yang sangat tinggi mencapai langit ke tujuh. Medusa123 Slot memberikan kemenangan tinggi secara cuma cuma tanpa syarat tan

    Medusa123 : Slot Online Resmi Ilmu Tanam Ratu Medusa 123 Mudah Jackpot Sikat Mennn
  • 改訂版: プログラマーが効果的な可視化を作成する (前編) - Qiita

    改訂版について (5/7/2019公開) この記事は、私がこちらに公開したもの中では最も読まれているようです。そこで、執筆後に気づいたこと、古くなった情報、新しい技術動向などを考慮に入れて改訂をしました。主な変更点は以下の通りです: 新しいセクションの追加 最近のの紹介 細かな表現の修正 この記事は複数のセクションに分かれていますので、前編から始め、順番にアップデートして行きたいと思います。何かお気付きの点などありましたら、コメント欄、もしくはkonoアットマークucsd.eduにお願いいたします。 はじめに この記事は、可視化の専門家ではない人がコンピュータを使ってデータ可視化を実際に行う場合に必要な、一般的なノウハウをお伝えするシリーズの第一回です。 前編: 効果的なデータ可視化とはどのようなものか? (稿) 中編: 分かりにくい可視化を避けるための手法の選択 後編: Part 1

    改訂版: プログラマーが効果的な可視化を作成する (前編) - Qiita
  • 折れ線グラフや円グラフを英語で説明するのに使えるフレーズ集 | Kaplan International

    学校の発表やビジネスシーンのプレゼンで資料にグラフがあるとき、英語でうまく説明することはできますか?棒グラフや折れ線グラフ、円グラフなど、グラフにはさまざまな種類がありますが、決まった単語やフレーズさえ覚えておけば、簡単に説明できるようになります。 ここでは、英語でプレゼンをする予定がある人向けに、グラフの説明で使える英単語やフレーズをご紹介します。 ||目次|| 1. グラフの説明に使える基的なフレーズ 2. 折れ線グラフを英語で説明するときのフレーズ 3. 棒グラフ・円グラフを英語で説明するときのフレーズ 4. 定型フレーズを覚えれば、グラフの説明は簡単! グラフの説明に使える基的なフレーズ 英語でプレゼンを行うとき、グラフの説明に使える基的なフレーズを見ていきましょう。ここでご紹介するフレーズだけでもメッセージは十分に伝わります。 ● Please look at ~./Ple

  • Javaのグラフ構造・アルゴリズムライブラリ「JGraphT」の使い方

    グラフ理論の文脈におけるグラフとは、頂点と辺によって構成されるデータ構造です。グラフで表すことのできる構造は実世界の様々な場面に存在し、またプログラミング上で必要(有用)となる場面も多くあります。 一方でグラフをソースコードで表現する場合、その構造や各種操作・アルゴリズムなどまで実装することを考えるとなかなか一苦労でもあります。 今回はJava上でグラフ構造を表現し、グラフ上のアルゴリズムまで提供するライブラリである「JGraphT」の使い方を紹介します。 JGraphTの紹介 詳しい説明は公式ページまたはGitHubを参照いただくのが一番ですが、一言で表現すればJava用のグラフ構造・アルゴリズムライブラリです。 importするだけでグラフ表現や探索、最短路計算などのアルゴリズムを使用することができます。 機能 JGraphTは様々なグラフを表現することができ、現時点(2018年9月)

  • What is a good network graph library for language X?

    I have noticed that a recurring question is: “What is a good network graph library for language X”. I have played with quite a few of the libraries and I can share my experiences with you. Python: NetworkX is a robust library which has built-in visualization but also has an interface to Graphviz using pyGraphviz. (pyGraphviz and NetworkX are written by the same author). NetworkX is open source and

    What is a good network graph library for language X?
  • グラフ理論ライブラリのJGraphTを使ってみた - kaisehのブログ

    JGraphT JGraphTは、Javaのグラフライブラリです。グラフの描画ではなく、グラフ理論のモデルとアルゴリズムの方にフォーカスしています。とても使いやすかったので、紹介してみます。 無向グラフ UndirectedGraph<String, DefaultEdge> g = new SimpleGraph<String, DefaultEdge>( DefaultEdge.class); g.addVertex("a"); g.addVertex("b"); g.addVertex("c"); g.addEdge("a", "b"); g.addEdge("b", "c"); System.out.println(g.vertexSet()); System.out.println(g.edgeSet()); System.out.println(g.edgesOf("c"));

    グラフ理論ライブラリのJGraphTを使ってみた - kaisehのブログ
  • グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main

    java-ja 第12回のLTで話そうと思ったのですが、出番がなかったので資料をブログで公開しておきます。 Jungは研究などでグラフ構造が出たときに、理解しやすくするために可視化するのに使っています。他にもいくつかグラフを扱うライブラリは存在していますが、日語の資料があったのと拡張可能なことが多かったのでJungを結果的に使うようになりました。 以下はそのJungについての簡単な解説です。 Jungとは Jungの正式名称はJava Universal Network/Graph Frameworkで、ネットワーク(グラフ) 構造の分析や視覚化を行うためのJavaのOSSライブラリです。グラフ理論、データマイニング、ソーシャルネットワーク分析のアルゴリズムを数多く実装しています。 安定バージョンは1.7.6で最新は2.0betaで、BSDライセンスで使用できます。 http://jun

    グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main
  • .NETグラフライブラリ QuickGraphを使う

    エントリはC# Advent Calendar 2013 9日目のエントリです。 自己紹介ですが、デンソーアイティーラボラトリというところで研究開発をやっております。スコープは車とかITSとかそれにまつわるソフトウェア全般です。 研究のためのソフトウェア環境としては珍しくC#を使っておりますが、JavaPythonよりもそういったリソースが少ないながら、質の高いライブラリが多いというのが実感です。今回はその中からQuickGraphという便利なライブラリの紹介です。かなり以前からCodePlexで公開されているので利用されている方も多いと思いますが、簡単に使えるように解説します。 QuickGraphを使おう QuickGraphとは、グラフ型のデータ構造や各種アルゴリズムを備えた、.NET用のライブラリです。CodePlexのプロジェクトとして、2003年12月から公開されていました

    .NETグラフライブラリ QuickGraphを使う
  • ネットワーク分析をもうちょっと勉強(実践編) - でたぁっ 感動と失敗の備忘録

    前回は 竹先生の資料 や WEBページ を拝見し R で行うネットワーク分析について新たに知ることができた関数、分析手法についてまとめてみた。さっそく Non-overlapping 手法を実務で実践したが早くも壁にぶちあたってしまった。実務で取り扱うデータを分析する際にはつきものだ。。。今回分析したネットワークはこんな感じ。ノード数=446、エッジ数=792、図ではエッジの矢印が見えないかもしれないが有向グラフ。(前回同様サイトスケープにくわせOrganicレイアウトで表示 ※背景色のみ白に変更) さっそくエラー多発 何も気にせずにNon-overlapping手法のコミュニティ抽出関数を実行したらエラーが多発。 > # おまじない > ls(all=T) character(0) > rm(list=ls(all=TRUE)) > > # パッケージの読み込み > library(i

    ネットワーク分析をもうちょっと勉強(実践編) - でたぁっ 感動と失敗の備忘録
  • 今すぐブラウザ上で本格的な数式やグラフまで描くことが可能なオンライン数式エディタ「Mathcha」 - GIGAZINE

    分数や関数など、格的な数学で使われる数式を描画する際には、数式に特化した組版処理システムであるLaTeXがよく使われていますが、オンライン数式エディタの「Mathcha」はLaTeXと同等の機能をブラウザからアクセスするだけで今すぐ誰でも利用することができ、しかも作成した数式や文書はネット上でシェアしたり、PDFファイルとして書き出したりすることが可能です。 Mathcha - Powerful Online Math Editor - Fast Inputting, Diagram Drawing, Easy Sharing https://www.mathcha.io/ Mathchaは格的な数式やグラフを作成し、さらにはテキストを挿入して説明文や注釈を入れることが可能なツール。この画面は英語で作成されていますが、日語を入力することも可能です。 また、以下のような図形を作ることが

    今すぐブラウザ上で本格的な数式やグラフまで描くことが可能なオンライン数式エディタ「Mathcha」 - GIGAZINE