セーターの備忘録

大学編入やIT関連の内容を記していく予定です

初めてKaggleに挑戦した話2 特徴量エンジニアリングをしてみた

「初めてKaggleに挑戦した話1」を書いた後、特徴量エンジニアリングなどをしたりしてもう少しTitanicに取り組んだのでまとめます。

精度が低く、順位も下から数えてすぐだったので、ひとまずTop50%に入ることを目標に取り組みました。

 

 

やったこと

前回からやったこととしては、

  • 特徴量エンジニアリング
    ・史実を参考にした特徴量生成
    ・似た特徴量の結合と細かすぎる特徴量の再構成
  • 特徴選択とパラメータチューニング
  • 学習結果から得られた正解ラベルを用いて学習データを追加

辺りを行いました。

学習では前回と同じくLightGBMを用いました。

 

特徴量エンジニアリング

前回の時点で使用する特徴量のパターンをいろいろ試しましたが、Accuracyはあまり高くありませんでした。そこで、史実を基にデータを分割したり結合、再構成など特徴量エンジニアリングをすることで精度向上を図りました。

史実を参考にした特徴量生成

まず当日のことを知るために、wikiタイタニック号沈没事故についてのページを読みました。すると、その中で救命ボート乗船時の状況について、

「ライトラーは左舷側のボートを担当し、マードックは右舷側のボートを担当した。一等航海士マードックと二等航海士ライトラーはそれぞれ「ウィメン・アンド・チルドレン・ファースト」について異なる解釈をした。マードックは女性と子供から乗せると解釈したが、ライトラーは女性と子供を乗せると解釈した。そのため、ライトラーは女性と子供が全員乗り込んだのを確認すると、スペースに余裕があっても救命ボートを降ろしたが、マードックは女性と子供の他にわずかだが男性も乗せた」

という記述がありました。このため、避難時、船の左舷右舷どちらに向かったかによって生存率が変化したことが考えられ、広い船内でどちら寄りに自分の客室があったかに影響されたと考えました。そして、船の客室番号は左舷と右舷でそれぞれ偶数と奇数に分かれていることも分かりました。

さらに、客室のある階層 (A~G) によって救命ボートまでの距離が異なり、特に下の方の階層である3等客室は1, 2等客室との間に障壁があるなど、階層も大きく影響していることが分かりました。

コンペで渡されている"Cabin"にはそれぞれの客室番号が書かれており、左舷よりか右舷よりかと階層が分かるようになっていました。そこで、客室番号を分割して右舷左舷情報を"RoomLorR"、階層情報を"RoomLayer"として特徴量を生成しました。このとき、"Cabin"は欠損値が多かったので、存在しないものに対しては存在しないことを示すラベルを付与しました。

それぞれ生成したデータをグラフ化すると、下のようになりました。

f:id:resweater:20180916203511p:plain

f:id:resweater:20180916203516p:plain

1枚目が"RoomLorR"、2枚目が"RoomLayer"で、オレンジ色の部分が生存者、一番右がデータの存在しなかった人です。これを見ると、まず客室番号データが無かった人の生存率が低いことが分かります。また、左舷右舷や階層によっても有意差があると言えるかは怪しいですが違いがあることが分かりました。

似た特徴量の結合と細かすぎる特徴量の再構成

SibSpとParchの結合

基から存在するデータのうち、"SibSp"及び"Parch"は

  • SibSp: 同乗している兄弟・配偶者の人数
  • Parch: 同乗している親・子供の人数

と似た内容のデータであることが分かりました。そこで、これらを「同乗している身内の人数」として一つに結合し、"SibSpParch"としました。

f:id:resweater:20180916204023p:plain

グラフ化すると、身内が1~3人いると生存率が高いことが分かりました。

AgeとFareの再構成

"Age"及び"Fare"について、それぞれ値が細かく示されていることが分かりました。

f:id:resweater:20180916202649p:plain

そこで、Ageは10歳ごと、Fareは50ごとで区切ってまとめることで、細分化されたまま学習されないようにし、それぞれ"aboutAge"、"aboutFare"としました。

 

