Python3エンジニア認定データ分析試験 模試

問番号
問番号
問番号
問番号

問1

以下の関数f(x, y)のyに関する偏微分として正しいものを選べ

f(x,y)=x2y2

2xy2

正解

2x2y

y2

4xy

あなたの答え

解説

フィードバックを送信

問2

以下のようなデータフレームdfがある。このデータフレームから、B列の値が3000以上のデータフレームを抽出するコードとして正しいものを選べ。

import pandas as pd

df = pd.DataFrame({"A":[10,200,3000,40000],
                   "B":[1000,2000,3000,4000]})

df[[“B”]>=3000]

df[“B”]>=3000

正解

df[df[“B”]>=3000]

あなたの答え

df[df[“B”]>=3000][“B”]

問3

matplitlibのpieメソッドを用いて円グラフを影をつけて表示させる場合の、pieメソッド内で指定する引数として正しいものを選べ

正解

shadow=True

counterclock=True

あなたの答え

explode=True

frame=True

問4

pipでインストールしたパッケージ一覧をテキストファイル(package_list.txt)に保存する際のコマンドとして、正しいものを選べ

pip output > package_list.txt

pip list output package_list.txt

正解

pip freeze > package_list.txt

あなたの答え

pip list < package_list.txt

問5

機械学習を用いたデータ分析について説明している文章のうち、正しいものを選べ

正解

モデルの学習を実施したあとは、適切な検証データ、適切な指標を用いてモデルの精度の良し悪しを判断する必要がある

あなたの答え

モデルの学習を実施さえすれば、十分な精度が保証されており、すぐに予測モデルを運用することができる

モデルの良し悪しを決めるための評価指標を適切に選ばなくても機械学習アルゴリズムで使っていれば問題ない

特徴量の選択は、適当に決めても精度に大きな影響はないため、特徴量エンジニアリングに時間を割くべきではな

問6

以下のコードを実行した場合の出力として、正しいものを選べ。

import numpy as np

A = np.array([[1, 0]])
B = np.array([1, 0])
A @ B
正解

array([1])

あなたの答え

array([[1]])

array([[1, 1]])

array([[1, 1], [1, 1]])

問7

以下のコードの出力として正しいものを選べ

A = [x for x in range(10)]
B = {x for x in range(20)}

if len(A)==10:
    print("A")
elif len(A)==10&len(B)==20:
    print("A,B")
else:
    print("None")
正解

A

A, B

None

A A, B

あなたの答え

問8

scikit-learnのGridSearchCVクラスには、もっとも精度が良い時のハイパーパラメーターの値を取得するための属性がある。その属性として正しいものを選べ

正解

best_params_

あなたの答え

best_estimator_

best_index_

cv_results_

問9

venvやAnacondaで作成した仮想環境から抜ける際に使用するコマンドとして正しいものを選べ

exit

正解

deactivate

あなたの答え

quit

escape

問10

Matplotlibを用いて、1つの描画オブジェクト中に2つのグラフを表示するコードとして正しいものを選べ


import matplotlib.pyplot as plt

fig, ax = plt.subplots(2)
plt.show()
①

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
plt.show()
②

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
plt.show()
③

import matplotlib.pyplot as plt

plt.plot()
plt.show()
④
正解

あなたの答え

問11

ポアソン分布について述べている以下の文章のうち、正しいものを選べ

ポアソン分布におけるパラメーターは、平均値と標準偏差である。

正解

交通事故の発生回数の予測、機械部品の故障予測など、稀に生じる事象についてモデル化したい場合に用いられる、離散型の確率分布である。

二項分布における試行回数と平均値が∞に発散する場合の極限を計算することで、ポアソン分布の確率密度関数は得られる

あなたの答え

確率変数の実現値が連続変数である連続型確率分布である。

問12

以下の主成分分析を実施するコードのXXXに当てはまるものとして正しいものを選べ
※選択肢中に登場するdfは主成分分析を施す元データを意味する

from sklearn.decomposition import PCA

