性格・適性に基づくキャリア推薦

AI/ML

概要

本リポジトリは、OCEAN(外向性・協調性・誠実性・情緒安定性・開放性)などの性格特性と複数の適性スコアを入力に、個人に適した職業を推薦することを目的とした学習実践プロジェクトです。Jupyter Notebook(Career_Prediction.ipynb)を用いてデータの読み込み、前処理、探索的データ分析(EDA)を行い、機械学習によるキャリア予測の可能性を検討しています。しかしデータセット(careerFixed.csv)を調査した結果、ほとんどの職業ラベルがサンプル1件しかなく、クラス不均衡とデータ不足により有意な教師あり学習モデルの学習は現実的でない、という結論に至っています。READMEには問題点の整理と今後の改善案が記載されています。

GitHub

リポジトリの統計情報

  • スター数: 7
  • フォーク数: 0
  • ウォッチャー数: 7
  • コミット数: 4
  • ファイル数: 6
  • メインの言語: Jupyter Notebook

主な特徴

  • OCEANモデルに基づく性格特性と適性スコアを使用したキャリア推薦の試作
  • Jupyter Notebookによる探索的データ分析と問題点の可視化
  • データの深刻なクラス不均衡(多くの職業がサンプル1件)を発見・報告
  • CSVデータ(careerFixed.csv)と簡潔なREADMEで構成された学習向けリポジトリ

技術的なポイント

ノートブックはまずデータ読み込みと基本的な前処理(欠損値確認・型チェック・ラベルの確認)から始まり、OCEAN各項目と適性スコアの分布確認、職業ラベルごとのサンプル数集計と可視化を行うワークフローを踏襲しています。主要な技術的発見は、クラス分布の偏りとサンプル不足により通常の多クラス分類器(例えばロジスティック回帰やツリーベースのモデル)を適用しても汎化可能なモデルが得られない点です。これを受け、ノートブックでは教師あり学習以外の選択肢(クラスタリングや距離ベースの類似度推薦、ルールベースのマッピング)や、データ収集・ラベル統合の重要性を解説しています。実運用に向けた改善策としては、各職業あたりのサンプルを増やす、職業ラベルを階層化して上位カテゴリで学習する、データ拡張と合成データの慎重な活用、SMOTEなどのオーバーサンプリング手法の検討、あるいはカスタム距離関数を用いた類似度推薦システムへの切替が挙げられます。さらに、特徴量エンジニアリング(性格特性の相互作用、標準化・正規化)、次元削減(PCAやt-SNEでの可視化)やモデル評価指標の適切な選定(トップ-K精度やランキング指標)も重要です。これらはノートブック上での実験設計の基礎として示唆されており、実務的には追加データと専門家知見の統合が鍵になります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • Career_Prediction.ipynb: file
  • LICENSE: file
  • README.md: file
  • banner.png: file
  • careerFixed.csv: file

…他 1 ファイル

まとめ

データ不足が主因で現状は教師ありモデル構築が困難、改善の余地が大きいプロトタイプです。

リポジトリ情報:

READMEの抜粋:

Career Recommendation Based on Personality and Aptitude Traits

Project Overview

The goal of this project was to create a machine learning solution to recommend the best career based on an individual’s personality and aptitude scores. The dataset contains OCEAN personality traits and various aptitude scores for multiple careers.

Key Finding

Upon exploring the dataset, we discovered that most careers have only one sample, making it impossible to train a meaningful ML model.

##…