안녕하세요 정환님! 항상 강의 감사한 마음으로 잘 듣고 있습니다. 이번 이미지 업로드 구현하기2 강의를 끝까지 듣고 따라하던중 스토리지에 이미지 업로드 병렬로 요청 시 제가 업로드 시도한 이미지 4장 중 1장이 허용 사이즈 초과로 스토리지 업로드 요청이 실패 했었는데요, 당연히 이미지 업로드 실패로 await deletePost(post.id); 가 호출되 post.id를 받기위해 먼저 생성한 포스트가 삭제되어 포스트 자체가 안된것처럼 동작했습니다. 근데 storage에서는 업로드 요청이 실패된 이미지를 제외하고 나머지 3장의 이미지가 저장이 되어있더라고요! 간단하게 4장 병렬 이미지 업로드 요청 > 3장 성공 1장 실패 > 이미지 업로드 일부 실패로 포스트 삭제 > storage에는 성공한 3장의 이미지만 존재, 포스트는 없음 이 상태여서 혼자 찾아봐서 추가해봤는데 맞는지도 궁금하고 맞다면 다른 분들도 비슷한 상황에서 도움이 될까 싶어 올립니다!! images.ts 파일에 스토리지에서 이미지 삭제하는 비동기 요청 함수 export async function deleteImages(filePath: string[]) { const { data, error } = await supabase.storage .from(BUCKET_NAME) .remove(filePath); if (error) throw error; return data; } post.ts > createPostWithImages 함수 에서 try, catch문 밖에 업로드전 생성한 filePath 저장할 배열 값을 갖는 변수 선언 const uploadedFilePaths: string[] = []; const imageUrls = await Promise.all( images.map((image) => { const fileExtension = image.name.split(".").pop() || "webp"; const fileName = `${Date.now()}-${crypto.randomUUID()}.${fileExtension}`; const filePath = `${userId}/${post.id}/${fileName}`; uploadedFilePaths.push(filePath); return uploadImage({ file: image, filePath, }); }), ); uploadImage 리턴 전에 생성한 filePath값 저장 catch문에서 if (uploadedFilePaths.length > 0) { await deleteImages(uploadedFilePaths); } 조건문 추가 최종 결과 병렬 요청중 일부의 요청이 파일의 크기 초과 등으로 실패하면 throw error > await deletePost(post.id); if (uploadedFilePaths.length > 0) { await deleteImages(uploadedFilePaths); } throw error; 포스트 삭제, 스토리지 이미지 삭제 글을 잘 못써서 가독성이 떨어지는 부분은 양해부탁드립니다..
# 시험환경 세팅 import pandas as pd from sklearn import datasets dataset = datasets.load_diabetes() df = pd.DataFrame(dataset['data'], columns=dataset['feature_names']) df.to_csv("data1-2.csv", index=False) ##################################################################### # 출력을 원할 경우 print() 함수 활용 # 예시) print(df.head()) # getcwd(), chdir() 등 작업 폴더 설정 불필요 # 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가 # 데이터 파일 읽기 예제 import pandas as pd a = pd.read_csv("data1-2.csv") # 사용자 코딩 #print(a.info()) print(a.shape) #print(a.isnull().sum()) df = a[['s1','s2','s3','s4','s5','s6']] df = df.sum(axis=1) #print(df) result = df>0.1 print(sum(result)) 이런식으로 코드를 짜서 답은 맞게 나왔는데요, 사실 [[]]두 번쓴 이유는 딱히 없기는해요 ㅠㅠ 에러가 떠서 [[]]해봤는데 된거라서.. 혹시 이렇게 구해도 되는 건지, 된다면 혹시 [[]]에 대한 설명도 같이 들을 수 있을까요?
컴퓨터 공학에 아예 문외한이기도 하고 시험 준비 기간도 짧아 최대한 문제를 풀 수 있는 정도만 준비해가려고 합니다 작업형 2번은 타겟 분리 트레인, 테스트 합쳐서 원핫인코딩 후 재분리 검증데이터 분할 랜덤포레스트(Classifier/Regressor) 적용하여 피팅 pred로 바로 테스트 데이터 예측(predict 또는 predict_proba) DataFrame 생성 후 제출 제출물 shape가 test와 맞는지 확인 이정도로 준비해가려고 합니다 어차피 한가지 타입으로 해서 낼거면 평가는 별도 안해봐도 괜찮을까요?
model = logit('gender ~ weight', data=train).fit() pred = model.predict(test) from sklearn.metrics import accuracy_score score = accuracy_score(pred, test['gender']) print(1-score) 이 코드를 실행하면 ValueError: Classification metrics can't handle a mix of continuous and binary targets 이렇게 연속된 값과 이진분류를 혼용했다는 오류가 뜨는데, model = LogisticRegression() model.fit(X_train, y_train) # 3) 테스트 데이터를 사용해 예측 pred = model.predict(X_test) # 4) 실제 값과 예측값을 사용하여 정확도 계산 acc = accuracy_score(y_test, pred) # 5) 오류율 계산 print(round(1 - acc, 3)) 강사님의 두번째 풀이 코드(위 코드)를 실행하면 아무런 문제가 없어서, 두 코드 전부 accuracy_score에 실제 값과 예측값을 넣어주었음에도 실행 결과가 차이가 나는 이유가 궁금합니다. 혹시 LogisticRegression()으로 모델을 생성하면 결과가 0,1의 이진값으로 나오고, logit()으로 모델을 생성하면 결과가 0과 1 사이의 확률값으로 나와서, 모델 생성에 logit()을 사용했다면 accuracy score를 구해야 하는 경우 확률값이 0.5보다 큰지 작은지를 구분하는 후처리를 해줘야 하는 것인 걸까요? 감사합니다.
예제코드 다운받은거 실행시킬때는 04-04, 04-05와 같이 폴더 기준으로 다음예제 넘어갈때마다 npm install, npm run dev두개명령어 쳐서 실행시키는거 맞나요? 추가로 예제 코드에서 안하고 직접 처음부터 만들어서 하려면 처음에 했던 npm create vite@latest . 이 명령어로 하는거 맞죠?
안녕하세요 챗지피티때문에 헷갈리는데 정리 한 번만 부탁드려요 그냥 df['after'],df['before']로 쓰면 ud = after-before(앞-뒤)이 되는거고 stat.ttest_rel(df['before'],df['after'],alternative='less')를 쓰면 ud = before-after(앞-뒤)가 되는 것이죠?? ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
궁금한 점이 몇가지 있는데 만약 작업형 2에서 EDA에서 info를 해봤을때 object 컬럼이 없다면 인코딩을 진행 안하는것이 맞을까요? 2. 평가 과정에서 precision과 recall은 해보지 않았던것 같은데 불러올때 from sklearn.metrics import precision_score from sklearn.metrics import recall_score 이렇게 불러온다음 나머지 과정은 accuracy와 동일하게 진행해주면 될까요? 감사합니다.
[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]
안녕하세요. 강의를 수강하면서 한 가지 오류가 반복적으로 발생하여 질문드립니다. 현재 아래 코드를 실행하는 과정에서 문제가 발생하고 있습니다. score = cross_val_score(knn, X_train, y_train.values.ravel(), cv=k_fold, n_jobs=-1, scoring='accuracy') print(score) 셀을 실행하면 다음과 같은 오류 메시지가 지속적으로 출력됩니다. UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-20: ordinal not in range(128) 이 오류는 예전에도 Jupyter Notebook을 사용할 때 동일하게 발생하여 해결에 어려움을 겪었고, 이번 강의를 따라가는 과정에서도 같은 문제가 반복되고 있습니다. 구글링과 GPT 등을 통해 여러 해결 방법을 시도해보았으나, 환경 변수 설정, 터미널 인코딩 변경, 관련 코드 수정 등 어떤 방법도 효과가 없었습니다. (제가 방법을 잘못 이해한 것일 수도 있습니다.) 혹시 이 문제가 발생하는 원인과 해결 방법에 대해 조언을 주실 수 있을까요? 항상 좋은 강의 제공해주셔서 감사드립니다. - 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.) - 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 24시간 내에 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~ - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.