AI実装検定B級 ⑧ scikit-learn

機械学習ライブラリscikit-learnで、実際にモデルを作って学習・予測する分野です(36問収録)。k近傍法(KNeighborsClassifier)・決定木(DecisionTreeClassifier)・サポートベクターマシン(SVC)・線形回帰(LinearRegression)といった代表的アルゴリズムと、それぞれの考え方(多数決・Yes-No分岐・決定境界の最大化・数値予測)が頻出です。共通する手順(モデル準備→fitで学習→predictで予測)、train_test_splitによるデータ分割やシャッフルの目的、accuracy_scoreでの精度評価、max_depthやkernelなどのパラメータ、分類と回帰の違いも押さえましょう。

この分野の問題36問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。

クイズモードで挑戦 →

253機械学習における分類アルゴリズムであるk近傍法(k-NN)の説明として正しいものはどれか

  1. A与えられた未知のデータに対し既存データのうち最も近いk個を使って多数決で分類する
  2. B学習用データのみを用いて精度を計算する
  3. C与えられたデータの平均値を算出することで分類を行う
  4. D決定境界とクラスの距離が最大となるように分類を行う
正解と解説を見る

正解:A与えられた未知のデータに対し既存データのうち最も近いk個を使って多数決で分類する

k近傍法は未知のデータに対して近傍のデータ群を用いて多数決で分類先を決定するアルゴリズムである。

この問題の解説ページを開く →

254機械学習において、モデルに学習データを読み込ませる際に使用するメソッドはどれか

  1. Apredict
  2. Bfit
  3. Ctransform
  4. Devaluate
正解と解説を見る

正解:Bfit

機械学習モデルに学習データを渡してアルゴリズムを学習させる際にはfitメソッドを使用する。

この問題の解説ページを開く →

255機械学習において、学習済みのモデルを用いて未知のデータに対する予測結果を得るために使用するメソッドはどれか

  1. Afit
  2. Btransform
  3. Cpredict
  4. Devaluate
正解と解説を見る

正解:Cpredict

予測結果を出力する際にはpredictメソッドを使用する。

この問題の解説ページを開く →

256scikit-learnでk近傍法を利用するためにimportするクラスはどれか

  1. ADecisionTreeClassifier
  2. BSVC
  3. CLinearRegression
  4. DKNeighborsClassifier
正解と解説を見る

正解:DKNeighborsClassifier

k近傍法(k-NN)を利用する際はKNeighborsClassifierを使用する。

この問題の解説ページを開く →

257scikit-learnで決定木を利用するためにimportするクラスはどれか

  1. ADecisionTreeClassifier
  2. BKNeighborsClassifier
  3. CSVC
  4. DLinearRegression
正解と解説を見る

正解:ADecisionTreeClassifier

決定木による分類にはDecisionTreeClassifierを使用する。

この問題の解説ページを開く →

258scikit-learnでサポートベクターマシンを利用するためにimportするクラスはどれか

  1. AKNeighborsClassifier
  2. BSVC
  3. CDecisionTreeClassifier
  4. DLinearRegression
正解と解説を見る

正解:BSVC

サポートベクターマシン(SVM)による分類にはSVCを使用する。

この問題の解説ページを開く →

259機械学習において、訓練用データセットと検証用データセットに分割する目的として正しいものはどれか

  1. A学習時間を短縮するため
  2. Bデータの重複を排除するため
  3. Cモデルの学習と精度確認を別々のデータで行うため
  4. D計算結果を可視化するため
正解と解説を見る

正解:Cモデルの学習と精度確認を別々のデータで行うため

学習用のデータでモデルを訓練し、未知の検証用データでモデルの精度を適切にチェックするために分割を行う。

この問題の解説ページを開く →

260決定木アルゴリズムにおける説明の仕方はどれか

  1. A最も近くにあるデータを用いて多数決で分類する
  2. B境界線との距離が最大となるように分類する
  3. C直線を用いて数値の相関を予測する
  4. DYes-Noの質問で分岐させ繰り返すことで分類する
正解と解説を見る

正解:DYes-Noの質問で分岐させ繰り返すことで分類する