pca = PCA(n_components=2)
X_pca = XXX

fig, ax = plt.subplots()
ax.scatter(X_pca[:, 0], X_pca[:, 1])
ax.set_xlabel("PC1")
ax.set_ylabel("PC2")
ax.set_xlim(-1.1, 1.1)
ax.set_ylim(-1.1, 1.1)
plt.show()
正解

pca.fit_transform(df)

pca.transform(df)

あなたの答え

pca.predict(df)

pca.fit(df)

問13

以下のようなデータフレームdfがある。このデータフレームから国名カラムのみのデータフレームを抽出する際のコードとして正しくないものを選べ

Image from Gyazo

正解

df.loc[:,[“name of country”]]

df.iloc[[0],:]

あなたの答え

df.filter([“name of country”])

df[[“name of country”]]

問14

以下のような、ユーザーごとのサービス利用状況が格納されたデータフレームdfがある。
横軸に利用回数、縦軸に利用料金の散布図を描画するためのコードとして正しいものを選べ
Image from Gyazo

import matplotlib.pyplot as plt 

plt.scatter(df["利用回数"],df["利用料金"])
plt.show()

import matplotlib.pyplot as plt 

plt.scatter(df["利用料金"],df["利用回数"])
plt.show()

import matplotlib.pyplot as plt 

plt.plot(df["利用回数"],df["利用料金"])
plt.show()

import matplotlib.pyplot as plt 

df["利用回数"].scatter(df["利用料金"])
plt.show()

正解

あなたの答え

問15

pandasデータフレームA ,Bを列方向にインデックスをキーに用いてデータを連結する方法として、正しいものを選べ

正解

pd.concat([A, B], axis=1)

あなたの答え

pd.concat([df_num, df_per], axis=0)

pd.merge([df_num, df_per], axis=1)

pd.join([df_num, df_per], axis=1)

問16

次の計算結果として正しいものを選べ
log2+log5

正解

log10

あなたの答え

log7

log25

log3

問17

以下のような日付、日経平均株価の始値、終値が格納されたpandasデータフレームdfがある。このデータフレームにその日の株価の増減値(終値-始値)に応じて、ランクを付与するコードの実装として正しいものを選べ

Image from Gyazo

def add_rank(value):
    if value >= 1000:
        return "High"
    elif 0 <= value < 1000:
        return "Normal"
    else:
        return "Low"
    
df["増減値"] = df["終値"] - df["始値"]
df["ランク"] = df["増減値"].apply(add_rank)

def add_rank(value):
    if value >= 1000:
        return "High"
    elif 0 <= value < 1000:
        return "Normal"
    else:
        return "Low"
    
df["増減値"] = df["終値"] - df["始値"]
df["ランク"] = df.add_rank(df["増減値"])

def add_rank(value):
    if value >= 1000:
        return "High"
    elif 0 <= value < 1000:
        return "Normal"
    else:
        return "Low"
    
df["ランク"] = df.apply(add_rank(df["終値"] - df["始値"]))

def add_rank(value):
    if value >= 1000:
        return "High"
    elif 0 <= value < 1000:
        return "Normal"
    else:
        return "Low"
    
df["ランク"] = df.apply().add_rank(df["終値"] - df["始値"])
正解

あなたの答え

問18

以下のscikit-learnの説明のうち正しいものを選べ

学習データとテストデータに分割するためのメソッドががなく、多くの場合、自分で分割するための関数を用意しなければならない。

Deep Learningを行うことができない(ディープニューラルネットワークのモデルを構築することができない)

正解

GPUで動かすためのサポートがない

あなたの答え

pandasのデータフレームを扱うことができず、モデル作成の際は必ずNumPyを用いなければならない

問19

以下のような日付ごとの利用回数と利用料金が格納されたpandasデータフレームdfがある。このデータフレームdfの利用回数の「最大値」を出力するコードとして正しいものを選べ
Image from Gyazo

df[“利用回数”].mode()

正解

df[“利用回数”].max()

あなたの答え