特徴選択とパラメータチューニング

特徴選択

今回試した特徴量をすべてまとめると、下の通りです。

  • Pclass - チケットクラス
  • Sex - 性別
  • RoomLorR - 客室の左舷右舷
  • RoomLayer - 客室の階層
  • SibSpParch - 同乗している身内の人数
  • Age - 年齢
  • AboutAge - 年齢を10歳ごと区切ったもの
  • Fare - 料金
  • aboutFare - 料金を50ポンドずつ区切ったもの
  • Embarked - 出航地
  • (Title) - 上では省略した、Qiitaの記事で見かけたMr. や Ms. などで分類したもの

これらを試していくと、最終的に精度が良かったのは

  • Pclass
  • Sex
  • RoomLorR
  • Age
  • Fare
  • SibSpParch

の6つの特徴量を用いたときでした。このときのFeature importanceは下のようになりました。"RoomLorR"の寄与度は思ったより低かったです。

f:id:resweater:20180916214647p:plain

パラメータチューニング

パラメータを最適化するため、GridSearchCVを使ってパラメータチューニングを行いました。ただ、仕組みをあまり理解できておらず、手作業で調整したときの方が精度が良く、過学習などしてたわけでもないようなのでもう少し学んでいきたいです。

 

学習結果から得られた正解ラベルを用いて学習データを追加

当たり前と言えばその通りなんですが、上記の方法で学習して予測を行うことで、testデータのSurvivedに関するラベルが生成されたので、それを学習データに追加することで合計1308人分のデータを用いて学習を行い、予測をしました。

 

Accuracy

結果として、0.78947の精度を出すことができ、目標だったTop50%入りは楽々超えることができました!(2018年9月16日時点での結果です)

f:id:resweater:20180916212443p:plain

f:id:resweater:20180916212454p:plain

(画像の0.79425は間違って参考にした方のプログラムで実行してしまった方の結果です…すぐ下が0.78947なので25%辺りに入れたのかなと思います…)

 

まとめ

Top50%に入るまでやると宣言したはいいものの、51%からなかなか上がらず苦しみました…

一方で、先日言われつつも実感が湧かなかった特徴量エンジニアリングの必要性について理解でき、GridSearchCVなど様々なツールについても知ることができました。ただ、グラフ化するときの表示方法が今のやり方だと見にくいのでもう少し慣れて上手く表示できるようにしていきたいです。

次はDeep Learning系を使ってコンペに参加したい…

初めてKaggleに挑戦した話1

KaggleのTitanicコンペに取り組んだので忘れないうちに書いておきます。

 

始めた理由

元々取り組みたいと思っていましたが、一番のきっかけは先日参加したFJCTのデータサイエンスインターンです。参加した学生や企業の方もKaggleに取り組んでいる方が多く、インターン中もメンターの方から「この辺りはKaggleをやってると大切さを実感できるよ」というような話を伺ったりもしたので、インターンが終わった日の夜からモチベーションが高いうちに始めました。

ちなみに、タイトルで初めてと書いていますが、実際は少し前に一度挑戦したことがあります。以前からkaggler-jaのSlackに入っており、その中でビギナー向けに行っていたKaggler-ja In-class Competition1に取り組みました。ただ、このときはあまり取り組む余裕がなかったこともあり、一つの手法を試してみる程度でした。

 

取り組んだコンペとやったこと

コンペはチュートリアルとして有名なTitanicに取り組みました。

やったこととしては、

  • データの可視化と欠損値処理、カテゴリ変数の処理
  • Random ForestでAccuracyを出す
  • Light GBMでAccuracyを出す
  • Feature importanceの確認
  • SFSで特徴選択して再学習

辺りをやってみました。

 

データの可視化と欠損値処理

データの可視化

まず各データの上位5件の中身を確認した後、データを可視化して欠損を見てみました。

f:id:resweater:20180914050936p:plain

f:id:resweater:20180914051010p:plain

