生成AIエンジニアLab

生成AIの最新技術を、ハンズオンで解き明かす実践ラボです。
次の一歩を描きながらAI時代のキャリアを模索する羅針盤を目指します。

カテゴリ: Pythonで機械学習

機械学習界隈で、最強アルゴリズムの一角を占めていたランダムフォレスト。ディープラーニングが登場した後急速に存在感をなくすものの、その利便性と強力さから多くのデータサイエンティストが現役利用中。

scikit-learnでのランダムフォレスト、分類モデルと重要度評価の実装方法まとめました。

決定木の問題点

決定木は、上から順に条件分岐を作って分類モデルを作る手法です。ルールが可視化できる、正規化や標準化などのデータ加工が不要など、素晴らしいアルゴリズムです。
しかし、決定木は過学習を起こしやすいという問題点がありました。

前の記事:Pythonの決定木分析できのこ派とたけのこ派を予測する続きを読む

WSL2のUbuntuで独自の証明書を登録する方法をまとめました。

WSL2のインストール

WSL2は、Widows上でLinuxを動作させるための実行環境です。Windows Subsystem for Linux 2の略称になります。WSL1もありますが、基本はWSL2を選んでおけば大丈夫です。

インストール方法は、PowerShellを管理者として実行し、以下のコマンドを叩くだけです。
wsl --install

後は、PCを再起動し、ユーザ名とパスワードを設定すれば完了です。

続きを読む

SQLiteの環境構築から使い方までを解説します。

RDBMSとは

RDBMSは、リレーショナルデータベース管理システム (Relational Database Management System) の略称です。リレーショナルデータベースを管理するためのソフトウェアのことを指します。代表的なRDBMSには、Oracle Database、MySQL、PostgreSQL、SQLiteなどがあります。

RDBMSの特徴は以下になります。
1. データを表形式で管理し、テーブル間の関連性(リレーション)を定義できる。
2. SQL言語を使用してデータの操作や検索が行える。
3. データの整合性を保つために、トランザクション管理機能やACID特性(原子性、一貫性、独立性、耐久性)を備えている。
4. データの同時アクセスを制御し、不整合を防ぐためのロック機構を持つ。
5. バックアップやリカバリ機能により、データの安全性と可用性を確保できる。

続きを読む

これからAzureの環境構築する人に向けて、Azure独自のネットワーク関連の用語をまとめました。

分類 サービス名 説明
仮想ネットワークの基本コンポーネント 仮想ネットワーク(Vnet) Azure 上で論理的に分離されたネットワーク環境。主に、仮想マシン同士の通信で利用。Azure Portalで、「アドレス空間」と「サブネット」を定義する。また、内部的に DHCP サーバーやサブネット間の自動的なルーティング機能を保持。
サブネット 仮想ネットワークを小さなセグメントに分割し、ネットワークの構成を管理しやすくします。
ネットワークインターフェース(NIC) プライベートIPアドレスとパブリックIPアドレスの両方を仮想マシンに割り当てる。
仮想マシン どの仮想ネットワーク、どのサブネットに配置するかを設定する。
IP アドレス パブリックIPアドレス インターネットから直接アクセスできる IP アドレス。
プライベートIPアドレス 仮想ネットワーク内でのみ使用される IP アドレス。
ネットワークセキュリティ ネットワークセキュリティグループ(NSG) Azureの仮想ネットワーク上のファイアウォール。仮想マシンのネットワークインターフェースや仮想ネットワークのサブネットに適用し、IPアドレス・Service Tagの送受信の制御、トラフィックの許可や拒否といったルールを設定する。
外部接続 Private Link グローバル IP アドレスを使わずに、プライベートエンドポイントに割り当てられたプライベート IP アドレスを経由して、仮想ネットワークから Azure PaaSにアクセスする。
プライベートエンドポイント 仮想ネットワーク内のAzure PaaSのプライベート IP アドレスに接続するネットワークインターフェース。
サービスエンドポイント プライベート IP アドレスのままで Azure PaaSのパブリック IP アドレスに接続するネットワークインターフェース。
DNS プライベートDNSゾーン 仮想ネットワーク内の名前解決サービス。
続きを読む

Universal Sentence Encoderは、文をベクトル化する手法です。

Googleの研究者達が開発したもので、2018年にTensorflow Hubで公開されました。
多言語に対応しているところが特徴で、日本語と英語で同じ意味なら、ほぼ同じベクトルに変換してくれます。
また、文中の単語の意味や語順を考慮した文章ベクトルを、ニューラルネットワークによるend-to-endな学習で獲得できるので、意味を解釈したベクトルに変換可能です。

関連記事:Python(gensim)と日本語Word2Vecで単語ベクトル可視化

続きを読む

↑このページのトップヘ