質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Kaggle

Kaggleは、機械学習モデルを構築するコンペティションのプラットフォームおよびその運営企業を指します。企業や政府といった組織とデータサイエンティスト・機械学習エンジニアを繋げるプラットフォームであり、単純なマッチングではなくコンペティションが特徴です。

scikit-learn

scikit-learnは、Pythonで使用できるオープンソースプロジェクトの機械学習用ライブラリです。多くの機械学習アルゴリズムが実装されていますが、どのアルゴリズムも同じような書き方で利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

Q&A

1回答

647閲覧

説明変数が同じで結果変数だけが異なるデータの解析について

uttiy

総合スコア4

Kaggle

Kaggleは、機械学習モデルを構築するコンペティションのプラットフォームおよびその運営企業を指します。企業や政府といった組織とデータサイエンティスト・機械学習エンジニアを繋げるプラットフォームであり、単純なマッチングではなくコンペティションが特徴です。

scikit-learn

scikit-learnは、Pythonで使用できるオープンソースプロジェクトの機械学習用ライブラリです。多くの機械学習アルゴリズムが実装されていますが、どのアルゴリズムも同じような書き方で利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

0グッド

0クリップ

投稿2022/06/08 02:06

編集2022/07/24 16:25

Kaggle Titanic問題でデータ分析を勉強しているのですが、以下のようなケースをどう扱えば良いかわからないので教えてください。データ解析初心者なので、的外れなことを言っていたらご容赦ください。
(データ分析を始めて2週間の初心者で、scikit-learnを使って各種回帰分析やランダムフォレストなどで結果を確認しています。testデータの答えは別のサイトから探して、正解率を判定しています)

(1) 説明変数が全て同じで、結果変数だけが異なるデータ
以下は3等級(一番下)の女性の生存(Survived)のトレーニングデータです。
説明変数全てが同じで、名前だけが違うのですが、名前から民族の推測は僕にはできずで、これらを回帰分析やランダムフォレストにかけてPredictしても、Pclass=3(3等級) Sex=1(女性)の乗客の生死は、ほぼ死亡となってしまいます。(集計からPclass=3(3等級) Sex=1(女性) SibSP+Parch=0(家族人数)の生存確率は 50%)

PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked 816 817 0 3 Heininen, Miss. Wendla Maria 1 23.0 0 0 STON/O2. 3101290 7.9250 NaN 2.0 474 475 0 3 Strandberg, Miss. Ida Sofia 1 22.0 0 0 7553 9.8375 NaN 2.0 649 650 1 3 Stanley, Miss. Amy Zillah Elsie 1 23.0 0 0 CA. 2314 7.5500 NaN 2.0 376 377 1 3 Landergren, Miss. Aurora Adelia 1 22.0 0 0 C 7077 7.2500 NaN 2.0

(2) 説明変数に有意性はなく、ただその変数によって生存率が得られるケースにおいては、どのような分析を使えば良いのでしょうか? 回帰分析などでは、coef/intercept に確率的要素は反映されないので、どう反映させることができるのかと考えています。

  • 結果変数を Survived ではなく Pclass+Sex の生存率にして、回帰分析を回して、得たresult と 当該行の生存率を比較してresult が上回れば生存、なんて形で生存率を反映させる分析も試みたのですが、、、結果は散々で。

よろしくお願いします。


追加施策として、Pclass=3 で Nameに NickName がある乗船者の生存率が倍以上になるため、これを反映した回帰分析をしたところ、正解率が 78->80%になりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

このデータから得られるのはそういうこと。

というのが回答かと思います。与えられたデータから必ず欲しい結果が得られるというようなアルゴリズムや分析手法はありません。

(1)
説明変数が目的変数(結果変数と記載がありますが目的変数ですね)を説明する能力がなければ誤った結果が得られることも多々あります。
Titanicの例で言えば女性や一等室などの生存率が高い傾向があるかと思いますが、現実には偶然の要素もあったかと思います。同じ説明変数でも目的変数が異なることはあり得ます。

(2)

説明変数に有意性はなく、ただその変数によって生存率が得られるケース

が分かりませんが、説明変数から目的変数の違いが判別できないケース、のことと想定して返答します。
まともな予測値が得られるような分析方法はない、というのが回答かと思います。

追加施策として、Pclass=3 で Nameに NickName がある乗船者の生存率が倍以上になるため、これを反映した回帰分析をしたところ、正解率が 78->80%になりました。

これは良い方法と思います。Titanicで高精度の方は名前を細かく分析しているようですね。
実際の現象では説明変数が全く同じ人、出来事はあり得ないと思います。ただ得られるデータとしての説明変数には限界があるので説明変数が全く同じで異なる結果=目的変数というのはあり得ます。これであればどう分析しようが限界があります。
試されたように名前が違うのであればそこを深掘りしてみるというのはあり得ると思います。

投稿2022/07/24 07:25

aokikenichi

総合スコア2210

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問