• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Python, SQL 게시판 CSV 데이터 강의에서 predict하는 법

CSV 데이터 강의에서 predict하는 법

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #47474

    정수진
    참가자
    CSV 파일 다루는 강의에서 predict를 해보려는 과정에서 오류가 났는데 어떻게 해결 하면 좋을까요?
    처음에 딕셔너리 형태의 데이터를 준비하고, feature_column으로 전처리를 진행한뒤 바로 predict를 진행하면 될것같은데,
    pre_feature_columns을 predict에 바로 넣었더니 numpyarray로 바꿔야 한다고 해서 np.array()를 추가했는데도 잘 해결되지 않아서 질문드립니다..
    ------------- 코드
    
    # 예측하기
    predict_person=({'PassengerId': [600], 'Pclass': [3], 'Name': ["person"], 'Sex': ["male"], 'Age': [23], 'SibSp': [1], 'Parch': [2], 'Ticket': ["373450"], 'Fare': [32.2], 'Embarked': ["S"]})
    # 데이터 전처리
    pre_feature_columns = []
    pre_feature_columns.append( tf.feature_column.numeric_column('Fare') ) # 노말라이저 함수 추가 기능(모든 데이터에 함수를 적용해줌)
    pre_feature_columns.append( tf.feature_column.numeric_column('Parch') )
    pre_feature_columns.append( tf.feature_column.numeric_column('SibSp') )
    Age = tf.feature_column.numeric_column('Age')
    age_bucket = tf.feature_column.bucketized_column(Age, boundaries=[10, 20, 30, 40, 50, 60])
    pre_feature_columns.append(age_bucket)
    # 카테고리 데이터
    vocab = data['Sex'].unique()
    cat = tf.feature_column.categorical_column_with_vocabulary_list('Sex', vocab)
    one_hot = tf.feature_column.indicator_column(cat) # 카테고리 데이터를 원핫 인코딩함
    pre_feature_columns.append(one_hot)
    # Embarked 전처리
    vocab = data['Embarked'].unique()
    cat = tf.feature_column.categorical_column_with_vocabulary_list('Embarked', vocab)
    one_hot = tf.feature_column.indicator_column(cat) # 카테고리 데이터를 원핫 인코딩함
    pre_feature_columns.append(one_hot)
    # Pclass 전처리
    vocab = data['Pclass'].unique()
    cat = tf.feature_column.categorical_column_with_vocabulary_list('Pclass', vocab)
    one_hot = tf.feature_column.indicator_column(cat) # 카테고리 데이터를 원핫 인코딩함
    pre_feature_columns.append(one_hot)
    # Embedding
    vocab = data['Ticket'].unique()
    cat = tf.feature_column.categorical_column_with_vocabulary_list('Ticket', vocab)
    one_hot = tf.feature_column.embedding_column(cat, dimension=9) # 카테고리 데이터를 원핫 인코딩함
    pre_feature_columns.append(one_hot)
    import numpy as np
    # 예측하기
    array_predict = np.array(predict_person)
    print(array_predict)
    predict = model.predict(array_predict)
    print(predict)
    ---------------
    오류 내용
    {'PassengerId': [600], 'Pclass': [3], 'Name': ['person'], 'Sex': ['male'], 'Age': [23], 'SibSp': [1], 'Parch': [2], 'Ticket': ['373450'], 'Fare': [32.2], 'Embarked': ['S']}
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-87-1e21f907f4c7> in <module>
         47 print(array_predict)
         48 
    ---> 49 predict = model.predict(array_predict)
         50 print(predict)
     
    1 frames 
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/constant_op.py in convert_to_eager_tensor(value, ctx, dtype)
        100       dtype = dtypes.as_dtype(dtype).as_datatype_enum
        101   ctx.ensure_initialized()
    --> 102   return ops.EagerTensor(value, ctx.device_name, dtype)
        103 
        104
    ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type dict).
    ----------------------
    혹시 predict를 하려면 어떻게 해야할까요?
    감사합니다.
     
    #47508

    codingapple
    키 마스터
    데이터에 있는 [] 자료들을 np.array([]) 로 바꿔봅시다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