決定木はYes-Noの質問を繰り返してデータを分岐・分類するモデルである。

この問題の解説ページを開く →

261サポートベクターマシンにおいて、クラスと境界線の間の距離が最小となるときのデータを何というか

  1. Aサポートベクター
  2. B決定境界
  3. C訓練データ
  4. D検証データ
正解と解説を見る

正解:Aサポートベクター

境界線に最も近く、クラスと境界線の間の距離が最小となるデータをサポートベクターと呼ぶ。

この問題の解説ページを開く →

262サポートベクターマシンにおいて、データを分類するために引かれる境界線を何というか

  1. Aサポートベクター
  2. B決定境界
  3. C検証データ
  4. D訓練データ
正解と解説を見る

正解:B決定境界

サポートベクターマシンはクラスを分類するために決定境界を引く。

この問題の解説ページを開く →

263scikit-learnで線形回帰を利用するためにimportするクラスはどれか

  1. ASVC
  2. BDecisionTreeClassifier
  3. CLinearRegression
  4. DKNeighborsClassifier
正解と解説を見る

正解:CLinearRegression

回帰分析に用いるのはLinearRegressionである。

この問題の解説ページを開く →

264分類問題と回帰分析の違いについて正しい記述はどれか

  1. A回帰は未知のデータを予測できない
  2. B分類は数値しか扱えない
  3. C回帰は分類よりも計算が複雑である
  4. D回帰は結果を数値で表すが分類は種類で分類する
正解と解説を見る

正解:D回帰は結果を数値で表すが分類は種類で分類する

回帰は結果を数値として出力し、分類はクラス(品種など)に分ける手法である。

この問題の解説ページを開く →

265k近傍法においてkの値が非常に小さい場合の特徴として適切なものはどれか

  1. Aノイズに弱くなる
  2. B精度が常に上がる
  3. C分類ができなくなる
  4. D計算速度が著しく低下する
正解と解説を見る

正解:Aノイズに弱くなる

kの値が小さいと、個々のデータ(ノイズ)の影響を受けやすくなり、モデルが不安定になる。

この問題の解説ページを開く →

266k近傍法においてkの値が非常に大きい場合の特徴として適切なものはどれか

  1. Aノイズに極端に弱くなる
  2. B精度が下がる傾向にある
  3. C学習時間が長くなる
  4. D計算ができなくなる
正解と解説を見る

正解:B精度が下がる傾向にある

kが大きすぎると、分類の境界が曖昧になり全体の精度が下がる可能性がある。

この問題の解説ページを開く →

267サポートベクターマシンで非線形分類を行うために設定するカーネルパラメータはどれか

  1. Akernel="linear"
  2. Bkernel="tree"
  3. Ckernel="rbf"
  4. Dkernel="k-nn"
正解と解説を見る

正解:Ckernel="rbf"

非線形分類を行う際にはrbfカーネルが利用される。

この問題の解説ページを開く →

268ボストン住宅価格データセットのような「回帰」の問題で予測する対象はどれか

  1. Aクラス
  2. Bカテゴリ
  3. Cラベル
  4. D数値
正解と解説を見る

正解:D数値

回帰分析は結果を数値として予測するために使用される。

この問題の解説ページを開く →

269学習データと検証データの分割時にデータを「シャッフル」する主な理由は何か

  1. A同じような問題が続く状態を防ぎ学習をうまくいかせるため
  2. B計算量を減らすため
  3. Cデータ形式を揃えるため
  4. D正解率を100%にするため
正解と解説を見る

正解:A同じような問題が続く状態を防ぎ学習をうまくいかせるため

データが品種順などに並んでいると学習がうまくいかないため、シャッフルしてバラバラにする。

この問題の解説ページを開く →

270決定木モデルでmax_depthを指定する目的は何か

  1. A正解率を固定するため
  2. B木の深さを制限するため
  3. C入力データの数を制限するため
  4. Dモデルの学習を無効化するため
正解と解説を見る

正解:B木の深さを制限するため

max_depthはモデルの決定木の深さを指定するパラメータである。