見たところCabinは欠損値が多すぎて有効なデータとして扱えそうにないので消しました。また、Name、Ticketもあまり関係なさそうなので削除しました(PassengerIDも消すつもりでしたが、1回RandomForestで結果を出してからPassengerIDを消し忘れたことに気付きました汗)。

欠損値処理

詳しく見てみると、いくつか欠損値が見られたのでその処理を行いました。欠損値が2つしかなかったEmbarkedでは最頻値を、それ以外では平均値を入れましたが、Ageは20%近い欠損があったのでもう少し考慮する必要があるのかもしれないです。

カテゴリ変数の処理

数値化されていないSex及びEmbarkedは数値化する必要があるので、scikit-learnのLabel Encoderで数値化しました。

 

Random ForestでAccuracyを出す

とりあえずRandom ForestでAccuracyを出してみました。この時はだいぶ手探りでやっていたので、特徴量はPassengerID、Pclass、Sex、SibSp、Parch、Fareで行いました。testデータの結果は0.74641となり、これをベースに取り組んでいきました。

 

LightGBMでAccuracyを出す

次に、先日のインターンでも多用したLightGBMで学習させてAccuracyを出してみました。Feature importanceで寄与度を確認して用いる特徴量を確認しながら3つほど試してみました。結果としては、

  • PassengerID、Pclass、Sex、SibSp、Parch、Fare(Random Forestと同じ)
    → 0.73684
  • Pclass、Sex、SibSp、Parch、Fare、Age
    → 0.76076
  • Pclass、Sex、SibSp、Parch、Fare、Age、Embarked
    → 0.76076

のような形になりました。

 

SFSで特徴選択してみる

最近大学の講義でSFSでの特徴選択のプログラムを作成していたので、使ってみました。ここでは、KNNで学習を行い、trainデータを分割して検証しました。

f:id:resweater:20180914054522p:plain

結果としては特徴量はPclass、Sex、Parch、Embarkedの4つのとき最適という結果になりました。ただ、精度があまり高くなかったこと、Survivedに対する特徴量ごとの相関係数を求めた結果やFeature importanceを可視化して見たときの特徴量と選択された特徴量が一致しなかったことがイマイチ理解できなかったのでその辺りをもう少し勉強したいと思います……

 

まとめ

初めてしっかりKaggleに取り組み、課題も多く残りましたが、どのように取り組んでいけばいいのかなんとなく理解することができました。なにより、今まで取り組みたくても欠損値の扱いなどが手探りすぎてなかなか出来ていませんでしたが、インターンシップを通して学んだことを生かすことでスムーズにコードを書くことができたので、データ分析そのものを楽しく取り組めました。

また、やっていく中でなぜ特徴量エンジニアリングが必要なのかも分かってきたので、次はその辺りもやっていければいいかなと思います。

FJCTのデータサイエンスインターンに参加してきました

f:id:resweater:20180910035354j:plain

 

富士通クラウドテクノロジーズ株式会社 (FJCT) のサマーインターンシップの3daysデータサイエンスコースに参加してきました。ブログなどに載せて構わないとのことだったので、適当にオブラートに包みつつ備忘録としてまとめようと思います。

 

参加した動機

 参加した主な動機として、

  • 専攻分野での経験を積みたい
  • データサイエンティストの働き方、仕事内容を知りたい

の二つがあります。

自分は機械系学部からの編入生のため、他の情報系の学生と比べてまだプログラミングなどの経験が少ないという課題があります。また、現在は機械学習を用いた研究を行っており、データサイエンティストという職種に関心を持っています。そこで、実際にデータサイエンティストとしての仕事を実践的に学べると書かれていたFJCTのインターンシップに応募しました。

データサイエンスや機械学習に関するインターンシップは多くの企業が募集していましたが、どこも倍率が高く、何社か落ちてしまったりしてなかなか決まらなかったので、選考通過の連絡を頂いたときはホッとしました(汗)

 

インターンシップ参加まで

