[Python/Tensorflow] 인공지능 제작에서, 독립변수의 예측값이 변하지 않고 같은 값으로만 나오는 현상을 어떻게 해결하나요?

조회수 320회

먼저, 이 AI의 제작 목적은 백신의 누적 투여량(독립변수)과 그에따른 사망률,신규사망자,신규확진자(종속변수)의 관계를 파악하여 예측하기 위한 목적입니다.

데이터는 한국데이터포털에 업로드된 정형화데이터(.csv)를 다운받아 사용하였습니다.

독립 = 백신N차접종데이터[['전체 누적 통계(1차 접종)', '전체 누적 통계(2차 접종)', '전체 누적 통계(3차 접종)']]
종속 = 백신N차접종데이터[['사망률(%)', '신규사망(명)', '신규확진(명)']]

독립변수와 종속변수를 지정하고

X = tf.keras.layers.Input(shape=[3])
H = tf.keras.layers.Dense(6, activation="swish")(X)
H = tf.keras.layers.Dense(6, activation="swish")(H)
H = tf.keras.layers.Dense(6, activation="swish")(H)
Y = tf.keras.layers.Dense(3, activation='softmax')(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='categorical_crossentropy', metrics='accuracy')

의 코드로 모델의 구조를 만들었습니다.

model.fit(독립, 종속, epochs=2000, verbose=0)
model.fit(독립, 종속, epochs=10)

그리고 다음 코드로 모델을 학습(Fit)시키고

print(model.predict(독립[:20]))
print(종속[0:20])

으로 마지막 코드를 실행한 결과

1/1 [==============================] - 0s 76ms/step
[[0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]
 [0.8590895  0.09474236 0.0461681 ]]
    신규사망(명)
0      10.0
1       5.0
2       2.0
3       6.0
4       3.0
5       8.0
6       2.0
7       2.0
8       3.0
9       3.0
10      1.0
11      7.0
12      3.0
13      2.0
14      7.0
15      5.0
16      1.0
17      4.0
18      3.0
19      2.0
독립[:20]

이렇게 예측한 값이 일정하게 나옵니다. 이 경우 어떻게 해결하면 좋을까요?

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)