この問題の解説ページを開く →

271scikit-learnの多くのモデルで、アルゴリズムを準備しfit関数に渡すというステップは共通しているか

  1. A共通していない
  2. Bモデルによる
  3. C共通している
  4. Dfit関数は使わない
正解と解説を見る

正解:C共通している

scikit-learnの多くのアルゴリズムにおいて、準備(インスタンス化)とfitによる学習という手順は共通している。

この問題の解説ページを開く →

272訓練用データと検証用データを分割するために利用する関数はどれか

  1. Asplit_data
  2. Btrain_test
  3. Cmake_split
  4. Dtrain_test_split
正解と解説を見る

正解:Dtrain_test_split

データセットの分割にはtrain_test_splitを使用する。

この問題の解説ページを開く →

273機械学習モデルの精度を確認するための「正解率」を算出する関数はどれか

  1. Aaccuracy_score
  2. Bscore_accuracy
  3. Cget_score
  4. Dpredict_score
正解と解説を見る

正解:Aaccuracy_score

分類の精度はaccuracy_scoreを用いて計算する。

この問題の解説ページを開く →

274サポートベクターマシンにおいて、決定境界を定める条件として正しいものはどれか

  1. Aそれぞれのクラスの平均値から境界を決める
  2. Bそれぞれのクラスと境界線の距離が最大となるように設定する
  3. Cデータの数が多い方を優先する
  4. Dランダムに境界線を引く
正解と解説を見る

正解:Bそれぞれのクラスと境界線の距離が最大となるように設定する

サポートベクターマシンは境界線と各クラスの距離が最大化するように境界を決定する。

この問題の解説ページを開く →

275LinearRegressionにおいて、平均部屋数を増やすと住宅価格も増えるという関係を何というか

  1. A非線形関係
  2. B決定境界
  3. C相関関係
  4. D多数決関係
正解と解説を見る

正解:C相関関係

変数間の変化が連動している関係を相関関係と呼ぶ。

この問題の解説ページを開く →

276scikit-learnで分類を行う際の最も適切な手順はどれか

  1. Apredictによる予測→fitによる学習→アルゴリズムの準備
  2. Bアルゴリズムの準備→predictによる予測→fitによる学習
  3. Cfitによる学習→アルゴリズムの準備→predictによる予測
  4. Dアルゴリズムの準備→fitによる学習→predictによる予測
正解と解説を見る

正解:Dアルゴリズムの準備→fitによる学習→predictによる予測

scikit-learnの基本手順は、モデルの準備、fitによる学習、predictによる予測である。

この問題の解説ページを開く →

277サポートベクターマシンで線形分類を行うためのカーネル設定はどれか

  1. Akernel="linear"
  2. Bkernel="rbf"
  3. Ckernel="svm"
  4. Dkernel="default"
正解と解説を見る

正解:Akernel="linear"

線形分類を行う場合はlinearを指定する。

この問題の解説ページを開く →

278「分類」と「回帰」のどちらにも当てはまる記述はどれか

  1. Aすべて数値を結果として出す
  2. Bscikit-learnのfitとpredictという基本手順を共通して利用する
  3. Cすべて種類を結果として出す
  4. Dデータに欠損値が含まれていないと計算できない
正解と解説を見る

正解:Bscikit-learnのfitとpredictという基本手順を共通して利用する

どちらのモデルもscikit-learnの標準的なfitとpredictというインターフェースを使用する。

この問題の解説ページを開く →

279決定木における「分類」という処理の本質的な目的は何か

  1. Aデータの平均を計算すること
  2. Bデータの絶対値を計算すること
  3. CYes-Noの質問を繰り返してデータをクラスに分けること
  4. Dデータをシャッフルすること
正解と解説を見る

正解:CYes-Noの質問を繰り返してデータをクラスに分けること

決定木はデータを特定の条件で分岐させて、最終的にクラスに分類する。

この問題の解説ページを開く →

280model = tree.DecisionTreeClassifier(max_depth=3) というコードの意味はどれか

  1. A決定木を3つ作成する
  2. B深さが3以上のデータを削除する
  3. C深さが3のk近傍法を作成する
  4. D深さが3の決定木モデルを作成する