実際にインターンシップが始まるまでに、Slackで参加者同士簡単な自己紹介を行いました(周りの学歴の高さに怯えたりしてたのは内緒)。この夏は他にも何社かインターンシップに参加しましたが、その多くで事前にSlackを用いて自己紹介をしたりしていたので、当日インターンシップへ向かう時の緊張感が和らいで良かったです。

 

インターンシップ参加期間中の話

3日間の流れとしては、主に初日にハンズオン形式でデータサイエンスについて学び、2, 3日目でチームごと課題をこなして3日目の最後にプレゼンを行うという形でした。

2日目の午後、台風の影響で2時間ほど短縮されるというトラブルがありましたが、それ以外は問題なく終えることができました(この夏いくつかインターンに参加した中で毎回台風が当たってて悲しい…)。

インターンシップの課題

このインターンシップでは、チームごとあるデータが与えられました。そのデータをクライアントから渡されたデータと仮定して利用し、カテゴリ予測を行い、予測結果を説明した上で本格的な予測プロジェクトの受注を目指すというものでした。

与えられたデータはカラム数が多く、また欠損値も多く見られ、データリークの問題も生じたため扱いが非常に難しかったです。

 学んだこと

ハンズオンの説明の中では、データを受け取ってから確認すべきことを始めとして、クライアントへ予測結果を伝えたり追加で確認をしたりしなければいけないことまで一通りの説明を受けました。

f:id:resweater:20180910055829j:plain

参加する前は技術に関する話がメインになるのかなと思っていましたが、そんなことはなく、メンターの方は「機械学習をいかに可視化して、分かりやすく説明するか」という点を非常に強調されていました。

チームとしてまとめたもの

f:id:resweater:20180910060550j:plain

自分のチームでは、最終プレゼンにおいてペルソナを設定した提案を行うことでより具体的なビジネスモデルを意識したプレゼンを行いました。メンターの方からの評価や自分たちの反省として、提案の話が大きくなりすぎて予測結果を上手く使えていないという課題が残りました。

 

インターンシップを振り返って

目標の達成

最初に示した専攻分野の経験を積むということとデータサイエンティストの仕事について知るという目標は、十分すぎるほど達成することができました。

インターンシップの内容は段々とペースが速くなり、付いていくのでギリギリな面もありましたが、付いていけないということもなく適度に苦しみながら取り組めてとても充実していました。特に、これまで扱う機会の少なかった欠損値処理について、欠損の仕方に応じた対処方法をじっくり取り組めたことは非常に勉強になりました。

また、初日と3日目の夜に懇親会があった上、インターン中もメンターの方が会話の中で業務での例や話も含めて話してくださり、FJCTでデータサイエンティストという仕事をしている方がどのような働き方をしているのかについて詳しく知ることができました。

f:id:resweater:20180910061526j:plain

 

インターンシップで持った印象

参加する前はFJCTは富士通グループの一社というイメージを持っていました。しかし、実際に行ってみるとイメージとは大きく異なり、非常に自由な働き方をしている印象を受けました。

また、仕事が好きで自ら積極的に取り組んでいる方が多く、モチベーションの高い人が多いなという印象を受けました。

 

まとめ

たった3日間でしたが、技術面でも今後の就活を考える上でも多くのことを吸収でき、非常に充実したインターンシップでした。また、今回ほど「自分がイメージした通りのプログラムを作成できない悔しさ」を感じたことはなく、自身の課題も発見することができました。とりあえず今まで以上にKaggleなどにも積極的に取り組んでいきたいと思います。というかその場のノリで(?)既に取り組み始めました。

就活を始めるまでに、より実力をつけていければと思います。

FJCTの皆様、ならびに一緒に参加した学生の皆様、ありがとうございました。

勉強がてら自分のホームページを作成してみた

ということで、自分のホームページ(ポートフォリオ)を作成して公開したのでメモしておきます。

ホームページ:Sweater's Portfolio

 

制作理由

先日、ハッカソンに参加してチーム開発を行いました。その際、機械学習をシステムへ実装していく中でフロントエンドやバックエンドへの知識があまりなかったため、非常に苦労しました。

