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

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

問1

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

正解

log10

あなたの答え

log7

log25

log3

問2

線形回帰の損失関数に対して、Ridge回帰とLasso回帰が追加している正則化項の組み合わせとして正しいものを選べ

正解

(Ridge回帰, Lasso回帰)= (L2正則化項, L1正則化項)

(Ridge回帰, Lasso回帰)= (L1正則化項, L2正則化項)

あなたの答え

(Ridge回帰, Lasso回帰)= (L1正則化項, L3正則化項)

(Ridge回帰, Lasso回帰)= (L3正則化項, L1正則化項)

解説

正則化項にはL1正則化(Lasso正則化)とL2正則化(Ridge正則化)というものがあります。

フィードバックを送信

問3

階層的クラスタリングの結果の解釈に用いられる樹形図の説明として正しいものを選べ

正解

データ数が多いと表示が困難であるため、一部だけ取り出して可視化するなどの工夫が必要である

あなたの答え

樹形図の縦軸はクラスター内誤差平方和(SSE)である

次元削減をして特徴量を2変数にしてから、可視化しなければならない

最短距離法を用いた場合には、樹形図による可視化はできない

問4

Pythonのコーディング規約の名称として正しいものを選べ

Coding8

正解

PEP8

PIP8

あなたの答え

Flake8

問5

以下のコードのXXXに当てはまるものとして正しいものを選べ

#必要なモジュールのimport
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split

boston = load_boston()
x, y = boston.data, boston.target
# 学習データとテストデータに分割
XXX
# 線形回帰をインスタンス化
lr = LinearRegression()
lr.fit(x_train, y_train)
正解

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)

あなたの答え

x_train, x_test, y_train, y_test = train_test_split(x, test_size=0.3)

x_train, x_test, y_train, y_test = lr.predict(x)

x_train, x_test = train_test_split(x, y, test_size=0.3)

問6

欠損値の対処方法として、間違っているものを選べ

正解

One-hotエンコーディングを行う

あなたの答え

その特徴量の統計的な代表値などで埋める

欠損値があるデータを用いない

欠損がある場合でも動作する機械学習アルゴリズムを選定する

問7

以下の関数のxに関する微分として正しいものを選べ

logx

正解

1x

あなたの答え

x

1

ex

問8

AUCはROC曲線から算出されるが、具体的にはROC曲線の何を算出したものか。以下の中から正しいものを選べ

正解

ROC曲線の面積

あなたの答え

ROC曲線の縦軸の最大値

ROC曲線の横軸の最大値

ROC曲線の勾配(微分)

問9

A = (1,2,3), B = (4,5,6)のそれぞれ3成分からなる2つのベクトルがある。この2つのベクトルの内積として正しいものを選べ

正解

32

あなたの答え

27

315

32

問10

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

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

問11

scikit-learnのLogisticRegressionクラスを用いてモデルを構築した場合のラベルの予測確率を取得する関数として正しいものを以下の中から選べ

正解

predict_proba()

あなたの答え

predict()

get_params()

predict_log_proba()

問12

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

問13

以下のようなグラフを描画するために、コードのXXX の部分に記述されるコードとして正しいものを選べ

import pandas as pd
import matplotlib.pyplot as plt 

df = pd.DataFrame({"国名":["日本","アメリカ","イタリア","フランス", "ロシア", "ブラジル", "イギリス"],  
"人口/万人":[12700, 32800, 6000, 6700, 14500, 20900, 6600]})

plt.rcParams["font.family"] = "AppleGothic"
XXX
plt.xlabel("人口(万人)")
plt.show()

Image from Gyazo

plt.pie(df["人口/万人"], labels=df["国名"], counterclock=False, startangle=90, autopct="%1.1f%%", pctdistance=0.8) 
①
plt.pie(df["人口/万人"], labels=df["国名"], autopct="%1.2f%%", pctdistance=0.8) 
②
plt.pie(df["人口/万人"], autopct="%1.2f%%", pctdistance=0.8) 
③
plt.pie(df["人口/万人"], labels=df["国名"], counterclock=False, startangle=90, autopct="%1.1f%%", pctdistance=1.2) 
④
正解

