설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
패키징시 이런 문제들이 뜹니다. 해결책에 대해서 여쭤보고싶습니다. [IP_Flow 19-11770] Clock interface 's00_axi_aclk' has no FREQ_HZ parameter. [IP_Flow 19-2187] The Product Guide file is missing. [IP_Flow 19-11888] Component Definition ' xilinx.com :user:cnn_core_test_ci3_co32_v1_0:1.0 (cnn_core_test_ci3_co32_v1_0_v1_0)': IP description "cnn_core_test_ci3_co32_v1_0_v1_0" is not meaningful: same as name or display name
from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state = 0, max_depth = 3, n_estimators = 200) model.fit(X_tr, y_tr) pred_proba = model.predict_proba(X_val) from sklearn.metrics import roc_auc_score print(pred_proba) print(roc_auc_score(y_val, pred_proba[:, 1])) 안녕하세요, 모델학습 후 검증하려고 하니 print(roc_auc_score(y_val, pred_proba[:, 1]))에서 아래와 같은 오류가 발생합니다. list indices must be integers or slices, not tuple 혹시 pred_proba의 형태에 문제가 있어서 그러나 출력해봤더니 아래처럼 array가 2개가 뜨는데 원래 출력되던 값이랑 다른 것 같기도 한데 어떤 부분이 잘못된걸까요..? [array([[6.17771951e-04, 3.90720727e-04, 5.61044129e-04, ..., 1.88014875e-05, 2.71602426e-05, 9.26113606e-05], [4.72241735e-04, 7.55194719e-04, 3.70085375e-04, ..., 7.58005053e-06, 2.24283166e-05, 3.95537961e-05], [2.06135825e-05, 1.04454196e-05, 1.96540881e-06, ..., 2.93436306e-05, 1.84382330e-05, 6.98070487e-05], ..., [2.26718012e-05, 2.39307053e-05, 1.96540881e-06, ..., 3.02043842e-05, 1.54553261e-05, 6.62548451e-05], [1.51536674e-05, 2.15648698e-05, 2.06815630e-06, ..., 4.15875993e-05, 3.06270026e-05, 3.26545900e-05], [2.84102759e-05, 1.47138847e-05, 6.29396294e-06, ..., 3.17093190e-05, 1.71020727e-05, 4.92247989e-05]]), array([[0.05156594, 0.94843406], [0.0402204 , 0.9597796 ], [0.54197093, 0.45802907], ..., [0.53420482, 0.46579518], [0.5344612 , 0.4655388 ], [0.53436829, 0.46563171]])] @ 위 문제를 기존에는 y_train의 'ID' 값을 drop하지 않았다가, y_train의 'ID' 값을 drop하니 해결되었는데 그것과 관련이 있는 것일까요? 그리고, 'ID'값을 제거하려고 할 때에는 X_train, y_train, X_test 세 데이터 프레임 모두의 'ID'값을 반드시 제거해야 하는 것인가요?
검증 데이터 분리 시, X_tr ~ = train_test_split( train.drop('output', axis=1) 에서 전단계에서 데이터 전처리 할 때, 이미 train에서 output 드랍하고 train에 저장했는데 (train = train.drop('output')) 검증 데이터 분리 작성 시 다시 drop 해주는 이유가 있나요? X_tr ~ = train_test_split( train) 이렇게 바로 하면 안되나요?
안녕하세요! 명목형 자료의 인코딩 시 Test 데이터에만 있는 Unique 값이 있을 수 있어 데이터를 합치고 인코딩 한 후에 다시 분리하는 것으로 이해하였습니다. 예시에 사용된 원핫인코딩의 pd.get_dummies와 달리 라벨인코딩의 경우 사이킷런의 인코더를 이용하는데, 이에 따라 fit_transform, transform으로 나누어 진행하는 것 같습니다. 질문은! 라벨인코딩의 경우에 Train, Test 데이터를 합쳐서 인코딩 할 때 fit_transform을 사용하면 될까요?
안녕하세요 강사님 강의 잘 봤습니다. 덕분에 kafka와 redis를 어떤식으로 사용할 수 있는지 많은 걸 엿볼 수 있는 느낌이었습니다. 강의가 다 진행되고 난 후 궁금한 점이 하나 있습니다. 쿠폰 생성 에러 처리 관련되어서 질문이 있는데, 만약 메시지를 수신하는 쪽이 아니라 발송하는 쪽에서 문제가 생겼다면 어떻게 해야하나요? 예를들어 redis에서 increment로 수량에 대해서 가져왔지만, 만약 kafka에 메시지를 보내는 것이 실패 될 경우 reids에 있는 값을 다시 하나 줄여야할 것 같습니다. 이런 경우 try catch 블럭으로 처리를 하는 지? 아니면 다른 방식으로 예외처리 하는지 궁금합니다.
안녕하세요! 결측치 처리 시에 아래와 같이 수치형 컬럼의 경우 Train 데이터의 평균, 중앙값을 Test 데이터 결측치 처리에 사용한 반면, 명목형 컬럼의 경우 Test 데이터 결측치 처리 시에 Test 데이터의 최빈값을 이용한 이유가 궁금합니다! 통상적으로 이렇게 진행되는 것인지, 아니면 해당 데이터셋의 경우 Train 데이터와 Test 데이터의 최빈값이 동일해서 단순히 이렇게 처리된 것인지 궁금합니다! # X_train데이터 X_train['workclass'] = X_train['workclass'].fillna(X_train['workclass'].mode()[0]) X_train['native.country'] = X_train['native.country'].fillna(X_train['native.country'].mode()[0]) X_train['occupation'] = X_train['occupation'].fillna("X") X_train['age'] = X_train['age'].fillna(int(X_train['age'].mean())) X_train['hours.per.week'] = X_train['hours.per.week'].fillna(X_train['hours.per.week'].median()) # X_test데이터 X_test['workclass'] = X_test['workclass'].fillna(X_test['workclass'].mode()[0]) X_test['native.country'] = X_test['native.country'].fillna(X_test['native.country'].mode()[0]) X_test['occupation'] = X_test['occupation'].fillna("X") X_test['age'] = X_test['age'].fillna(int(X_train['age'].mean())) X_test['hours.per.week'] = X_test['hours.per.week'].fillna(X_train['hours.per.week'].median())
조건 대륙('continent')별 맥주 소비량(‘beer_servings’)의 평균을 계산하고, 평균이 가장 큰 대륙을 찾으시오. 1번에서 찾은 대륙에서 맥주 소비량이 5번째로 많은 국가(‘country’)의 맥주 소비량을 구하시오. 이 문제를 풀 때 정답과는 조금 다르게 풀었는데 단순히 답만 나오면 상관 없나요 ? 선생님이 풀이해주신 걸 보면, 별도의 변수를 만들어 대입 후 비교를 하셨는데, 저같은 경우는 데이터프레임에 바로 대입을 하고, 1번 조건이 Europe인 것을 확인 후 주석처리를 했습니다. # df = df.groupby('continent').mean('beer_servings') # df = df.sort_values('beer_servings',ascending = 0) # 평균 가장 큰 대륙 : Europe cond = df['continent'] == 'Europe' df = df.sort_values('beer_servings', ascending = 0) print(df.iloc[4, 1]) 이후 조건 변수에 대입 후 313 답을 도출했는데, 이렇게 풀면 틀릴까요 ?
안녕하세요 선생님, 강의 잘 듣고 잇습니다. 머신러닝 분석 절차는.. (1) train 데이터를 tr과 val로 분리 (2) tr 데이터로 학습 (3) val 데이터로 성능평가 (4) 그리고 test 데이터로 예측결과 제출 위 순서인 것으로 이해했는데, (4)번에서 train(tr+val) 데이터가 아닌 tr 데이터로 학습한 것을 바탕으로 예측한 결과를 제출하는건가요? train(tr+val) data로 다시 학습한 후에 예측하지 않아도 되는 것인지 궁금합니다.
지금 데이터를 보면 Roof 데이터에 수치형과 범주형이 동시에 존재하는데 저는 범주형 데이터를 라벨인코딩 진행 후 , 데이터분할, 랜포돌림, 그리고 마지막으로 예측하려고하니 다음과 같이 나왔습니다. 에러 내용을 보니... test데이터에 존재하는 object 때문에 이러한 문제가 발생하는 것 같은데... 이처럼 하나의 열에 수치형, 범주형이 동시에 존재하면 이 경우에는 원-핫인코딩을 쓰는게 더 나을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. String 선언시 리터럴 방식으로하면 String Pool에 해당 문자열이 있는지 확인하고, 있다면 해당 문자열의 참조값을 사용하는 것으로 알고 있는데요. 반면 new 연산자를 이용하는 방식은 String Pool 을 거치지 않고 항상 새로운 String 객체를 생성하는걸로 알고있습니다. PDF 파일 2페이지에 이런 내용이 있는데요. 편의상 쌍따옴표로 문자열을 감싸면 자바 언어에서 new Stirng("hello") 와 같이 변경해준다. 리터럴 방식도 new 연산자를 이용하는 방식으로 자바가 변경해주는거라면 Heap 영역에 항상 새로운 String 객체를 생성하게 되는게 아닌지 궁금합니다. 감사합니다. 😃
제가 작업형2를 학습중인데 모르는 부분이 생겨서 질문드립니다. 작업형2에서 EDA를 진행할 때 기초통계값에서는 어떠한 부분을 확인하나요? RobustScaler나 MinMaxScaler같은 전처리 함수는 수치형데이터를 전처리할 때 사용하는 함수인가요? 그렇다면 기출8회 작업형2에서는 왜 LabelEncoder만 진행을하고 수치형데이터에는 따로 전처리를 진행하지 않은건가요? 기출8회 작업형2에서 customerID를 제거하던데 왜 ID값들은 제거해야하나요? 질문 답변해주시면 감사하겠습니다!!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 처음에 제가 풀 땐 이렇게 해서 풀었는데 nullPointException 에러가 터졌습니다. 이런 에러가 터진 이유와 그리고 제 생각이 왜 틀린건지 설명해주시면 감사하겠습니다.