また、manifes2018に参加した際、エンジニアの方から自分のホームページを作ると凝れば凝るほどフロントエンドからバックエンドまで様々な知識を得られるとアドバイスを頂き、制作してみることにしました。

 

フロントエンド

今回はHTML/CSSのみで作っています。公開されているポートフォリオをいくつか参考にしながら制作しました。また、今後JavaScriptも使う予定です。

一方で、先日のハッカソンではフロントエンドを担当していた人がReactを利用していたのでその辺りも後々調べてみたい……

 

バックエンド

バックエンドを少しでも触るのは今回が初めてだったので苦労しました。

今回はAWSのS3 (Simplr Storage Service) を使い、この辺りのページを参考にしました。

ferret-plus.com

AWSを使うと無料アカウントでもドメインの取得とサーバーの利用がまとめて可能なため、今回はAWSを利用しました。

 

まとめ

自分のホームページを作りながら、初めてバックエンドを触りました。ひとまずホームページ自体は公開しましたが、まだ作成中のページもあるので継続して取り組んでいきたいです。

また、今回は記事を参考にしながらバックエンドを作成しましたが、あまり理解が深まっていないのでもう少し勉強していこうと思います……

manifes2018に参加してきました

manifes2018というイベントに参加してきたのでまとめます。

togetter.com

 

manifesとは

connpass.com

manifesは全国から学生やエンジニアの方が集まって行うLT会で、ローカルイノベーションさんが主催して行っています。

会場は六本木でしたが、ちょうど前日までインターンシップで東京に来ていたため、併せて観覧枠で参加してきました。

ちなみに、同日品川ではKotlin Fest 2018が行われていたようです(来年は参加してみたい)。

 

当日のLT

当日は

前年王者LT→学生LT→企業紹介→企業LT→投票&結果発表→懇親会

という流れでした。

 

学生LT

特に印象に残った学生LTとしては、学祭の業務改善として自分のサークルの模擬店をキャッシュレス化したという話がとても興味深かったです。

 自分は以前バイトや学内の委員会でデジタル化による業務改善に取り組んだことがあったので、そういったこともこのLTのような形でまとめられるのかもと考えたりしました(そのうち記事にしたい)。

 

また、PC-98を用いて低レイヤーを勉強しているというLTでは、質疑応答の際に出てきた「それは何のためになるのか」という質問に対して登壇者が「ロマンがある」と回答し、非常に盛り上がりました。

ロマン……大切にしたい……

 

企業LT

企業LTでは移植駆動学習に関するLTが非常に興味深かったです。

移植駆動学習は、既に存在するプログラムを他言語で書き直した上でカバレッジ100%のプログラム作成を目指すというものです。カバレッジ100%はテストケースの全分岐を理解し、エッジケースをしっかり考えなければ達成出来ないため、非常に良い学習法でやってみたいと思いました。

 

まとめ

登壇されていた方々のLTのマニアック度が非常に高く、なかなか理解することが難しい内容も多かったですが、そのようなことも出来るんだという発見が多く非常に興味深かったです。

また、懇親会では自分が関心を持っている分野で活躍されているエンジニアの方ともお話したりアドバイスをいただいたりすることができ、参考になりました。

スタッフや登壇者の皆様、ならびに企業の皆様、ありがとうございました。

 

P.S.

理系の大学編入について2 ー使用したツール・参考書ー

(2018.8.28更新)

この記事では大学編入試験に向けて利用したツールや参考書についてまとめています。

 

編入に関する情報を集めた方法

大学編入試験は他の入試と違い、情報が非常に少ないという問題があります。

そこで、情報を集める手段の一つとしてTwitterを使いました。

Twitterには編入試験経験者がアドバイスをしているアカウントなども多くあるので、積極的に話を聞いてみたりすることで編入編入試験に関する情報を集めました。

また、Twitter上には同じように不安を抱えながら編入試験に挑戦しようとしている人も多くいるので、そのような人たちとやり取りをしながら励まし合うことでモチベーションの維持に繋げることが出来ました。

 

  • 中ゼミ(予備校)

