タグ

ブックマーク / qiita.com (339)

  • 2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita

    はじめに Pythonのデータ解析エコシステムは日々進化を続けています。2024年現在、効率的なデータ処理、直感的な可視化、高度な機械学習の自動化など、様々な新しいツールが登場しています。記事では、最新のPythonデータ解析ライブラリを紹介し、それぞれの特徴や使用例、実際のユースケース、そして導入方法まで詳しく解説します。 1. データ操作ライブラリ 1.1 Polars: 高速データ処理の新標準 Polarsは、Rustで実装された高速なデータ操作ライブラリです。pandasに似たAPIを持ちながら、大規模データセットでより高速に動作します。 特徴: 高速な処理速度 メモリ効率が良い pandasに似たAPI 使用例: import pandas as pd # サンプルデータを作成 data = { "age": [25, 32, 28, 35, 40, 50], "categor

    2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita
  • Kaggleコンペでトップ4%になった簡単ベイズ最適化 - Qiita

    参加したコンペについて 参加したのはこちらのSwagコンペです。 GDPや両親の学位など対象とする学生の周辺データからその学生の卒業、退学、その他の3つに分類するという課題です。 Swagは賞金がありませんが、Kaggleがホストするコンペで、この時は世界から2800人程度が参加しました。開催期間は1か月です。 私の順位は 107位 / 2684位 でした。 過学習を防ぐような工夫もしたので最後にグッと順位が上がりました。 SKF + LightGBM + BayesSearchCV 今回使ったモデルの構築方法はとてもコンパクトでお気に入りです。 コードは次の通りです。前処理が終わりモデルをつくる段階を想定してください。 from sklearn.model_selection import RepeatedStratifiedKFold from sklearn.metrics impo

    Kaggleコンペでトップ4%になった簡単ベイズ最適化 - Qiita
  • 日本語LLMでLLaVAの学習を行ってみた - Qiita

    はじめに 記事はLLM Advent Calendar 2023 2日目の記事になります。 最近、様々なLLMが発表されたことによりローカルLLM界隈では自作データセットを作成して自分好みのLLMを作成するなど日語LLM界隈は盛り上がりを見せています。 一方、マルチモーダルなLLMとして画像を組み合わせたものに関してはTuring、Stability AI、Rinnaなどの企業ではモデルを公開していますが、個人で行われている方は少ないという印象があります。 そこで今回はLLaVAと同じ方法で日語LLMを学習させて、個人でマルチモーダルなLLMの学習を行ってみました。個人で学習できる範疇ということで学習はRTX4090 1台で行っています。 学習に使用したコードは以下で公開しています。 モデルは以下で公開しています。 事前学習に使用した日語翻訳データセットは以下で公開しています。 L

    日本語LLMでLLaVAの学習を行ってみた - Qiita
  • DisplayPortの切断を回避するアダプター - Qiita

    はじめに 4K液晶が普及しだしているともあり、DisplayPortは広く使われるようになってきました。 HDMI2.0を搭載している液晶ディスプレイが少ないということもあり、特に4K環境下では多くの方が使われているのではないでしょうか。 ところが、DisplayPortには液晶電源断時の仕様が他の規格とは異なるため、いくつかの問題を生じさせます。 問題 実際の問題として次のようなケースが起きています。 スリープ復帰時にすべてのウィンドウが左上に集合する。 スリープ復帰時にデスクトップのアイコンが想定外の場所に移動する。 スリープ復帰時にDirect Xを使用しているアプリが落ちる。 などなど... すでに周知の事実ですが、これの原因はDisplayPortのPlug and Playの仕様にあるとされています。 仕様として、ディスプレイの電源がオフにされた場合、ホットプラグ信号をオフにす

    DisplayPortの切断を回避するアダプター - Qiita
  • daisyUI を SvelteKit アプリに導入して、よくある画面構成を作成してみた - Qiita

    はじめに Twitter を眺めてたら daisyUI なるUIライブラリを激押し(?)している投稿を見かけました。 気になって調べてみたら良さそうな感じだったので SvelteKit アプリに導入して使い勝手を調べてみました。 daisyUI とは daisyUI は、CSS フレームワークである Tailwind をベースにしており、 Tailwind よりもよりシンプルな記述でコンポーネントを構築できます。もちろん、Tailwind のクラス名を再利用することができます。 例えばこんな感じです。(※ホームページ から抜粋) 左が Tailwind、右が daisyUI です。明らかに daisyUI の方がコード量が少ないです。 JavaScript を使っていないため、(import や変数宣言が不要なので)サンプルコードをコピー&ペーストして利用しやすいのも特徴です。 daisy

    daisyUI を SvelteKit アプリに導入して、よくある画面構成を作成してみた - Qiita
  • Cloudflare とGmail で独自ドメインのメールを無料で送受信する方法【Cloudflare Email Routing】 - Qiita

    Cloudflare とGmail で独自ドメインのメールを無料で送受信する方法【Cloudflare Email Routing】GmailemailcloudflareEmailRouting みなさん、こんにちは。 今回はCloudflareEmail Routing という機能とGmail を掛け合わせて、独自ドメインを使ったメールを送受信する方法を最近知ったので、書き記します。 Cloudflare とGmail を通常利用しているだけなので費用は全くかかりません。 ドメインの維持にはもちろん掛かりますが。 事前準備 この作業を行うにあたって、以下の準備が必要です。 Gmail で使用するGoogle アカウントの二段階認証の有効化 Cloudflare に使用するドメインの追加 二段階認証はGoogle アカウントから行えます。 この作業をしていないと、後に使用するアプリパ

    Cloudflare とGmail で独自ドメインのメールを無料で送受信する方法【Cloudflare Email Routing】 - Qiita
  • QNAPにメールサーバーをインストールする - Qiita

    QNAPにメールサーバーがないので、Container Stationを使って入れることにする。 やりたいこと 個人のQNAPにメールサーバーを入れてやりたいことって、だいたいこの3つなんじゃないかなと思う。 dovecot(+sieve) : IMAPサーバー postfix : ローカルのSMTPサーバー。もらったメールはLMTPでdovecotに渡す。 getmail : 他のアカウントのメールをとってきて集約する spamassassinもあっていいけど後回し。 なぜ世の中のメールサービスを使わないでわざわざ自分のサーバーに立てるのか そこにサーバーがあるから。 dockerイメージを作ってみる 既に世の中にあるような気もするけど、探すのも面倒なので自分でDockerfileを作る。 最初は 最初はお約束のいろいろ。メールの中身などは後でQNAPの共有フォルダーにマウントする。マウ

    QNAPにメールサーバーをインストールする - Qiita
  • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

    Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1

    なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita
    mole-studio
    mole-studio 2024/05/17
    先に哲学に準じた原理主義があり当然それに基づいているはずだと確信してやまない精神構造が気になる。逆だよね
  • なぜ人は努力が続かないのか? - Qiita

    はじめに 仕事以外の時間も勉強しないといけないとわかっていてもなかなかモチベーションがわかない エンジニアは移り変わりの激しい技術を追っていかないといけない仕事なので、就職する前に「仕事終わりも休日も勉強しないといけない」そう聞いてエンジニアになった人も多いかと思います。 私もプログラミングの勉強を始めた頃には、楽しいと思って色々勉強を続けていましたがいつしか仕事終わりに勉強したり、休日に勉強することができなくなりました。 周りには自分よりももっとできる人がたくさんいて、少し勉強したところで給料が上がるわけでもなく、現状が変わるような気分もなくモチベーションは全く上がりませんでした。 勉強をしようとしてもすぐに成長を実感できるわけでなく、勉強を続けてもそれがものすごく身についたという感覚も少なかったです。 しかし、とあるタイミングでプログラミングを継続的にできるようなきっかけがあり、そこか

    なぜ人は努力が続かないのか? - Qiita
    mole-studio
    mole-studio 2024/05/15
    最後まで読めなかったのは俺の努力が足りない可能性がある
  • t-SNEより強いUMAPを(工学的に)理解したい - Qiita

    あなたはUMAPを知っていますか? わたしは知っています。 聞いたことあるけど知らない人は、この記事でなんとなく理解しましょう。 UMAPとは t-SNEよりも高速・高性能に次元削減・可視化する手法である。よく使われる t-SNE と比較してみよう。以下の図は Fashion MNIST の可視化である。 (Understanding UMAP より) t-SNE に比べて、UMAP ではクラスタが明確に分かれているように見える。また似たカテゴリどうしは近くに、似ていないカテゴリどうしは遠くに配置されている。(Understanding UMAPの解説に可視化の例が豊富にあるので詳しくはそちらを見てほしい。上の3Dの図をぐりぐり回して見れるので) UMAPは埋め込み次元数によらず、実行時間がほとんど一定である。t-SNE のように埋め込み次元が増えても指数関数的に実行時間が増えることはない

    t-SNEより強いUMAPを(工学的に)理解したい - Qiita
  • 金子勇さんのED法を実装してMNISTを学習させてみた - Qiita

    追記:続きを書きました。 はじめに 先日以下の記事が投稿され、その斬新な考え方に個人的ながら衝撃を受けました。 内容をざっくり言うと、ニューラルネットワークの学習を現在の主流であるBP法(誤差逆伝播法)ではなく、ED法(誤差拡散法)という新しい学習手法を提案しているものです。 もし記事の内容が当ならニューラルネットワークの学習がO(1)でできてしまう事になり、まさしく革命が起きてしまいます。 (結論からいうと速度面はそこまででもなかったです(それでも早くなる可能性あり)) (ただこの新手法のポテンシャルは革命を起こす可能性は秘めているといっても過言ではありません) ED法に関してネットを探すとインターネットアーカイブに情報が少し残っていました。 このページですがED法のサンプルプログラム(C言語)が残っており、このサンプルプログラムをベースにpythonで書き起こしたものが記事となりま

    金子勇さんのED法を実装してMNISTを学習させてみた - Qiita
  • 【論文】自己教師あり学習「SimCLR」を理解、実装する - Qiita

    はじめに ※このブログは東京大学大学院 情報理工学研究科の授業「映像メディア学」のレポートとして書かれたものです。 深層学習ではデータとラベルを用いてモデルを学習する、所謂データドリブンな手法が用いられています。しかし膨大なデータに対してラベルを付与する作業は非常にコストがかかるため、大規模データセットの作成は非常に困難であるのが現状です。そのため近年、ラベルを用いずにモデルの事前学習を行う自己教師あり学習、特に画像処理の分野では対照学習の研究に注目が集まっています。このブログでは対照学習手法の一つであるSimCLRの論文を読み、再現実装を通して理解を深めるものとなります。 論文読み A Simple Framework for Contrastive Learning of Visual Representations [Ting Chen+ ICML20] https://arxiv.

    【論文】自己教師あり学習「SimCLR」を理解、実装する - Qiita
  • [Arch Linux] LaTeX環境を整える - Qiita

    はじめに Arch Linuxでは意外と簡単にLaTeX環境を構築できることがわかったので、TeX Wikiの該当ページを見ながら進めていきます。 インストール 公式リポジトリにあるので以下のコマンドを実行すれば一発でインストールできます。この際、一応EPS画像用にghostscriptを、PDFプレビュー用にEvinceを、PDFプレビューで日語が表示されない問題を解決するためにpoppler-dataをそれぞれ導入しておきます。 $ sudo pacman -S texlive-langjapanese texlive-most ghostscript evince poppler-data

    [Arch Linux] LaTeX環境を整える - Qiita
  • Resnet-50の精度を高める方法について(Bag of Tricks論文解説) - Qiita

    0.参考にした論文 Bag of Tricks for Image Classification with Convolutional Neural Networks 画像分類において、深層学習を用いているのですが、なかなか局所最適に陥ったり なんか精度が上がる手法って何があるんだろうと思い、 chat-GPT様に「なんかいい論文はないのか」と聞いたところ なんか良さそうな論文があった。 さまざまな手法が載っており、自分の持っているモデルに活用できそうなtickがたくさんあった。 0.1 簡潔にこの論文でやっていること BaseはRes-net50を扱っています 大変有名な論文なので、一応載せます。 冒頭では、大まかに「trick」と言っているのですが、さまざまな試行錯誤の組み合わせを総称してtrickと呼んでいます。 Res-netにはさまざまな派生系がありますが、 初学者(自分)にとっ

    Resnet-50の精度を高める方法について(Bag of Tricks論文解説) - Qiita
  • IT契約入門〜雇用契約、請負契約から準委任まで - Qiita

    この記事は? 著者は、エンジニアにとって最も大事なものの一つは契約であると考えます。なぜなら、契約によって我々はお金を得ることができ、労働対価を受け取って生きていくことができるからです。プロジェクトにおいてトラブルが発生すると、契約はメンバーを守ってくれるものになります。したがって、雇用契約、請負契約、準委任契約など何の契約であっても隅々まで確認し、不利にならないようにしないといけません。社員であれば誠実に職務に向き合う必要があります。請負契約であれば対価を得るために納品する必要がありますし、準委任契約であれば善管注意義務を背負いプロとして日々業務を行なっていく必要があります。一方で、著者は長くにわたって業務委託契約でパートナーとして参加してくださっているエンジニアたちと長らく協働してきた経験がありますが、ユーザーとしてもベンダーが妨害要素なく働けるように、協力義務を果たす必要があります

    IT契約入門〜雇用契約、請負契約から準委任まで - Qiita
  • 人生を変える最強学習メソッド、ファインマン・テクニック - Qiita

    ノーベル物理学賞を受賞したこともある偉大な科学者であり、愉快な先生でもあるリチャード・ファインマン(1918 - 1988)が推奨した学習メソッドである「ファインマンテクニック (The Feynman Technique」というのがあります。 今回はこの、知ってるだけでなく、使えるものになる学習をしたいときに最強のファインマン学習メソッドについて紹介したいと思います。 ところでまず最初に断っておきたいのは、ここでいう学習とはを読み流して何らかの概要を知っているとか、試験のために暗記したりするといったものではなありません。 学んだことを他の人に説明することができ、様々な状況でそれらを自由に活用することができるという意味においての学習です。 以下、要訳。 もし何かをほんとうの意味で学んだのであれば、それはあなたにとって残りの人生で使い続けることができる武器となります。そして、なにか新しいこ

    人生を変える最強学習メソッド、ファインマン・テクニック - Qiita
  • 【翻訳転載】時空の旅:Attentionは二乗時間RNN - Qiita

    この記事は中国NLP研究者Jianlin Su氏が運営するブログ「科学空間」で掲載された解説記事の日語訳です。 原文の掲載日は2024/3/18です。 苏剑林. (Mar. 18, 2024). 《时空之章:将Attention视为平方复杂度的RNN 》[Blog post]. Retrieved from https://kexue.fm/archives/10017 近年、線形時間の学習・推論計算量を持つRNNが、少なからずの研究者やユーザーから改めて注目され始めており、どこか「文芸復興」の様相を呈している。その代表作にRWKV、RetNet、Mambaなどが挙げられる。RNNを言語モデルとして使う際の最大の特徴は一回の生成が費やす空間・時間計算量が定数であることだ。系列全体でみると、定数の空間計算量と線形な時間計算量を持つことになる。もちろん、どんな物事にも両面性がある。Atte

    【翻訳転載】時空の旅:Attentionは二乗時間RNN - Qiita
  • TCP/IP構造と通信 - Qiita

    OSIとTCP/IP構造 OSI参照モデルとTCP/IPプロトコルスタックの対応関係を示しています。 OSIモデルはデータ通信のための抽象的なモデルで、7つの階層(レイヤー)から成り立っています。 一方、TCP/IPプロトコルスタックはインターネットで実際に使用されているプロトコルの集まりで、4つの階層から構成されています。 TCP/IPの4層構造 アプリケーション層:OSIモデルのアプリケーション層、プレゼンテーション層、セッション層に相当します。HTTP、FTP、SMTPなどのプロトコルが含まれます。 トランスポート層:OSIモデルのトランスポート層に相当します。TCPやUDPがこの層で動作します。 インターネット層:OSIモデルのネットワーク層に相当します。IPプロトコルがこの層で主に使用されます。 ネットワークインターフェース層:OSIモデルのデータリンク層と物理層に相当します。E

    TCP/IP構造と通信 - Qiita
  • RAGの実装戦略まとめ - Qiita

    それでは以下、簡単なデモを含めながら個別に説明していきます。 1. ハイブリッドサーチ こちらは、性質の異なる複数の検索方式(例えばベクトル検索とキーワード検索)を組み合わせて検索精度を向上させる手法になります。 各検索方式単体の場合に比べ、性質の異なる検索方式を組み合わせ、ある種いいとこ取りをする事で、検索性能の向上が期待できます。 今回はBM25でのキーワードベースの類似度検索と通常のベクトル検索を組み合わせていきます。 BM25について簡単に説明しておくと、文脈や文章構造は完全に無視した上で、文書内の単語を全てバラバラに分割し、文書内の各単語の出現頻度と文書間におけるレア度を加味した特徴量を算出します。 つまり、特定の文書内の各単語の数をカウントしてヒストグラムを作れば、似たような文書には同じような単語がよく出るはずなので(同じようなヒストグラムの形になるので)、類似度が高くなる性質

    RAGの実装戦略まとめ - Qiita
  • 半角スペースを表示したいなら ではなくwhite-space: pre;を使いましょうという話 - Qiita

    はじめに 連続する複数の半角スペースは1つにまとめられたり、先頭末尾の半角スペースは省略される これははじめてHTMLに触れた人が戸惑う部分だと思います。 ではその半角スペース分の空白をどのようにして表示すればいいのかと調べれば、 などの特殊文字を紹介する記事が数多くヒットします。 HTMLでの半角スペースは なんだと強引に表現するサイトもありますが、半角スペースと が異なることは調べればすぐわかります。 もう文字コードから違います。 半角スペースと は別物なのに、半角スペースを表示するために を使っていいのでしょうか? 答えはNoだと思います。 結論 半角スペースを半角スペースとして表示するにはwhite-space: pre;を使います。 preはおそらくpre要素のpreですね。 white-spaceはCSSプロパティです。 つまり

    半角スペースを表示したいなら ではなくwhite-space: pre;を使いましょうという話 - Qiita
    mole-studio
    mole-studio 2024/03/18
    十年遅え