間違えた問題:2,6,15,23,26,27,33,35,37
1.
データ分析に関する次の記述のうち、誤っているものはどれか。
2.機械学習に関する次の記述のうち、正しいものはどれか。
3.PythonおよびPythonの実行環境に関する次の記述のうち、正しいものはどれか。
4.次のような実行結果を得たい場合、コードの【A】【B】【C】の組み合わせとして正しいものはどれか。
>>> str = ‘Hello Python’
>>> str.【A】
‘hello python’
>>> str.【B】
‘Hi Python’
>>> str.【C】
[‘Hello’, ‘Python’]
5.次の正規表現を用いたスクリプトの[ ア ]の部分に入れたときエラーとなるものはどれか。
import re
prog = re.compile(‘(K|S)us(a|u)n(a|o)m?g?i(saya|ro)?’, re.IGNORECASE)
[ ア ]
print(ret[0])
6.次のようなコードを実行した場合に出力されるログレベルとして正しいものはどれか。
[ コード ]
import logging
logging.basicConfig(
format=’%(levelname)s’
)
logging.debug(‘デバッグレベル’)
logging.info(‘INFOレベル’)
logging.warning(‘警告レベル’)
logging.error(‘エラーレベル’)
logging.critical(‘重大なエラー’)
7.Jupyter Notebookに関する次の記述のうち正しいものはどれか。
8.数学の基礎に関する次の記述のうち誤っているものはどれか。
9.座標平面上の2点であるA (5, 7)とB (2,3)の、2点間のマンハッタン距離として正しいものはどれか。
10.行列に関する次の記述のうち正しいものはどれか。
11.微分積分に関する以下の記述のうち誤っているものはどれか。
12.確率と統計に関する次の記述のうち、誤っているものはどれか。
13.「ネイピア数、cos(60°)、1の対数、円周率、4の階乗」の5つの数からなるデータがある。このデータについて正しいものはどれか。
14.NumPyに関する次の記述のうち、誤っているものはどれか。
15.次のスクリプトを実行した結果として正しいものはどれか。
import numpy as np
a = np.array([7,8,9])
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(a.shape, b[0:1, [1,2]])
16.次のスクリプトを実行した結果として正しいものはどれか。
import numpy as np
a = np.arange(1, 10, 3)
b = np.eye(20)
print(a[-1], b[15, 15])
17.次のスクリプトを実行した結果として正しいものはどれか。
import numpy as np
a = np.full((2, 3), np.pi).T.ravel()
b = np.linspace(0, 1.25, 6)
c = np.concatenate([a, b], axis=0)
print(a[1], c[-2])
18.次のスクリプトを実行した結果として正しいものはどれか。
import numpy as np
a = np.array([0, 8, 98, 998])
a = a + 2
a = a * 100
b = np.log10(a)
print(a[1], b[1])
19.次のスクリプトを実行した結果として正しいものはどれか。
import numpy as np
a = np.array([2, 4])
b = np.array([-1, 3])
c = np.array([[1, 2], [2, 3]])
d = a @ b
e = np.dot(c, a)
print(d, e)
20.次のスクリプトを実行して20を出力させたい。[ア]に入るものの説明として正しいものはどれか。
import pandas as pd
df = pd.DataFrame([[15, “a”, True],[20, “b”, False],[10, “c”, False]])
df.index = [“01”, “02”, “03”]
df.columns = [“A”, “B”, “C”]
[ア]
print(a)
21.pandasに関する次の記述のうち正しいものはどれか。
22.次のスクリプトを実行した結果として正しいものはどれか。
import pandas as pd
df = pd.DataFrame([[50, “a”, False],[25, “b”, True],[35, “c”, True]])
df.index = [“01”, “02”, “03”]
df.columns = [“A”, “B”, “C”]
def judge(arg):
if arg <= 50:
return “low”
elif arg < 70:
return “middle”
else:
return “high”
df.iloc[:, 2] = df.loc[:, “A”] * 2
df.iloc[:, 1] = df.loc[:, “C”].apply(judge)
_ = df[“C”] < 80
df = df[_]
print(df)
print(df.iloc[1, 2], df.iloc[-1, 1])
23.次のスクリプトに関する説明のうち誤っているものはどれか。
import numpy as np
import pandas as pd
np.random.seed(123)
dates = pd.date_range(start=”2020-01-01″, periods=31)
df = pd.DataFrame(np.random.randint(1, 10, 31), index=dates, columns=[“rand”])
print(df)
df_year = pd.DataFrame(df.groupby(pd.Grouper(freq=’W-MON’)).sum(), columns=[“rand”] )
print(df_year)
24.DataFrameの欠損値の処理に関する次の記述のうち、誤っているものはどれか。
25.DataFrameの基本統計量に関する次の記述のうち、誤っているものはどれか。
26.pandasの関数やメソッド等に関する次の記述のうち、正しいものはどれか。
27.Matplotlibに関する次の記述のうち、正しいものはどれか。
28.Matplotlibに関する次の記述のうち、正しいものはどれか。
29.Matplotlibを用いてsin, cosのグラフを描画する次のスクリプトに関する説明のうち誤っているものはどれか。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0.0, 15.0, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots()
ax.plot(x, y1, label=’sin’)
ax.plot(x, y2, label=’cos’)
ax.legend()
plt.show()
30.次のスクリプトに関する説明のうち正しいものはどれか。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
x = [1, 2, 3]
y1 = [10, 2, 3]
y2 = [5, 3, 6]
labels = [‘red’, ‘blue’, ‘yellow’]
【ア】
ax.bar(x, y_total, tick_label=labels, label=’y1′)#…【イ】
ax.bar(x, y2, label=’y2′)#…【ウ】
ax.legend()
plt.show()
31.Matplotlibを用いて正規分布に従うランダムな値をヒストグラムで描画する次のコード群に関する説明のうち正しいものはどれか。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
mu = 100
sigma = 15
x = np.random.normal(mu, sigma, 1000)
fig, ax = plt.subplots()
n, bins, patches = ax.hist(x, bins=25, orientation=’horizontal’)
for i, num in enumerate(n):
print(‘{:.2f} – {:.2f} {}’.format(bins[i], bins[i + 1], num))
plt.show()
32.Matplotlibを用いて円グラフを描画する次のスクリプトに関する説明のうち正しいものはどれか。
import matplotlib.pyplot as plt
labels = [‘spam’, ‘ham’, ‘egg’]
x = [10, 3, 1]
fig, ax = plt.subplots()
ax.pie(x, labels=labels, startangle=90, counterclock=False, shadow=True, autopct=’%1.2f%%’)
plt.show()
33.機械学習の前処理に関する次の記述のうち、誤っているものはどれか。
34.分類に関する次の記述のうち、誤っているものはどれか。
35.機械学習のアルゴリズムに関する次の記述のうち、正しいものはどれか。
36.次のスクリプトに関する説明のうち誤っているものはどれか。
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
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=123)
lr = LinearRegression()
lr.fit(X_train, y_train )
y_pred = lr.predict(X_test)
37.次の2つのスクリプトに関する説明のうち誤っているものはどれか。
[ スクリプトA ]
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
X = np.random.random(size=50)
Y = 2*X + 0.5*np.random.rand(50)
fig, ax = plt.subplots()
ax.scatter(X, Y)
plt.show()
[ スクリプトB ]
from sklearn.decomposition import 【A】
ist = 【A】(n_components=2)
X_ist = ist.fit_transform(np.hstack((X[:, np.newaxis], Y[:, np.newaxis]))) …【B】
fig, ax = plt.subplots()
ax.scatter(X_ist[:, 0], X_ist[:, 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()
38.モデルの評価指標に関する次の記述のうち、正しいものはどれか。
39.次のスクリプトに関する説明のうち誤っているものはどれか。
from sklearn.datasets import load_iris
from sklearn.model_selection import GridSearchCV
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=123)
clf = DecisionTreeClassifier()
param_grid = {‘max_depth’: [3, 4, 5]}
cv = GridSearchCV(clf, param_grid=param_grid, cv=10)
cv.fit(X_train, y_train)
y_pred = cv.predict(X_test)
40.クラスタリングに関する次の記述のうち、誤っているものはどれか。
解答
—
1.
データ分析に関する次の記述のうち、誤っているものはどれか。
正答: サードパーティ製パッケージであるpandasが提供するDat
2.
機械学習に関する次の記述のうち、正しいものはどれか。
正答: 機械学習を用いずにカテゴライズや数値予測を行う手法の一つとし
3.
正答: Anacondaで設定した環境下でパッケージ管理をする場合に
4.
>>> str = ‘Hello Python’
>>> str.【A】
‘hello python’
>>> str.【B】
‘Hi Python’
>>> str.【C】
[‘Hello’, ‘Python’]
正答: 【A】lower() 【B】replace(‘Hello’, ‘Hi’) 【C】split()
5.
import re
prog = re.compile(‘(K|S)us(a|u)n(a|o)
[ ア ]
print(ret[0])
正答: ret = prog.search(‘SUSANOO’)
6.
[ コード ]
import logging
logging.basicConfig(
format=’%(levelname)s’
)
logging.debug(‘デバッグレベル’)
logging.info(‘INFOレベル’)
logging.warning(‘警告レベル’)
logging.error(‘エラーレベル’)
logging.critical(‘重大なエラー’)
正答: WARNING ERROR CRITICAL
7.
正答: Jupyter Notebookがデータ分析や機械学習の分野でよく使われる理
8.
正答: 数式で「すべてを掛け合わせる」という処理を表す際には、
9.
正答: 7
10.
正答: 行列の分解の理論「m×sの行列にs×nの行列を賭けると、m×
11.
正答: 右辺が6x^2(6掛けるxの2乗)で表現される関数 f(x)を積分すると、右辺は3x^3+C(Cは積分定数)
12.
正答: 中央値とは、
13.
正答: 算術平均は中央値より大きい
14.
正答: NumpyではPython標準のリストと同様、
15.
import numpy as np
a = np.array([7,8,9])
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(a.shape, b[0:1, [1,2]])
正答: (3,) [[2 3]]
16.
import numpy as np
a = np.arange(1, 10, 3)
b = np.eye(20)
print(a[-1], b[15, 15])
正答: 7 1.0
17.
import numpy as np
a = np.full((2, 3), np.pi).T.ravel()
b = np.linspace(0, 1.25, 6)
c = np.concatenate([a, b], axis=0)
print(a[1], c[-2])
正答: 3.141592653589793 1.0
18.
import numpy as np
a = np.array([0, 8, 98, 998])
a = a + 2
a = a * 100
b = np.log10(a)
print(a[1], b[1])
正答: 1000 3.0
19.
import numpy as np
a = np.array([2, 4])
b = np.array([-1, 3])
c = np.array([[1, 2], [2, 3]])
d = a @ b
e = np.dot(c, a)
print(d, e)
正答: 10 [10 16]
20.
import pandas as pd
df = pd.DataFrame([[15, “a”, True],[20, “b”, False],[10, “c”, False]])
df.index = [“01”, “02”, “03”]
df.columns = [“A”, “B”, “C”]
[ア]
print(a)
正答: a = df.loc[“02”, “A”] または a = df.iloc[1, 0]
21.
正答: read_htmlメソッドを使うと、
22.
import pandas as pd
df = pd.DataFrame([[50, “a”, False],[25, “b”, True],[35, “c”, True]])
df.index = [“01”, “02”, “03”]
df.columns = [“A”, “B”, “C”]
def judge(arg):
if arg <= 50:
return “low”
elif arg < 70:
return “middle”
else:
return “high”
df.iloc[:, 2] = df.loc[:, “A”] * 2
df.iloc[:, 1] = df.loc[:, “C”].apply(judge)
_ = df[“C”] < 80
df = df[_]
print(df)
print(df.iloc[1, 2], df.iloc[-1, 1])
正答: 70 high
23.
import numpy as np
import pandas as pd
np.random.seed(123)
dates = pd.date_range(start=”2020-01-
df = pd.DataFrame(np.random.
print(df)
df_year = pd.DataFrame(df.groupby(pd.
print(df_year)
正答: 6行目は月曜日の日付をインデックスとするDataFrameを
24.
正答: 欠損値が存在する行を削除するメソッドは、dropである。
25.
正答: quartileメソッドは第3四分位数を取得できる。
26.
正答: DataFrameをNumPy配列に変換するには、
27.
正答: 棒グラフとは異なり、ヒストグラムでは複数の値を指定すると、
28.
正答: 散布図では、
29.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0.0, 15.0, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots()
ax.plot(x, y1, label=’sin’)
ax.plot(x, y2, label=’cos’)
ax.legend()
plt.show()
正答: 上記スクリプトの描画オブジェクトの中に配置されるサブプロット
30.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
x = [1, 2, 3]
y1 = [10, 2, 3]
y2 = [5, 3, 6]
labels = [‘red’, ‘blue’, ‘yellow’]
【ア】
ax.bar(x, y_total, tick_label=labels, label=’y1′)#…【イ】
ax.bar(x, y2, label=’y2′)#…【ウ】
ax.legend()
plt.show()
正答: このコード群は積み上げ棒グラフを描画するものである。
31.
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
mu = 100
sigma = 15
x = np.random.normal(mu, sigma, 1000)
fig, ax = plt.subplots()
n, bins, patches = ax.hist(x, bins=25, orientation=’horizontal’)
for i, num in enumerate(n):
print(‘{:.2f} – {:.2f} {}’.format(bins[i], bins[i + 1], num))
plt.show()
正答: このスクリプトを実行するとヒストグラムに加えて度数分布表が出
32.
import matplotlib.pyplot as plt
labels = [‘spam’, ‘ham’, ‘egg’]
x = [10, 3, 1]
fig, ax = plt.subplots()
ax.pie(x, labels=labels, startangle=90, counterclock=False, shadow=True, autopct=’%1.2f%%’)
plt.show()
正答: 円グラフのアスペクト比は保持されない
33.
正答: One-hotエンコーディングは、ダミー変数化とも呼ばれ、
34.
正答: 学習データセットとテストデータセットの分割は、scikit-
35.
正答: ランダムフォレストは、
36.
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
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=123)
lr = LinearRegression()
lr.fit(X_train, y_train )
y_pred = lr.predict(X_test)
正答: データセットは学習用が3割、
37.
[ スクリプトA ]
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
X = np.random.random(size=50)
Y = 2*X + 0.5*np.random.rand(50)
fig, ax = plt.subplots()
ax.scatter(X, Y)
plt.show()
[ スクリプトB ]
from sklearn.decomposition import 【A】
ist = 【A】(n_components=2)
X_ist = ist.fit_transform(np.hstack((
fig, ax = plt.subplots()
ax.scatter(X_ist[:, 0], X_ist[:, 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()
正答: スクリプトBでは、
38.
正答: 適合率、再現率、F値、正解率は、
39.
from sklearn.datasets import load_iris
from sklearn.model_selection import GridSearchCV
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=123)
clf = DecisionTreeClassifier()
param_grid = {‘max_depth’: [3, 4, 5]}
cv = GridSearchCV(clf, param_grid=param_grid, cv=10)
cv.fit(X_train, y_train)
y_pred = cv.predict(X_test)
正答: このスクリプトにおいて花の種類は説明変数であり、
40.
正答: クラスタリングは、