df[“利用回数”].count()

df[“利用回数”].median()

問20

データサイエンティストやデータエンジニアが使用するツールについて説明している以下の文章のうち、正しいものを選べ

scikit-learnやNumPy、pandasの役割について理解しておく必要はない

たとえデータが小さくても、自分のPCでデータ分析を実施してはならない

anacondaなどの環境構築を行うためのツールは、分析の再現性という観点から実務では使ってはならない

正解

Pythonを用いて前処理や集計をする必然性はなく、Excelを用いて実施してもよい

あなたの答え

問21

モデルの評価指標について説明している以下の文章のうち、正しいものを選べ

正解

適合率と再現率にはトレードオフの関係がある

あなたの答え

分類問題の際に使用する評価指標は精度(accuracy)のみである

回帰問題の評価指標にはF値を算出することが多い

scikit-learnには適合率、再現率、F値を算出するためのモジュールが存在しなく、自分で混同行列から算出する必要がある

問22

三角関数でないものを以下の選択肢から選べ

cosx

正解

sinhx

あなたの答え

tanx

sinx

問23

決定木の不純度の指標として使用される「ジニ不純度」の説明している以下の文章のXXXとYYYに当てはまる組みとして正しいものを選べ

ある2つのカテゴリー(ラベル0とラベル1)を持つ特徴量を分割する場合のジニ不純度は、ラベル0なのにラベル1と割り振られる確率とラベル1なのにラベル0と割り振られる確率のXXXを考える必要がある。クラス0である確率をP(0)、クラス1である確率をP(1)とすると、求めるジニ不純度は

1(P(0)YYY+P(1)YYY)

 となる

正解

XXX = 和, YYY = 2

XXX = 積, YYY = 2

あなたの答え

XXX = 積, YYY = 1/2

XXX = 和, YYY = 1/2

問24

set型のデータに関して説明している以下の文章のうち、正しいものを選べ

標準のデータ型にはなく、使う場合はモジュールをインポートする必要がある

正解

重複しない要素を含み、集合演算をする場合に用いられる

イミュータブルなデータ型であり、要素の追加や削除はできない

データの各要素が、keyとvalueという2組みのデータから成り立ち、それぞれ取り出すことができる

あなたの答え

問25

Jupyter Notebookで用いられるマジックコマンドについて説明している以下の文章のうち、間違っているものを選べ

%timeitはセルに書かれた一行のプログラムに対して実行時間を、複数回施行して計測するコマンドである

%%timeitは1つのセルに対して実行時間を、複数回施行して計測するコマンドである

正解

%matplotlib tk はコードセル直下にグラフを出力するためのコマンドである

あなたの答え

%lsmagicはマジックコマンドの一覧を表示するコマンドである

問26

Matplotlibの記述について正しいものを選べ

デフォルトで日本語フォントに対応しているため、日本語を表示させるための設定をする必要はない

正解

今でも定期的にバージョンのアップデートなどがされており、世界中のデータ分析者に使われている

あなたの答え

開発者は日本人である

2次元プロットだけでなく、3次元プロットにも対応している

問27

カテゴリカル型やオブジェクト型のデータが格納されたpandasデータフレームに対して、describeメソッドを用いて算出することができない統計量として正しいものを選べ

ユニーク数

データ数

最頻(もっとも多く出現するデータ)のレコード数

正解

最大文字数

あなたの答え

問28

以下のコードを実行した場合の出力として、正しいものを選べ。

import numpy as np

A = np.array([[1, 3, 5]])
B = np.array([[6, 8, 10]])
C = np.concatenate([A, B], axis=0)
D = np.diff(C, axis=0)
np.sum(D)

8

33

正解

15

あなたの答え

9

問29

シグモイド関数について説明している以下の文章のうち、正しいものを選べ

正解

ニューラルネットワークの活性化関数として使われる関数であり、この関数の出力は0より大きく1より小さい

あなたの答え

ニューラルネットワークの活性化関数として使われる関数であり、入力に対して線形変換を施す

