Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 부스트캠프 AI Tech
- Git
- 판교퇴근길밋업
- AIStages
- 우분투리눅스
- github branch
- 딥러닝
- Python
- Django
- java
- CNN
- 2020정보처리기사
- RNN
- 자바
- ann
- 운영체제연습문제
- backpropagation
- MAC OS
- ai개발밋업
- 정보처리기사
- repository 복구
- 리눅스7장
- homebrew설치
- GitHub
- BPTT
- 리눅스연습문제
- 쉽게배우는운영체제
- 운영체제
- Swing
- 파이썬
Archives
- Today
- Total
코딩하는 애옹😸
ValueError: multilabel-indicator is not supported 본문
728x90
반응형
First Code :
# Artificial Neural Net – keras MLP로 iris 데이터를 이용하여 분석
# -*- coding: utf-8 -*-
"""
Created on Wed May 13 20:24:49 2020
@author: user
"""
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OneHotEncoder
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam
from sklearn.metrics import confusion_matrix, accuracy_score
iris_data = load_iris()
print('Example data: ')
print(iris_data.data[:5])
print('Example labels: ')
print(iris_data.target[:5])
x = iris_data.data
y_ = iris_data.target.reshape(-1, 1)
encoder = OneHotEncoder(sparse=False)
y = encoder.fit_transform(y_)
train_x, test_x, train_y, test_y= train_test_split(x, y, test_size=0.20)
model= Sequential()
model.add(Dense(10, input_shape=(4,), activation='relu', name='fc1'))
model.add(Dense(10, activation='relu', name='fc2'))
model.add(Dense(3, activation='softmax', name='output'))
optimizer= Adam(lr=0.001)
model.compile(optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
print('Neural Network Model Summary: ')
print(model.summary())
model.fit(train_x, train_y, verbose=2, batch_size=5, epochs=200)
results= model.evaluate(test_x, test_y)
print('Final test set loss: {:4f}'.format(results[0]))
print('Final test set accuracy: {:4f}'.format(results[1]))
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
# StandardScaler를 담은 변수에 X_train을 학습해 데이터를 정규화
scaler.fit(train_x)
# X_train과 X_test를 StandardScaler를 이용해 정규화
train_x = scaler.transform(train_x)
test_x = scaler.transform(test_x)
from sklearn.neural_network import MLPClassifier
# MLP 알고리즘의 hidden 레이어를 3계층(10,10,10)으로 할당
mlp = MLPClassifier(hidden_layer_sizes=(10,10,10))
# 위에서 분류한 X_train과 y_train을 MLP를 이용해 학습
mlp.fit(train_x, train_y)
predictions = mlp.predict(test_x)
print(confusion_matrix(test_y, predictions))
print(accuracy_score(test_y, predictions))
ErrorCode :
ValueError: multilabel-indicator is not supported
Solution :
confusion_matrix must be a list of predictions.
Call argmax on test_y and predictions.
print(confusion_matrix(test_y.argmax(axis=1), predictions.argmax(axis=1)))
print(accuracy_score(test_y.argmax(axis=1), predictions.argmax(axis=1)))
반응형
'Programming > Issues' 카테고리의 다른 글
Error: ENOSPC: System limit for number of file watchers reached (0) | 2022.05.27 |
---|---|
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 0: invalid start byte (0) | 2020.05.27 |
No module named keras (0) | 2020.05.15 |
Comments