あなたの答え

問14

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

Image from Gyazo

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

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

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

正解

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

あなたの答え

問15

以下のコードを実行した際に、Aについて述べているものとして、間違っているものを選べ

import numpy as np

A = np.random.rand(10,1)

Aの配列の形状は(10,1)である。

Aに格納されている値は全て、標準正規分布に従う乱数である。

正解

中心が10、標準偏差が1に従う正規分布から生成された乱数が格納されている

あなたの答え

Aに格納されている値は0以上1未満の浮動小数点数である。

問16

ランダムフォレストについて説明している以下の文章のうち、正しい選択肢を選べ

正解

他の機械学習アルゴリズムと比較すると、欠損値の穴埋めや標準化などのデータの前処理を必要としないアルゴリズムである。

あなたの答え

いくつかの決定木を作成するが、作成する木の数は自分で決めることができず、決まっている。

ランダムフォレストは、特徴量の数が多い分類問題にしか適用できない。

どの特徴量がモデルの出力に寄与しているかの程度を確認する指標が存在しない。

問17

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

import numpy as np

A = np.array([[0, 1, 2, 3, 4]])
B = np.full((1, 5), 1)
A[A>=B]
正解

array([1, 2, 3, 4])

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

あなたの答え

array([[1, 2, 3, 4]])

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

問18

Jupyter Notebookについて説明している以下の文章のうち、間違っているものを選べ

Pythonだけでなく、Rも扱える

セルにコードを書き込むことで、単一行のコードもインタラクティブに実行できる。

macOS , windowsOS, ubuntuOSのどのOSでも使用できる

正解

Jupyter Notebookには拡張機能がなく、カスタマイズすることができない

あなたの答え

問19

matplotlibのグラフ描画に関する以下の説明のうち、間違っているものを選べ

正解

1つのグラフオブジェクト内では、1つのフォントしか指定できない

あなたの答え

日本語の文字列にも対応しているフォントがデフォルトでは指定されていない

グラフの軸ラベルの文字列を回転させることはできる

縦軸が左右にある2軸グラフを描画することはできる

問20

クラスタリング手法として適切でないものを以下の中から選べ

正解

k-近傍法

あなたの答え

k-means法

ウォード法

単純連結法

問21

添付写真のようなpandasデータフレームから、以下のデータが格納されたcsvファイル(example.csv)を出力するためのコードとして正しいものを選べ

name of country,area
日本,380000
アメリカ,9834000
中国,959700
イタリア,301300

Image from Gyazo

df.to_csv(“example.csv”)

あなたの答え

df.output_csv(“example.csv”, index=False)

df.to_excel(“example.csv”, index=True)

正解

df.to_csv(“example.csv”, index=False)

問22

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

import numpy as np

A = np.eye(4)
first, second = np.hsplit(A, [2])
first
正解

array([[1., 0.], [0., 1.], [0., 0.], [0., 0.]])

あなたの答え

array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.], [0., 0., 0.]])

array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.]])

array([[1., 0., 0., 0.], [0., 1., 0., 0.]])

問23

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)

問24

数値データが格納されたpandasデータフレーム(df)に対して、各カラム間の相関係数を算出するコードとして正しいものを選べ

正解

df.corr()

df.relative()

あなたの答え

df.info()

df.describe()

問25

以下のようなデータが格納されたexample.csvというファイルをpandasデータフレームとして読み込むためのコードとして正しいものを選べ。

国名,面積
日本,380000
アメリカ,9834000
中国,959700
イタリア,301300
import pandas as pd

df = pd.read_csv("example.csv")
①
import pandas as pd

df = pd.read_excel("example.csv")
②
import pandas as pd

df = pd.read_pickle("example.csv")
③
import pandas as pd

df = pd.load_csv("example.csv")
④
正解

あなたの答え

問26

以下の主成分分析を実施するコードの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)

問27

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

Image from Gyazo

正解

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

df.iloc[[0],:]

あなたの答え

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