大学編入に関する情報を集めたり面接練習をするため、予備校を利用しました。

ただ、費用がかかるほか、住んでいる地域には予備校がなかったため、主に編入試験に関する情報を貰うことと入試前に面接練習を行ってもらうために利用しました。

 

参考書

まず、大学編入試験では受験する大学の編入試験の過去問が最も参考になります

多くの大学では編入試験の過去問を配布しているので、まず志望大学の過去問を取り寄せて出題の傾向や演習に活用すると良いです。

 

次に、自分が編入試験勉強で利用した参考書を記します。

自分が受験したいくつかの大学では、試験科目に数学、線形代数、英語(長文)、プログラミング・アルゴリズムがありました。

また、受験した大学は数学の比重が大きかったため、数学をメインに取り組みました。

 

数学・線形代数
  • 編入数学徹底研究ー頻出問題と過去問題の演習ー
編入数学徹底研究―頻出問題と過去問題の演習

編入数学徹底研究―頻出問題と過去問題の演習

 

 最もやり込んだ参考書。

地方国公立大学程度であればこの内容が理解出来ればいい (と勝手に思っています)。

自分はこの参考書の例題を中心に6周ほど解き、問題を覚えるまでやり込むようにしました。

 

  • 大学編入試験問題 数学/徹底演習
大学編入試験問題 数学/徹底演習(第3版)-微分積分/線形代数/応用数学/確率-

大学編入試験問題 数学/徹底演習(第3版)-微分積分/線形代数/応用数学/確率-

 

 編入試験受験生にはかなり人気が高い (らしい) 本。

上記の徹底研究より難易度は高く、入試まで余裕があったり、受ける大学の数学科目のレベルが高いようであれば取り組むといいと思います。

こちらも例題を中心に、1、2周しました。

この参考書は旧帝大など難関大の問題も多いため、解けたときの達成感がありモチベーションアップに繋がりました。

 

  • スバラシク実力がつくと評判の微分積分キャンパス・ゼミ

 解説が非常に丁寧な参考書。

上記2つの演習に取り組む際、分からない問題があった時に参考に用いました。

 

微分積分1 (高専テキストシリーズ)

微分積分1 (高専テキストシリーズ)

 

 高専のテキストは高校~大学1, 2年程度までの数学の内容となるため、非常に参考になりました。

こちらも分からない問題があった時の参考に用いました。

 

  • 大学の講義用教科書

自分が編入前に在籍していた大学には数学や線形代数の講義があり、教員が講義向けに製作しているテキストがあったため、参考に用いました。

現在在籍している大学などで数学や線形代数の講義がある場合、そこで用いる講義資料も参考になると思います。

 

英語
  • やっておきたい英語長文300
やっておきたい英語長文300 (河合塾SERIES)

やっておきたい英語長文300 (河合塾SERIES)

 

 自分が受験した大学の英語は情報系の専門英語長文がメインだったため、この参考書の中から科学技術の内容の長文を中心に取り組みました。

この参考書は長文の長さごとにいくつかシリーズが出ているので、自分の英語力に合わせた長文対策が出来るという点でもオススメです。

 

  • Next Stage
Next Stage 英文法・語法問題 3rd edition

Next Stage 英文法・語法問題 3rd edition

 

  英文法の復習には高校で使っていたものを用いました。

 

プログラミング・アルゴリズム
  • やさしいC

 過去問を調べたところ、C言語を用いた問題が出題されていたため、C言語を独学するために用いました。

しかし、振り返ってみると本の内容は易しいため取り掛かりやすいが、その分入試レベルに達していませんでした。

 

C言語によるはじめてのアルゴリズム入門 改訂第3版

C言語によるはじめてのアルゴリズム入門 改訂第3版

 

 アルゴリズムについて理解するため使用しましたが、試験まで時間が足りずあまり取り組めなかったです。

 

まとめ

自分が取り組んだ参考書を紹介しましたが、最終的には自分に合ったものを選ぶのが一番だと思います。

編入試験を受けるのであれば、まず志望大学の過去問を取り寄せるところから始めることをオススメします。