正解と解説を見る

正解:D深さが3の決定木モデルを作成する

DecisionTreeClassifierは決定木クラスであり、max_depth=3でその深さを制限している。

この問題の解説ページを開く →

281predicted = knn.predict(x_test) というコードの意味はどれか

  1. A検証用データx_testに対する予測結果をpredictedに代入する
  2. B検証用データx_testを学習する
  3. C検証用データx_testの平均を求める
  4. D検証用データx_testをランダムに選ぶ
正解と解説を見る

正解:A検証用データx_testに対する予測結果をpredictedに代入する

predictメソッドはモデルを用いて未知のデータ(この場合はx_test)に対する予測を行う。

この問題の解説ページを開く →

282教師あり学習モデルで学習を行うfit関数の引数として適切なものはどれか。

  1. A学習用の説明変数xのみ
  2. B学習用の説明変数xと目的変数y
  3. C検証用の説明変数xと検証用の目的変数y
  4. D予測したいデータのみ
正解と解説を見る

正解:B学習用の説明変数xと目的変数y

教師あり学習では、fit関数に学習用の説明変数xと目的変数yを与える。

この問題の解説ページを開く →

283SVMのモデル作成コードとして正しいものはどれか

  1. Amodel = svm.Linear(kernel="svc")
  2. Bmodel = svm.SVM(linear=True)
  3. Cmodel = svm.SVC(kernel="linear")
  4. Dmodel = svm.KNeighbors(linear=True)
正解と解説を見る

正解:Cmodel = svm.SVC(kernel="linear")

SVMのモデル作成にはsvm.SVCクラスを使用する。

この問題の解説ページを開く →

284機械学習において、モデルが学習をきちんと行ったかを確認するために必要なものはどれか

  1. A学習データと同じデータ
  2. B全く別の問題
  3. C乱数で生成したデータ
  4. D検証用のデータセット
正解と解説を見る

正解:D検証用のデータセット

学習の妥当性を確認するために、学習に使わなかった検証用データセットが必要となる。

この問題の解説ページを開く →

285決定木における「Yes-Noの質問」の根拠となるものはどれか

  1. A入力データの数値的条件
  2. Bランダムな決定
  3. C分析者の直感
  4. D計算時の乱数
正解と解説を見る

正解:A入力データの数値的条件

決定木は、データが持つ属性(花びらの長さなど)の数値条件に基づいてYes-No分岐を行う。

この問題の解説ページを開く →

286サポートベクターマシンにおいて、決定境界線の引き方について正しいものはどれか

  1. A1通りに必ず定まる
  2. B境界の引き方は複数あり得るため距離が最大のものを選ぶ
  3. C設定により3通りになる
  4. Dデータ数により定まらない
正解と解説を見る

正解:B境界の引き方は複数あり得るため距離が最大のものを選ぶ

境界を引く方法は複数存在するため、SVMでは距離が最大になるものを選ぶ。

この問題の解説ページを開く →

287predicted = clf.predict(iris.data) というコードで行おうとしていることはどれか

  1. A予測するモデルをリセットする
  2. B学習を行っている
  3. C全データに対して予測を行いその結果を得る
  4. Dデータを削除している
正解と解説を見る

正解:C全データに対して予測を行いその結果を得る

predictメソッドは、モデルを使ってデータを入力し、予測結果を出力する。

この問題の解説ページを開く →

288scikit-learnで分類モデルを構築する際、モデルの学習と予測の手順について「正しくないもの」はどれか

  1. Afitをしてからpredictをする必要がある
  2. Bモデルのインスタンス作成は最初に行う
  3. Cfitの引数には目的変数が必要である
  4. Dpredictをした後にfitをする必要がある
正解と解説を見る

正解:Dpredictをした後にfitをする必要がある

fitで学習した後にpredictで予測するのが正しい手順であり、順序は逆転できない。predictを先に行うことはできないため、これが正しくない記述である。

この問題の解説ページを開く →
AI実装検定B級の全分野一覧へ戻る