df[[“name of country”]]

問28

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

正解

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

あなたの答え

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

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

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

f(x)=ex1+ex

問29

以下の配列の形状として正しいものを選べ。
array([[1,2,3], [4,5,6]])

(3, 2)

(1, 6)

(3, 3)

正解

(2, 3)

あなたの答え

問30

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

import numpy as np

A = np.array([[1,2,3],[4,5,6]])
B = A[0,:]
A[0,:]=0
B

array([1, 2, 3])

正解

array([0, 0, 0])

あなたの答え

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

array([[0], [0]])

問31

確率密度関数と確率の関係として正しいものを以下の中から選べ。

確率は確率密度関数の勾配である。

正解

確率は確率密度関数の面積である。

あなたの答え

確率は確率密度関数の幅の広さである。

確率は確率密度関数の最大値である。

問32

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

正解

matplotlibはグラフを描画する際に用いられるライブラリである

あなたの答え

matplotlibは多次元配列の演算の記述を簡便にするために用いられるライブラリである

matplotlibはテーブルデータなどの表形式のデータをハンドリングする際に用いられるライブラリである。

matplotlibは、機械学習のアルゴリズムを用いてモデルを構築するために使用するライブラリである。

問33

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

(10)(01)

正解

(0100)

(10)

あなたの答え

(10)

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

問34

棒グラフが出力されるコードとして正しいものを選べ

fig, ax = plt.subplots()  
x = [1,2,3] 
y = [10, 20, 30] 
ax.bar(x, y) 
plt.show() 
①
fig, ax = plt.subplots()  
x = [1,2,3] 
y = [10, 20, 30] 
ax.scatter(x, y) 
plt.show() 
②
fig, ax = plt.subplots()  
x = [1,2,3] 
y = [10, 20, 30] 
ax.plot(x, y) 
plt.show() 
③
fig, ax = plt.subplots()  
x = [1,2,3] 
y = [10, 20, 30] 
ax.boxplot(x, y) 
plt.show() 
④
正解

あなたの答え

問35

以下のコードを実行した場合のBとCに格納されているデータの組み合わせとして、正しいものを選べ。選択肢は(B, C)の順に記載されている。

import numpy as np

A = np.eye(3)
B = np.count_nonzero(A)
C = np.sum(A)

(array([3]), array([3]))

正解

(3, 3)

あなたの答え

(True, 6)

(True, 3)

問36

サポートベクターマシンについて説明している以下の文章のうち正しいものを選べ

分類問題にのみ使えるアルゴリズムである

正解

カーネルをrbfカーネルなどにすることで非線形構造を有するデータに対しても使用することができる

scikit-learnで実装されているサポートベクトルマシンを使う場合、サポートベクトルの数はハイパーパラメーターであり、任意に調整できる

あなたの答え

教師なし学習のアルゴリズムである

問37

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

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

問38

Pythonについて説明している以下の文章のうち間違っているものを選べ

正解

Pythonで変数を使用する際には、必ず変数の型を最初に定義する必要がある

あなたの答え

Pythonはオブジェクト指向のプログラミング言語である

機械学習ライブラリにscikit-learnがある

Pythonの予約語の数は他のプログラミング言語と比較して少ない

問39

以下のような、ユーザーごとのサービス利用状況が格納されたデータフレームdfがある。
性別ごとの利用回数のヒストグラムを別々に(※)描画するコードとして正しいものを選べ

※1つのグラフ内ではなく、男性のヒストグラム、女性のヒストグラムをそれぞれ別のグラフオブジェクトとして描画するという意味です
Image from Gyazo

df["利用回数"].hist(by=df["性別"])
plt.show()
①
df["性別"].hist(by=df["利用回数"])
plt.show()
②
df["利用回数"].hist()
plt.show()
③
df.groupby("性別")["利用回数"].hist()
plt.show()
④
正解

あなたの答え

問40

以下のグラフのxに関して微分した際の値として正しいものを選べ。グラフのCは任意定数を意味する
Image from Gyazo

発散

あなたの答え
正解

0

シェアする

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

フォローする