autokeras를 사용하여 특징 량 추출기를 만듭니다.
소스 코드
autokeras 그대로 작동하지 않고 소스 코드를 다시 작성하여 myautokeras로 설치했습니다.
htps : // 기주 b. 코 m / 이시바시 / 미토 토라 s
변경한 것은 여기↓
htps : // 기주 b. 코 m / 이시바시 / 미토토라 s / 쓰레기 t / 4d4d9d9
변경 이미지는 이런 느낌↓
도중까지 계산한 결과를 출력하도록 재작성했습니다.
autokeras↑를 사용하여 특징량 추출기를 만들 때까지의 스크립트는 여기↓
htps : // 기주 b. 이 m/이시바시/쿠이타/bぉb/마s테 r/7/아우토케라 s_2ゔぇc. 이 pyn b
다음은이 소스 코드에 대한 보완적인 설명을 작성합니다.
파이썬 버전은 3.6.7
데이터
숫자 0과 1의 필기 이미지를 준비했습니다. 0 또는 1로 분류하는 작업을 학습하고 분류의 특징 벡터를 추출합니다.
학습
마지막 기사에 정리했습니다.
매우 간단한 autokeras 사용법
htps : // 이 m / 좋은 바 s / ms / 28 f 또는 아 9 굳 c2799d5691
학습 후
학습한 모델을 그대로 사용한다면 이런 식으로 predict로 0 또는 1의 예측을 실시합니다.
model.predict(test_X[0:3]) # array([0, 0, 0])
이번에는 특징 벡터를 추출하고 싶기 때문에 계속됩니다. 먼저 학습한 모델을 저장해 둡니다.
# save
path = "model.hdf5"
model.export_autokeras_model(path)
모델 로드
학습한 모델을 로드합니다. 저장하고 바로 읽고 부자연스럽지만, 학습 배치와 예측 배치를 분리해 운용하는 것을 상정하고 있습니다.
output_model = autokeras.utils.pickle_from_file(path)
predict
내부에서는 신경망의 계산 결과가 리스트에 보존되어 있기 때문에 그 몇번째의 결과를 꺼낼까라는 인수를 추가했습니다. output_index=-1(리스트의 마지막 요소) 혹은, 인수를 주지 않으면 종래대로의 0 또는 1의 예측 라벨을 돌려줍니다. 마지막부터 하나 전이라면 output_index=-2로 합니다.
vec_train_X = output_model.predict(train_X, output_index=-2)
vec_test_X = output_model.predict(test_X, output_index=-2)
확인하기 위해 특징 벡터를 출력해 보겠습니다.
pandas.DataFrame(vec_train_X).head(2)
512차원 벡터를 얻은 것 같습니다. 굳이 일본어로 해석을 하면 0이나 1을 분류하기 위해 필요한 512요소가 됩니다.
512차원이 특징 추출기 역할을 하는지 확인
일단 이하의 코드로 높은 정밀도가 나오기 때문에 특징 추출기로서 다소는 사용할 수 있는 것 같은 생각이군요. 이제 autokeras를 사용하여 특징 벡터를 얻었습니다. 이것을 베이스로 하면 002vec를 간단하게 생산할 수 있을 것 같습니다.
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(solver="lbfgs")
lr.fit(vec_test_X, test_Y)
lr.score(vec_test_X, test_Y) # 0.9978378378378379
특징 벡터를 얻었지만 어떻게 사용합니까?
애초에 왜 이런 일을 할 필요가 있는가 하는 이야기가 됩니다. 〇〇2vec는 벡터 공간에 매핑하고 있으므로, 예를 들면 유사 데이터의 검색에 사용할 수 있을 것 같고, 근사 근방 탐색과 같은 워드로 조사하면 추천 엔진을 만들 수 있군요. 그리고는 데이터 분석시의 특징량으로서 사용할 수도 있을 것 같습니다. 이미지나 음성, 텍스트 등의 어색한 데이터 구조에 대해 사용하기 어려운 기법(로지스틱 회귀라든지)도 벡터로 변환할 수 있으면 분석하기 쉬워집니다.
Reference
이 문제에 관하여(autokeras를 사용하여 특징 량 추출기를 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shiibass/items/c1b7649019c1df965db1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
숫자 0과 1의 필기 이미지를 준비했습니다. 0 또는 1로 분류하는 작업을 학습하고 분류의 특징 벡터를 추출합니다.
학습
마지막 기사에 정리했습니다.
매우 간단한 autokeras 사용법
htps : // 이 m / 좋은 바 s / ms / 28 f 또는 아 9 굳 c2799d5691
학습 후
학습한 모델을 그대로 사용한다면 이런 식으로 predict로 0 또는 1의 예측을 실시합니다.
model.predict(test_X[0:3]) # array([0, 0, 0])
이번에는 특징 벡터를 추출하고 싶기 때문에 계속됩니다. 먼저 학습한 모델을 저장해 둡니다.
# save
path = "model.hdf5"
model.export_autokeras_model(path)
모델 로드
학습한 모델을 로드합니다. 저장하고 바로 읽고 부자연스럽지만, 학습 배치와 예측 배치를 분리해 운용하는 것을 상정하고 있습니다.
output_model = autokeras.utils.pickle_from_file(path)
predict
내부에서는 신경망의 계산 결과가 리스트에 보존되어 있기 때문에 그 몇번째의 결과를 꺼낼까라는 인수를 추가했습니다. output_index=-1(리스트의 마지막 요소) 혹은, 인수를 주지 않으면 종래대로의 0 또는 1의 예측 라벨을 돌려줍니다. 마지막부터 하나 전이라면 output_index=-2로 합니다.
vec_train_X = output_model.predict(train_X, output_index=-2)
vec_test_X = output_model.predict(test_X, output_index=-2)
확인하기 위해 특징 벡터를 출력해 보겠습니다.
pandas.DataFrame(vec_train_X).head(2)
512차원 벡터를 얻은 것 같습니다. 굳이 일본어로 해석을 하면 0이나 1을 분류하기 위해 필요한 512요소가 됩니다.
512차원이 특징 추출기 역할을 하는지 확인
일단 이하의 코드로 높은 정밀도가 나오기 때문에 특징 추출기로서 다소는 사용할 수 있는 것 같은 생각이군요. 이제 autokeras를 사용하여 특징 벡터를 얻었습니다. 이것을 베이스로 하면 002vec를 간단하게 생산할 수 있을 것 같습니다.
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(solver="lbfgs")
lr.fit(vec_test_X, test_Y)
lr.score(vec_test_X, test_Y) # 0.9978378378378379
특징 벡터를 얻었지만 어떻게 사용합니까?
애초에 왜 이런 일을 할 필요가 있는가 하는 이야기가 됩니다. 〇〇2vec는 벡터 공간에 매핑하고 있으므로, 예를 들면 유사 데이터의 검색에 사용할 수 있을 것 같고, 근사 근방 탐색과 같은 워드로 조사하면 추천 엔진을 만들 수 있군요. 그리고는 데이터 분석시의 특징량으로서 사용할 수도 있을 것 같습니다. 이미지나 음성, 텍스트 등의 어색한 데이터 구조에 대해 사용하기 어려운 기법(로지스틱 회귀라든지)도 벡터로 변환할 수 있으면 분석하기 쉬워집니다.
Reference
이 문제에 관하여(autokeras를 사용하여 특징 량 추출기를 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shiibass/items/c1b7649019c1df965db1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
학습한 모델을 그대로 사용한다면 이런 식으로 predict로 0 또는 1의 예측을 실시합니다.
model.predict(test_X[0:3]) # array([0, 0, 0])
이번에는 특징 벡터를 추출하고 싶기 때문에 계속됩니다. 먼저 학습한 모델을 저장해 둡니다.
# save
path = "model.hdf5"
model.export_autokeras_model(path)
모델 로드
학습한 모델을 로드합니다. 저장하고 바로 읽고 부자연스럽지만, 학습 배치와 예측 배치를 분리해 운용하는 것을 상정하고 있습니다.
output_model = autokeras.utils.pickle_from_file(path)
predict
내부에서는 신경망의 계산 결과가 리스트에 보존되어 있기 때문에 그 몇번째의 결과를 꺼낼까라는 인수를 추가했습니다. output_index=-1(리스트의 마지막 요소) 혹은, 인수를 주지 않으면 종래대로의 0 또는 1의 예측 라벨을 돌려줍니다. 마지막부터 하나 전이라면 output_index=-2로 합니다.
vec_train_X = output_model.predict(train_X, output_index=-2)
vec_test_X = output_model.predict(test_X, output_index=-2)
확인하기 위해 특징 벡터를 출력해 보겠습니다.
pandas.DataFrame(vec_train_X).head(2)
512차원 벡터를 얻은 것 같습니다. 굳이 일본어로 해석을 하면 0이나 1을 분류하기 위해 필요한 512요소가 됩니다.
512차원이 특징 추출기 역할을 하는지 확인
일단 이하의 코드로 높은 정밀도가 나오기 때문에 특징 추출기로서 다소는 사용할 수 있는 것 같은 생각이군요. 이제 autokeras를 사용하여 특징 벡터를 얻었습니다. 이것을 베이스로 하면 002vec를 간단하게 생산할 수 있을 것 같습니다.
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(solver="lbfgs")
lr.fit(vec_test_X, test_Y)
lr.score(vec_test_X, test_Y) # 0.9978378378378379
특징 벡터를 얻었지만 어떻게 사용합니까?
애초에 왜 이런 일을 할 필요가 있는가 하는 이야기가 됩니다. 〇〇2vec는 벡터 공간에 매핑하고 있으므로, 예를 들면 유사 데이터의 검색에 사용할 수 있을 것 같고, 근사 근방 탐색과 같은 워드로 조사하면 추천 엔진을 만들 수 있군요. 그리고는 데이터 분석시의 특징량으로서 사용할 수도 있을 것 같습니다. 이미지나 음성, 텍스트 등의 어색한 데이터 구조에 대해 사용하기 어려운 기법(로지스틱 회귀라든지)도 벡터로 변환할 수 있으면 분석하기 쉬워집니다.
Reference
이 문제에 관하여(autokeras를 사용하여 특징 량 추출기를 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shiibass/items/c1b7649019c1df965db1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(autokeras를 사용하여 특징 량 추출기를 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shiibass/items/c1b7649019c1df965db1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)