안녕하세요~~ 루비네 코딩 입니다 ^^ 최근 앱을 런칭할 때 다음과 같은 오류가 발생하고 있습니다. ModuleNotFoundError: No module named 'altair.vegalite.v4' 이런경우, 다음과 같이 altair 패키지의 버전을 바꾸어 설치해 주세요 ^^ 감사합니다~ pip uninstall altair pip install altair==4.2.2
안녕하세요 연구실에서 자체적으로 실험기기와 컴퓨터랑 통신을 진행하는 중인데, 하나가 해결이 안 되어서 너무 답답해서 고수님들께 자문을 구하려고 합니다. Rs232 rtu 모드를 지원한다고 한 OS-20 overhead stirrer과 통신을 진행 중 입니다. 이 친구의 통신 규격과 방식은 아래 그림 3개와 같습니다. 이중 stirrer control 부분을 제가 참조해서 저 command를 hex 방식으로 입력하였는데 도무지 안되는 겁니다. 그런데 웃긴게 이 회사에서 지원하는 공식 통신프로그램을 사용하면 작동이 잘 되더군요. Instruction overview에서 나온 규칙은 다음과 같습니다. Command 구조는 Prefix Instruction_code Data_frame Checksum로 되어 있고 입력의 prefix는 0xfe로 시작하며 responce는 0xfd로 시작합니다. 모든 바이트 사이에는 50ms delay가 존재해야하며 Dataframe은 큰 수 자리부터 전송합니다. ex) 1000rpm을 data frame에 입력하려고 할 시 Hex값이 03E8이니까 앞에 두 자리를 0x03에 해당하고 뒤에 두 자리를 0xE8로 해당시킵니다. Null은 0x00입니다. Checksum 방식은 0xfe,0xfd인 prefix를 제외하고 나머지를 전부 더한 값으로 0xnn 이런식으로 표현됩니다. 신기하게도 16진수의 2자리를 넘어가도 뒤에 2 자리만 붙이면 된다고 하더군요. ex) 0xfe 0xb1 0x03 0xe8 0x00 checksum인데 0xfe를 제외하고 다 더하면 019c이지만 0x9c만 입력하면 되는 형식입니다. 그래서 이 규칙대로 코드를 짜서 통신을 해 보았는데, 아무리 해도 안되어서 너무 답답합니다. 심지어 제가 잘못했는지 확인하려고 시리얼 통신 sniffer을 사용하여서 공식 프로그램에서는 어떻게 통신이 되나 뜯어보았습니다. 결과는 아래 사진과 같습니다. 제가 python으로 작성한 코드는 아래와 같습니다. import serial import time ser = serial.Serial( port='COM7', # Update with your actual port baudrate=9600, parity=serial.PARITY_NONE, # No parity stopbits=serial.STOPBITS_ONE, # 1 stop bit bytesize=serial.EIGHTBITS # 8 data bits ) def send_hex_string(hex_string): # Convert the hex string to bytes byte_data = bytes.fromhex(hex_string) # Send the bytes over the serial port ser.write(byte_data) def send_hex_string_with_delay(hex_string, delay_ms=50): for i in range(0, len(hex_string), 2): # Extract each pair of characters and convert to bytes hex_pair = hex_string[i:i + 2] byte_data = bytes.fromhex(hex_pair) # Send the bytes over the serial port ser.write(byte_data) # Wait for the specified delay time.sleep(delay_ms / 1000.0) command = 'feb103e8009c' send_hex_string_with_delay(command) ser.close() 또한 파이썬에서의 결과를 시리얼 전송으로 보면 다음과 같습니다. 입력은 제대로 되는데 기기에는 반응이 제대로 나오지 않네요... 제가 잘못하고 빠뜨린 점이 있을까요? 읽어주셔서 정말 감사드립니다.
이전까지는 도커 서비스를 잘 수행이 됐었습니다. 이번 강의에서 docker-compose.yaml파일을 수정 후 서비스를 내렸다가 다시 올리려고 하니 사진처럼 해당 로그까지만 찍힌 후에 더 이상 진행이 되지 않고 있습니다. 계속 기다려봐도 상태가 그대로인 것을 보아하니 어딘가 문제가 생긴 것 같습니다. yaml파일은 올려주신 파일과 비교해봤을 때 오타나 다른 문제는 없는 것 같습니다. 원래의 docker-compose.yaml로 교체하면 잘 실행이 되는 상태입니다. 뭐가 문제일까요?
이전 단일 표본 검정에서 정규성 검증을 진행할 때 willcoxon 코드를 알려주실 때stats.wilcoxon(df[’무게‘]-120, alternative=’less’)와 같이 알려주셨는데 이번 대응표본 검정에서 정규성 검증을 진행할 때 willcoxon는 stats.wilcoxon(df[‘after’] ,df[‘before’], alternative = ‘greater’)와 같이 알려주셨습니다.또한 강의에서도 after와 before의 값을 빼서 넣은 값인 df['diff']를 그대로 사용해도 된다고 말씀하셨습니다.그래서 아래 사진과 같이 임의로 df[‘after’] - df[‘before’]를 넣어서 실행해봤는데 결과값이 똑같이 나왔습니다. 그럼 단일 표본 검정에서 알려주신대로 df[’무게‘]-120와 같이 df[‘after’] - df[‘before’]로 생각하고 넣어줘도 무방한 것인가요?
ANOVA를 배울때는 ols 사용할때 독립변수 앞에 C()를 붙이는것이 분산분석은 범주형 분석이기에 앞에 C를 붙인다고 생각했는데요~ 로지스틱 회귀분석은 독립변수가 수치형, 종속변수가 이산/명목형으로 알고있는데.. Gender 앞에 C를 붙이는 이유가 있을가요? 오히려 Gender은 수치로 바꿔줘야할것 같은데.. 혹시 C 의 의미가 수치형->범주형, 범주형->수치형으로 양쪽 모두 바꿔주는 역할인건지 궁금합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 문제 지문에서알려주는 제출 CSV 파일 형식은 0, 1, 1, 0 ... 이런 predict 결과값인데 0.11385 와 같이 predict_proba 확률값으로 결과를 제출해도 괜찮은 이유가 궁금합니다! roc_auc가 predict_proba 로 해야한다면 predict_proba로 모형 성능테스트를 하고 제출은 predict로 해야하는 것이 아닌가... 라는 의문이 들어서 문의드립니다
인코딩을 할때 선생님이 어쩔때는 원핫인코딩을 하시고 어쩔때는 레이블인코딩을 하시던데 그 인코딩을 정하시는 기준을 잘 모르겠습니다! 인코딩을 정하실때 그 경우에 대해서 자세히 알려주시면 감사하겠습니다 그리고 인코딩을 할때 컬럼도 몇개 정하셔서 하시던데 그 컬럼고르는 기준도 잘 모르겠습니다 그 기준에 대해서도 선택하는 방법을 알려주시면 감사하겠습니다 ㅠㅠ
보통 작업형2에서는 예측값을 물어보는 문제가 나오던데요. 문제가 나올때 어느문제는 분류모델을, 어느문제는 회귀모델을 사용해야하는지 궁금합니다. 지금까지 강의+기출문제를 보면서는 분류/회귀를 결정하는 부분이 평가 모델을 통해 진행된다는 느낌을 받았는데요. 1) roc_auc_score, accuracy_score 이 평가모델로 쓰일 경우, 분류형 모델 사용(Classifier) 2) rmse, mean_squared_error 이 평가모델로 쓰일 경우, 회귀모델 사용(Regressor) 이렇게 생각하면서 작업형2를 접근하는게 맞는지 궁금합니다.
안녕하세요. 현재 데이터 사이언티스트 및 엔지니어를 꿈꾸고 있습니다. 데이터 사이언티스트가 회사에 따라 일하는 업종이 다르지만, 제가 생각하기에 제가 원하는 직무는 데이터 분석에 가까운 것 같습니다. 게임업계의 N사의 경우 데이터 사이언티스트를 채용했으나, 추천시스템이나 이상탐지 등 모델을 개발하는 업무라 아무래도 학사 출신 보다는 석/박사 출신들이 많을 것 같다는 생각이 들었기 때문입니다. 머신러닝과 딥러닝 모델을 가져와서 쓰는 것은 가능하지만, 만드는 것은 또 다른 영역이었기에, 해당 부분으로는 꿈을 접게 되었습니다. 그래서 데이터 분석가 쪽으로 가자! 는 마음으로 Python외에도 SQL 공부를 지속적으로 해왔습니다. 문제는, 면접장을 가봤더니, 어떤 회사의 경우 SQL이 아닌 SAS 를 쓰는 경우도 있었고, 가장 크게 한계에 부딪쳤던 부분은, 서비스 지표의 문제점을 파악하고 다양한 가설 및 A/B 테스트로 서비스 개선을 해보신 분 (모바일 서비스 데이터 분석), 데이터 시각화 (Tableau 등 BI툴) 경험을 본다는 점입니다. SAS는 일단 너무 비싸기 때문에, 이건 혼자서 배울 수 있는 능력이 아니라고 판단해서, 제외했습니다. 데이터 시각화의 경우 Tableau는 혼자서 책을 찾아보면서 공부를 하는 중입니다. Q1. 서비스 지표의 문제점을 파악하고 다양한 가설 및 A/B 테스트로 서비스 개선을 해보신 분 이라는 이 부분이 저는 도대체 어떻게 신입이 키워나갈 수 있는지, 어떻게 공부를 하면 좋을지... 잘 모르겠습니다. 서비스 지표를 통해서 해당 데이터를 분석하는 건 할 수 있지만, 지표의 문제점을 파악한다? 가 와닿지가 않습니다. 마케팅 지표를 알아야, 해당 요건을 충족할 수 있을 것 같았지만, Q1을 해결하지 못해서, 데이터를 가지고 할 수 있는 일이 무엇이 있을까...를 생각해보던 중 Data Engineer라는 직무도 알게 되었습니다. Java SpringBoot 나 Django를 활용해서 웹을 개발한 경험도 있었고, Spark, Hive SQL에 대해서 공부를 했던 경험이 있었기 때문입니다. 그런데, 항상 공고에 등장했던 부분이었던 대용량 데이터 처리를 위한 데이터 파이프라인(수집/처리/분석) 개발 경험 이 발목을 잡았던 것 같습니다. Q2. 데이터 파이프라인(수집/처리/분석) 개발 경험 이 하둡 아키텍처나, K8S 내에서 트러블 슈팅 경험을 말하는 것인가요? 해당 부분을 해보려고 했으나, 문제는 하둡 아키텍처를 AWS로 구성하는데 비용이 엄청나게 들어서 엄두를 못냈습니다. 수집은 크롤링으로 했는데, Kafka도 언급이 있는 걸 보면, Kafka나 Flink와 같이 실시간 스트리밍 수집을 공부해야할까요? 아키텍처를 구성해야 할 것 같은데, 관련 지식이 없어서 문제입니다. 비전공자다 보니, 취업이 생각보다 너무 어렵게 느껴집니다. 이번 하반기는 유독 2차에서 많이 떨어졌네요.. 내년 상반기에는 좋은 소식이 있었으면 좋겠습니다. Q3. 추가로, 강사님께서 알려주신 부분을 공부하면서, 노션에 정리를 했었습니다. 노션에는 강사님께서 첨부하신 PDF자료는 일절 없고, 쿼리문과 제가 공부를 하면서 느낀 점이나, 어떻게 문제를 풀어야하는지 등을 정리했는데, 혹시 괜찮을까요? (노션이 홈페이지와 연동이 되어있다보니, 문제가 있다면 해당 부분은 개인 아카이브에 보관하겠습니다.) => 답변주신부분대로 테이블 조회(데이터 확인=> 이건 강사님께서 만드신 소중한 수업 자료이니 해당 부분은 제외) 부분을 제외하구 쿼리 부분만 기재해도록 하겠습니다.
[기타 질문] 선생님 3분 20초 쯤에, FORMAT_DATE('%Y', date)에 대한 주석 문에 대해서 int형이 아닌 String형으로 표시를 해야 할 것 같습니다. date between '2022-01-01' and '2022-12-31' -- 2022 -- date between '2022-01-01' and '2022-12-31' EXTRACT(YEAR FROM date) = 2022 -- 2022 -- EXTRACT(YEAR FROM date) -> int로 나온다. -- EXTRACT(날짜 단위 from 날짜 필드) FORMAT_DATE('%Y', date) = '2022' -- 2022 선생님께서 알려주신 3가지 방법으로 모두 적용해보니, SELECT EXTRACT(YEAR FROM date), FORMAT_DATE('%Y', date) FROM project.daily_play WHERE (EXTRACT(YEAR FROM date) = 2023 AND mode = 3) OR (EXTRACT(YEAR FROM date) = 2022 AND mode = 4) 이런 식으로 나오더라구요. EXTRACT의 반환 값은 int형(숫자형)이 나오고, FORMAT_DATE이나 FORMAT_DATETIME의 경우 반환 값은 String 형태로 나오는 것 같습니다.
data-whiz에 첨부해주신 json파일을 강의에서 언급한 부분대로, Database를 Connect했는데, 자꾸 Connect error가 뜨네요.. 어떻게 해야할까요 [기타 질문] 쿼리 작성 질문 외 강의에서 사용된 용어 등 다양한 질문들도 환영합니다. 편안하게 질문 부탁드립니다🙋♂️🙋♀️
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 선생님, 질문은 3가지 입니다. 1) 저는 문제를 딱 접했을때 분류모형을 써야할지, 예측모형을 써야할지 판가름을 정확하게 못하는 것 같습니다. 쉽게 판별하는 방법이 있을까요? 2) 이 문제의 경우 target인 output 컬럼을 train.head() 로 보면 0과 1로 구분되어있어서, 0 또는 1로 분류하는(분류모형) 것인가 생각했다가도 문제 맨위에서 참조해주는 예시에서 id,output 41,0.633 28,0.123 222,0.355 를 보면 output이 확률값으로 되어있어서 회귀모형을 사용해야하는 것인가? 라고 헷갈리곤합니다. 어디서 개념을 잡지 못하는 것일까요 3) 최종 예측을 할때 pd.DataFrame({'id':test_id, 'output':pred_proba[:,1]}).to_csv("00000.csv", index=False) output에 pred_proba 를 쓰셨는데 참조예시에서 확률값을 OUTPUT에 담았기 때문에 pred_proba를 사용한 것일까요? 그렇다면 output에 pred 를 담는 경우는 어떤 경우인지요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 df = df.T df.head() mean_2001 = df[2001].mean() mean_2003 = df[2003].mean() a = sum(df[2001] > mean_2001) b = sum(df[2003] < mean_2003) print(a+b) 이렇게 작성하면 결과가 다르게 나오는데,, 어디서 잘못된 것일까요?
driver = webdriver.Chrome () 여기서 계속 오류가 나는데요. 혹시 최근에 바뀐게 있나요? 강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다. 문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다. 코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다. 답변은 바로 제공되지 않을 수 있습니다. 실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.