๋ฐ์ดํฐ ํ์ธ
import pandas as pd
df = pd.read_csv(”../dataset/housing.csv”, delim_whitespace=True, header=None)
print(df.info())
Range Index:506 entries,0 to 505 |
|||
Data columns (total 14 columns): |
|||
0 |
506 |
non-null |
float64 |
1 |
506 |
non-null |
float64 |
… |
… |
… |
… |
13 |
506 |
non-null |
float64 |
Dtypes: float64(12), int64(2) |
|||
memory usage: 55.4 KB |
Index 506๊ฐ= ์ด ์ํ์ ์๋ 506๊ฐ
์ปฌ๋ผ 14๊ฐ= 13๊ฐ์ ์์ฑ๊ณผ 1๊ฐ์ ํด๋์ค
0 |
1 |
2 |
3 |
… |
12 |
13 |
|
0 |
0.00632 |
18.0 |
2.31 |
0 |
… |
4.98 |
24.0 |
1 |
0.02731 |
0 |
7.07 |
0 |
… |
9.14 |
21.6 |
2 |
0.02729 |
0 |
7.07 |
0 |
… |
4.03 |
34.7 |
3 |
0.03237 |
0 |
2.18 |
0 |
… |
2.94 |
33.4 |
4 |
0.06905 |
0 |
2.18 |
0 |
… |
5.33 |
36.2 |
0 CRIM : ์ธ๊ตฌ 1์ธ๋น ๋ฒ์ฃ ๋ฐ์ ์
1 ZN : 25,000ํ๋ฐฉ ํผํธ ์ด์์ ์ฃผ๊ฑฐ ๊ตฌ์ญ ๋น์ค
2 INDUS : ์๋งค์ ์ธ ์์ ์ด ์ฐจ์งํ๋ ๋ฉด์ ๋น์จ
3 CHAS : ์ฐฐ์ค๊ฐ ์์น ๋ณ์(1: ๊ฐ ์ฃผ๋ณ / 0: ์ด์ธ)
4 NOX: ์ผ์ฐํ์ง์ ๋๋
5 RM: ์ง์ ํ๊ท ๋ฐฉ ์
6 AGE: 1940๋ ์ด์ ์ ์ง์ด์ง ๋น์จ
7 DIS: 5๊ฐ์ง ๋ณด์คํด ์ ๊ณ ์ฉ ์์ค๊น์ง์ ๊ฑฐ๋ฆฌ
8 RAD: ์ํ๊ณ ์๋๋ก์ ์ ๊ทผ ์ฉ์ด์ฑ
9 TAX: $10,000๋น ๋ถ๋์ฐ ์ธ์จ ์ด๊ณ
10 PTRATIO: ์ง์ญ๋ณ ํ์๊ณผ ๊ต์ฌ ๋น์จ
11 B: ์ง์ญ๋ณ ํ์ธ ๋น์จ
12 LSTAT : ๊ธ์ฌ๊ฐ ๋ฎ์ ์ง์
์ ์ข
์ฌํ๋ ์ธ๊ตฌ ๋น์จ(%)
13 ๊ฐ๊ฒฉ(๋จ์ $1,000)
์ ํ ํ๊ท ์คํ - ๋ง์ง๋ง์ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ตฌ๋ถ, ์ถ๋ ฅ์ธต์ ํ์ฑํ ํจ์๋ฅผ ์ง์ ํ ํ์๋ ์์ต๋๋ค.
model = Sequential()
model.add(Dense(30, input_dim=13, activation=‘relu’))
model.add(Dense(6, activation=‘relu’))
model.add(Dense(1))
๋ชจ๋ธ์ ํ์ต์ด ์ด๋ ์ ๋ ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์์ธก ๊ฐ๊ณผ ์ค์ ๊ฐ์ ๋น๊ตํ๋ ๋ถ๋ถ์ ์ถ๊ฐ
Y_prediction = model.predict(X_test).flatten()
for i in range(10):
label = Y_test[i]
prediction = Y_prediction[i]
print(“์ค์ ๊ฐ๊ฒฉ: {:.3f}, ์์๊ฐ๊ฒฉ: {:.3f}”.format(label, prediction))
flatten() ํจ์ : ๋ฐ์ดํฐ ๋ฐฐ์ด 1์ฐจ์์ผ๋ก ๋ฐ๊ฟ ์ฝ๊ธฐ ์ฝ๊ฒ ํด ์ฃผ๋ ํจ์
range(‘์ซ์’)๋ 0๋ถํฐ ‘์ซ์-1’๋งํผ ์ฐจ๋ก๋๋ก ์ฆ๊ฐํ๋ฉฐ ๋ฐ๋ณต๋๋ ๊ฐ์ ๋ง๋ญ๋๋ค.
( range(10)์ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] )
from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import train_test_split
import numpy
import pandas as pd
import tensorflow as tf
# seed ๊ฐ ์ค์
seed = 0
numpy.random.seed(seed)
tf.random.set_seed(3)
df = pd.read_csv("../dataset/housing.csv", delim_whitespace=True, header=None)
dataset = df.values
X = dataset[:,0:13]
Y = dataset[:,13]
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=seed)
model = Sequential()
model.add(Dense(30, input_dim=13, activation='relu'))
model.add(Dense(6, activation='relu'))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(X_train, Y_train, epochs=200, batch_size=10)
# ์์ธก ๊ฐ๊ณผ ์ค์ ๊ฐ์ ๋น๊ต
Y_prediction = model.predict(X_test).flatten()
for i in range(10):
label = Y_test[i]
prediction = Y_prediction[i]
print("์ค์ ๊ฐ๊ฒฉ: {:.3f}, ์์๊ฐ๊ฒฉ: {:.3f}".format(label, prediction))
์คํ๊ฒฐ๊ณผ
์ค์ ๊ฐ๊ฒฉ: 22.600, ์์๊ฐ๊ฒฉ: 20.133
์ค์ ๊ฐ๊ฒฉ: 50.000, ์์๊ฐ๊ฒฉ: 24.157
์ค์ ๊ฐ๊ฒฉ: 23.000, ์์๊ฐ๊ฒฉ: 28.158
์ค์ ๊ฐ๊ฒฉ: 8.300, ์์๊ฐ๊ฒฉ: 13.419
์ค์ ๊ฐ๊ฒฉ: 21.200, ์์๊ฐ๊ฒฉ: 22.280
์ค์ ๊ฐ๊ฒฉ: 19.900, ์์๊ฐ๊ฒฉ: 23.254
์ค์ ๊ฐ๊ฒฉ: 20.600, ์์๊ฐ๊ฒฉ: 20.012
์ค์ ๊ฐ๊ฒฉ: 18.700, ์์๊ฐ๊ฒฉ: 26.365
์ค์ ๊ฐ๊ฒฉ: 16.100, ์์๊ฐ๊ฒฉ: 18.521
์ค์ ๊ฐ๊ฒฉ: 18.600, ์์๊ฐ๊ฒฉ: 11.163
์ค์ ๊ฐ๊ฒฉ๊ณผ ์์๊ฐ๊ฒฉ์ด ๋น๋กํ์ฌ ๋ณํ
'๋ฅ๋ฌ๋ > Today I learned :' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฅ๋ฌ๋์ ์ด์ฉํ ์์ฐ์ด ์ฒ๋ฆฌ NLP (0) | 2021.03.28 |
---|---|
[๋ฅ๋ฌ๋] ์ด๋ฏธ์ง ์ธ์ , ์ปจ๋ณผ๋ฃจ์ ์ ๊ฒฝ๋ง(CNN) (0) | 2021.03.27 |
[๋ฅ๋ฌ๋] ์์ธ์ ์ข ๋ฅ ์์ธกํ๊ธฐ (0) | 2021.03.25 |
[๋ฅ๋ฌ๋] ์ด์ํ ๊ด๋ฌผ ๋ฐ์ดํฐ : ๊ณผ์ ํฉ ํผํ๊ธฐ (0) | 2021.03.24 |
[๋ฅ๋ฌ๋] ๋ค์ค ๋ถ๋ฅ ๋ฌธ์ : ๋ถ๊ฝ(Iris) ํ์ข ๋ถ๋ฅ (0) | 2021.03.23 |