[Python/Tensorflow] 인공지능 제작에서, 독립변수의 예측값이 변하지 않고 같은 값으로만 나오는 현상을 어떻게 해결하나요?
조회수 321회
먼저, 이 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]
이렇게 예측한 값이 일정하게 나옵니다. 이 경우 어떻게 해결하면 좋을까요?
댓글 입력