理系の大学編入について1 ー4年制大学から4年制大学への編入ー

(2018.8.28更新)

自分が某大学機械系学部から某大学情報系学部へ大学編入をしてから2年が経ちました。自分の経験を基にいくつかの記事に分けて記します。大学編入を考えている人の参考になれば幸いです。

なお、このブログで記す大学編入4年制大学から4年制大学の理系学部への3年次編入を考えている人へ向けたものであり、また、大学編入は大学や学部学科によって大きく異なるため、記していることが当てはまらない場合もあるので気をつけてください。

 

4年制大学から4年制大学への編入はオススメしない

編入を考えている人にとって受験理由はそれぞれあると思うので、この記事ではあえてデメリットを中心に記しています。もしこの記事を見ている人で編入を考えている人がいれば、どのようなデメリットやリスクがあるのか参考にしてもらえればと思います。

なぜオススメしないかというと、

  • 編入試験勉強に拘束される
  • 編入後の単位修得が大変(留年する可能性がある)
  • 学部・学科も変える場合、編入後2年間で専攻内容の理解を深めることは難しい

の3点が挙げられます。それぞれ、以下に詳しく記していきます。

 

編入試験勉強に拘束される

理系の場合、特に国公立の大学編入試験は6~7月に行われることが多いです。

そのため、順当に進級してきた人が3年次編入試験を受ける場合、大学2年生の初夏に試験を受けることになります。

この時期というのは、大学に入学して1年が経ち、生活にも慣れて専攻分野の勉強を進める人、アルバイトやサークルなど課外活動に精を出す人など、各々自分が取り組みたいことに対して最も自由に取り組める時期です。

そんな時期に一人黙々と編入試験の受験勉強に取り組むのは精神的にも辛いことが多く、周りに流されて途中で諦めて他の道を選ぶ人も多かったです。

 

編入後の単位習得が大変

大学編入では編入前の大学の単位を振り替え認定してもらえることが多いですが、認定される単位には上限が定められています。この上限は大学によって異なります。自分の場合は編入前の大学で90単位近く取っていましたが、認定されたのは65単位でした。

つまり、編入と同時に20単位以上失った形となりました。

そのため、編入後は多くの講義を受ける必要があり、講義やゼミ、課題などをこなすだけでも非常に大変です。

 

また、振り替え認定に含まれなかった科目に必修科目が多くあった場合、編入後に受ける講義の中で同じコマに必修科目が重なる可能性があります。

そのような事態が4年次に起きた場合、片方の必修科目が取れないため強制的に留年となることもあります。

 

学部・学科も変えた場合、編入後2年間で専攻分野の理解を深めることは難しい

学部や学科も変更した場合、本来4年間かけて学ぶ内容を2年間で学ぶことになるため、編入前からよほど編入先の分野について理解していたり勉強していたりしない限り、非常に苦労することになります。

特に理系の場合は卒業研究がありますが、上記したように編入生は必要単位数が多く時間がないため、同学の人達以上に集中して取り組まなければ卒業研究を完成させることすら困難になりかねません。

実際、自分は4年生の後学期にも必修科目が残っていたため、卒業研究と講義の単位取得を並行して行わなければならず、非常に苦労しました。

 

大学編入にはメリットもある

ここまで主なデメリットについて述べてきましたが、当然メリットも多くあります。

例えば、

  • 大学が変わるため、周囲の環境や人間関係も一新される
  • 学部・学科を変えることが出来る
  • 興味を持った他大学の研究室へ行くことができることもある

などが挙げられます。

ただし、大学編入では志望理由書の提出が求められたり面接が行われることが多いですが、この時までに編入先の大学で取り組みたい研究など明確な志望理由を用意しておかなければ編入試験の合格自体が難しくなります。

 

まとめ

この記事ではあえてデメリットを中心に記しましたが、そのくらい大学編入では編入後のリスクがあるということを理解していただければ幸いです。

次の記事では、自分が編入試験の勉強で用いたツールや参考書について述べたいと考えています。