r2_score
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
r2_score는 확률값이 높으면 높을수록 좋은건가요?
- python
- 머신러닝
- 빅데이터
- pandas
- 빅데이터분석기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
r2_score는 확률값이 높으면 높을수록 좋은건가요?
해결됨
실전! 스프링 데이터 JPA
배운거를 적용하면서 쿼리 개선을 하고 있었는데, 혼자 해결해보려고 했으나 컬렉션 조회가 같이 섞이면서 이해가 잘 안 되는 것 같아 질문을 남기게 되었습니다. 게시글 목록을 불러올때 태그이름 리스트를 같이 필요하기 때문에 관련 memePostTags와 Tag까지 같이 조회를 해야하는 상황입니다. 테이블 관계가 MemePost 1 : N MemePostTag 1 : 1 Tag 이렇게 되어있을때 getMemePost5 메서드와 getMemePost6메서드 둘 중에 어느 것이 더 나은 방법인지, 아니면 더 나은 다른 방법이 있는지 궁금합니다. getMemePost5의 경우는 MemePostTagRepository에서 Tag까지 fetch join으로 불러오고, Map 객체에 postId를 key로 저장해서 태그 이름을 조회합니다. getMemePost6의 경우는 페이징으로 조회한 후 postIds를 in절로 postTag와 tag를 fetch join합니다. 컬렉션 조회의 경우 페이징을 안할 경우 fetch join으로, 페이징을 할 경우 batch size로 하라는 것까지는 이해가 되었는데, 이 경우에는 postTags를 batch size로 가져오고, 그에 다한 tag도 batchsize로 가져와 추가로 두번의 쿼리가 더 나가게 되어서 다른 방법을 고안해내다가 점점 미궁으로 빠지는 것 같아서 질문을 남기게 되었습니다 😂 public Slice<MemePostSummaryResponse> getMemePosts5(int page, int size, MemePostSort postSort, Long userId) { Pageable pageable = PageRequest.of(page, size, postSort.toSort()); Slice<MemePost> memePostSlice = memePostRepository.findSliceAll(pageable); List<Long> postIds = getPostIds(memePostSlice.getContent()); // MemePostTag와 Tag를 한번에 fetch join 하나의 쿼리로 하되, MemePostTagRepository에서 entitygraph를 통해 fetch join Map<Long, List<String>> postTagNames = memePostTagRepository.findTagsByMemePostIdIn(postIds) .stream() .collect(groupingBy(tag -> tag.getMemePost().getId(), mapping(tag -> tag.getTag().getName(), toList()))); //좋아요도 하나의 쿼리로 Set<Long> likedPostIds = new HashSet<>(memePostRepository.findLikedPostIds(postIds, user)); List<MemePostSummaryResponse> responses = memePostSlice.getContent().stream() .map(mp -> new MemePostSummaryResponse( mp, likedPostIds.contains(mp.getId()), postTagNames.getOrDefault(mp.getId(), Collections.emptyList()) )) .toList(); return new SliceImpl<>(responses, pageable, memePostSlice.hasNext()); } public Slice<MemePostSummaryResponse> getMemePosts6(int page, int size, MemePostSort postSort, Long userId) { Pageable pageable = PageRequest.of(page, size, postSort.toSort()); Slice<MemePost> memePostSlice = memePostRepository.findSliceAll(pageable); List<Long> postIds = getPostIds(memePostSlice.getContent()); // MemePostTag와 Tag를 한번에 fetch join memePostRepository.findAllWithTagsInPostIds(postIds); //좋아요도 하나의 쿼리로 Set<Long> likedPostIds = new HashSet<>(memePostRepository.findLikedPostIds(postIds, user)); List<MemePostSummaryResponse> responses = memePostSlice.getContent().stream() .map(mp -> new MemePostSummaryResponse( mp, likedPostIds.contains(mp.getId()), mp.getTagNames() )) .toList(); return new SliceImpl<>(responses, pageable, memePostSlice.hasNext()); } public interface MemePostRepository extends JpaRepository<MemePost, Long>, MemePostRepositoryCustom { @Query("SELECT mp FROM MemePost mp where mp.deletedAt IS NULL") Slice<MemePost> findSliceAll(Pageable pageable); @Query("SELECT mp.id FROM MemePost mp " + "JOIN MemePostLike mpl ON mpl.memePost = mp " + "WHERE mp.id IN :postIds AND mpl.user = :user") List<Long> findLikedPostIds(@Param("postIds") List<Long> postIds, @Param("user") User user); @Query("SELECT mp FROM MemePost mp " + "LEFT JOIN FETCH mp.memePostTags mpt " + "LEFT JOIN FETCH mpt.tag " + "WHERE mp.id In :postIds") List<MemePost> findAllWithTagsInPostIds(@Param("postIds") List<Long> postIds); } public interface MemePostTagRepository extends JpaRepository<MemePostTag, Long> { @EntityGraph(attributePaths = {"tag"}) List<MemePostTag> findAllByMemePostId(Long postId); @EntityGraph(attributePaths = {"tag"}) List<MemePostTag> findTagsByMemePostIdIn(List<Long> memePostIds); } public class MemePost { public List<String> getTagNames() { return memePostTags.stream() .map(mpt -> mpt.getTag().getName()) .toList(); } }
미해결
실전! Querydsl
안녕하세요. 최근 querydsl 공부를 시작하려고 정보를 찾던 중 querydsl에 대한 SQL Injection 에 관한 내용을 보고 김영한님의 생각이 궁금합니다! 그리고 querydsl 지원중단 얘기를 보기도 해서 이런 취약점이 나올 때마다 빠른 대응이 되는지 역시 궁금합니다!! https://www.csirt.sk/querydsl-java-library-vulnerability-permits-sql-hql-injection.html
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 핸들링을 위한 판다스 기초1 강의 중 type(df)를 적으면 pandas.core.frame.DataFrame 말고도 뭔가 가 뜹니다. 그냥 print(type(df))를 적으면 아래와 같은게 안뜨는데, 무슨 에러인가요? pandas.core.frame.DataFrame def __init__(data=None, index: Axes | None=None, columns: Axes | None=None, dtype: Dtype | None=None, copy: bool | None=None) -> None /usr/local/lib/python3.10/dist-packages/pandas/core/frame.pyTwo-dimensional, size-mutable, potentially heterogeneous tabular data. Data structure also contains labeled axes (rows and columns). Arithmetic operations align on both row and column labels. Can be thought of as a dict-like container for Series objects. The primary
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험에서 문제 제출했는데 코드 수정하고 다시 제출해도 되나요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3유형은 문제에서 로지스틱회귀인지 회귀분석인지 알려주나요,,,?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제에서 답안 예시를 0또는 1로 명기하고 있는데요 Roc auc로 평가한다고 했기때문에 1일 확률값을 답안으로 제출해도 되는건지요 ?
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
ROC AUC로 평가 할때, 예측을 확률로 하는 이유가 있을까요? 그냥 0또는 1로 예측하면 안될까요? 여자 0, 남자 1로 성별이 정해지면 여자일 확률을 예측하는지, 남자일 확률을 예측하는지 문제에서 정의되지 않았는데, 강사님께서 남자일 확률을 예측하는 것으로 정한 이유가 궁금합니다.
미해결
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. postgresql 을 다른 서버에 연결하여 사용중인데요. runserver 시에는 정상 작동하나 강사님이 올려주신 pytest를 똑같이 설정하고 실행하면, schema가 없어서 table을 생성할 수 없다는 오류가 발생합니다. MigrationSchemaMissing("Unable to create the django_migrations table 일단은 settings.py를 sqlite3로 변경하여 정상 작동은 시켰는데요 어떻게 수정할 수 있을까요? 또한 올려주신 소스코드에서 import factory from accounts.models import User class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User django_get_or_create = ("username",) username = factory.Sequence(lambda n: f"user{n}") email = factory.LazyAttribute(lambda user: f"{user.username}@example.com") # UserFactory 인스턴스 생성 시에, 암호 입력을 지원하기 위함 # raw_password 필드가 아니라 password 필드로 지정하면, 암호화없이 입력값 그대로 저장됩니다. raw_password = factory.Faker("password") @classmethod def _create(cls, model_class, *args, **kwargs): # raw_password 필드값을 암호화하여 password 필드에 저장합니다. # User 모델에는 raw_password 이름의 필드가 없으므로 kwargs 사전에서 제거해줘야만 합니다. raw_password = kwargs.pop("raw_password", None) if raw_password: kwargs["password"] = make_password(raw_password) return super()._create(model_class, *args, **kwargs) make_password 부분이 import 되어 있지 않습니다. git에서는 수정되어 있는 모양인데 참고 부탁드립니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
현재는 train.csv로 출제되기에, 인코딩 전 타겟데이터를 분리해서 target = train.pop('col') 하잖아요? 만약 x_train, y_train 분리 시, 인코딩 전에 (혹은 아무 과정에서나) target = y_train.pop('col') 처럼 분리해도 되죠? 이 과정이 모델링 시, model.fit(x_train, y_train['col']) 과 마찬가지인 것이죠??
해결됨
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
어떤문장을 찾아가서 개요 수준 1로 지정이가능할까요?? 개요스타일을. 없음으로 변경하는 방법이 있을까요? 감사합니다.
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
solar 와 o3 가 고정된 상태의 다중선형회귀 분석이면 temperture ~ wind 로 회귀분석을 해야 하는거 라고 생각했습니다 그냥 위에서 한거 그대로 활용해서 pvalue 값만 가져와도 되는건가요
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 6번 유형 2번에서 XGBClassifier를 써 보니 오류가 나네요 원인이 무엇인지 잘 모르겠습니다. ㅜ.ㅜ ValueError Traceback (most recent call last) <ipython-input-40-1402441d5d03> in <cell line: 30>() 28 from xgboost import XGBClassifier 29 xg = XGBClassifier() ---> 30 xg.fit(x_tr, y_tr) 31 pred2 = xg.predict(x_val) 32 1 frames /usr/local/lib/python3.10/dist-packages/xgboost/sklearn.py in fit(self, X, y, sample_weight, base_margin, eval_set, verbose, xgb_model, sample_weight_eval_set, base_margin_eval_set, feature_weights) 1489 or not (classes == expected_classes).all() 1490 ): -> 1491 raise ValueError( 1492 f"Invalid classes inferred from unique values of `y`. " 1493 f"Expected: {expected_classes}, got {classes}" ValueError: Invalid classes inferred from unique values of `y`. Expected: [0 1 2 3 4], got ['High' 'Low' 'Medium' 'Very High' 'Very Low']
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
get_dummies 에서 drop_first=True 를 필수로 작성해야하나요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
계속 코랩으로 연습하다보니 궁금해 문의드립니다. 유형2에서 베이스라인잡아놓고 돌아와서 인코딩이나 스케일할때 강의중에는 이전셀실행을 사용하는데 시험환경에서는 이전셀실행 기능이 있는지와 어떤식으로 해당 기능이 적용되는가 급 궁금해 질문드립니다.
해결됨
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 영한님 강의 잘 듣고 있습니다!! 지금 강의도 정말정말 좋고 많은 것을 다루지만, 이런 것들을 다룰 예정은 없는지 여쭤보고 싶습니다! Lock next level(자바) ReadWriteLock, StampedLock, Mutex, Semaphore 비동기/멀티스레드 next level(feat. 스프링) CountDownLatch 사용법, Transaction 동시성 테스트, 멀티스레드를 활용한 성능/부하 테스트 방법 항상 잘 배우고 있습니다 감사합니다 ☺
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
랜덤포레스트에서 estimators와 depth 파라미터 수정할때, 둘중 어떤것을 미세조정으로 먼저 맞추는 것이 낫나요? 그리고 estimators=100, depth =3이라고 하셨는데, 아무것도 설정 안해줫을 값이랑 같지가 않습니다. 아무것도 설정안해주며 자동으로 기본값으로 되는거아닌가요
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
아래와 같이 코딩을 했는데, RMSE값이 42만 정도가 나옵니다. 강사님 강의에서는 4만 수준으로 나오는데요. 무엇이 잘못된건지 모르겠습니다...ㅜ import pandas as pd train=pd.read_csv('mart_train.csv') test=pd.read_csv('mart_test.csv') # print(train.info(), test.info()) y=train.pop('total') # print(y.describe()) # print(train.info(), test.info()) print(train.shape, test.shape) total=pd.concat([train,test], axis=0) print(total.shape) total=pd.get_dummies(total) print(total.shape) train=total[0:700] test=total[700:] print(train.shape, test.shape) from sklearn.model_selection import train_test_split X_train, X_val, y_train, y_val = train_test_split(train, y, test_size=0.2, random_state=2024) print(X_train.shape, X_val.shape, y_train.shape, y_val.shape) from sklearn.ensemble import RandomForestRegressor rf=RandomForestRegressor(random_state=2024) rf.fit(X_train, y_train) pred=rf.predict(X_val) # print(pred) from sklearn.metrics import mean_squared_error print(mean_squared_error(pred, y_val)**0.5) result=rf.predict(test) # print(result) print(result.shape) final=pd.DataFrame({ 'pred':result }) final.to_csv('result.csv', index=False)
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
타겟값 변경은 주로 분류 문제 에서 범주형 라벨을 숫자로 변환해야 할 때 사용됩니다. 예를 들어, 이진 분류에서는 True/False , Yes/No 와 같은 값이 입력될 수 있으며, 이러한 값을 0 과 1 처럼 변환하여 모델에서 사용할 수 있습니다. 예로 주신 (y_test['income'] != '<=50K').astype(int) 은 소득이 특정 값보다 작거나 큰지를 0과 1로 변환하는 작업입니다. 이 작업은 타겟 라벨을 모델에서 이해할 수 있는 형식으로 변환하기 위해 필요합니다. 그렇다면 범주형을 숫자로 변환해서 모델에서 이해하도록 변경해야하는 경우는 그럼 어떤 경우가 있을까요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
[6. 학습 및 평가] 단계에서 RandomForestClassifier / RandomForestRegressor 까지만 하고 평가지표를 뽑아보지 않은 상태로 [7.예측 및 제출]을 해도 무방하지 않은지 궁금해졌습니다. (방금 빼먹고 푼 거 맞습니다.ㅠ) 처음 나온 평가지표를 기준점으로 삼아 위에서 전처리 작업 등을 추가하지 않는 극초보생 기준의 궁금증입니다. 작업형2를 반드시 40점 맞아야하는 관점에서 답변해주시면 감사하겠습니다. (평가지표 다시 외우는 중~ㅋ)