線形回帰を使用する際の仮定関数であり、これにより誤差が小さくなるように学習することができる

以下の数式で表される関数であり、この関数の出力は0以上1以下である 

f(x)=ex1+ex

問30

以下の文章のうち次元削減手法として適切でないものを選べ

正解

k-means法

主成分分析(PCA)

線形判別分析(LDA)

t-SNE

あなたの答え

問31

決定木について説明している以下の文章のうち、正しいものを選べ

正解

情報利得の大きい順に特徴量が使用され、木が作られる

あなたの答え

木が下に行けば行くほど、特徴量の情報利得は大きい

各葉においてデータを分割する際の閾値はあらかじめモデル作成者が決める必要がある

欠損値は除外するか、何かしらの値で埋めておく必要がある

問32

R言語について説明している以下の文章のうち、正しいものを選べ

DeepLearningのフレーワークにはR用のパッケージは存在しない

Rで機械学習モデルを構築する場合、scikit-learnのR用パッケージをインストールしなければならない

R言語はグラフ描画をするためのパッケージが存在しない

正解

RにはC++を使うためのパッケージが存在し、高速化をする際によく用いられる

あなたの答え

問33

以下のような、ユーザーごとのサービス利用状況が格納されたデータフレームdfがある。
サービス利用料金ごとの人数をヒストグラムで表示するためのコードとして正しいものを選べ
Image from Gyazo

import matplotlib.pyplot as plt 

df["利用料金"].hist()
plt.show()
①
import matplotlib.pyplot as plt 

df["利用料金"].boxplot()
plt.show()
②
import matplotlib.pyplot as plt 

df["利用料金"].value_counts().hist()
plt.show()
③
import matplotlib.pyplot as plt 

plt.bar(df["利用回数"], df["ユーザーID"])
plt.show()
④
正解

あなたの答え

問34

ある変数xの標準偏差が1、ある変数yの標準偏差が2、この2つのxとyの共分散が2であるとき、この2変数のピアソンの相関係数として正しいものを選べ。

0.25

2

0.5

あなたの答え
正解

1

問35

以下のコードを実行すると、変数A, B, C, Dには1つだけ異なるデータが格納される(4つのうち3つは同じデータが格納される)。格納されているデータが他の変数と異なる変数を選べ。

import numpy as np

A = np.full(10, 10.0)
B = np.array([10])*10
C = np.zeros(10)+10
D = np.ones(10)*10

C

あなたの答え
正解

B

A

D

問36

正規分布に従う乱数を生成するNumPyのメソッドとして、正しいものを選べ

正解

np.random.randn()

np.random.rand()

あなたの答え

np.random.random()

np.random.uniform()

問37

以下のコードを実行した場合の出力として、正しいものを選べ。

import numpy as np

A = np.linspace(0, 2, 5)
B = np.diff(A)*2
B == np.ones(4)

True

array([ 1, 1, 1, 1])

あなたの答え
正解

array([ True, True, True, True])

FALSE

問38

以下のコードを実行した際の出力として正しいものを選べ

A = [1]*10
A
正解

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

あなたの答え

[10]

[[1],[1],[1],[1],[1],[1],[1],[1],[1],[1]]

[[10],[10],[10],[10],[10],[10],[10],[10],[10],[10]]

問39

以下のような、pandasデータフレームAとpandasデータフレームBがある。この2つのデータフレームの日付が一致する部分のみを列方向に結合したデータフレームを作成するコードとして正しいものを選べ
A
Image from Gyazo

B
Image from Gyazo

pd.merge(A, B, how=”left”, on=”日付”)

pd.join(A, B, how=”inner”, on=”日付”)

正解

pd.merge(A, B, how=”inner”, on=”日付”)

pd.merge([A, B], how=”inner”, on=”日付”)

あなたの答え

問40

以下の行列の掛け算の答えとして正しいものを選べ

(10)(01)

正解

(0100)

(10)

あなたの答え

(10)

算出不可能(掛け算はできない)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする