PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2020/01/09 09:52:09
Name 치키타
Subject [질문] 프로그래밍?, 머신러닝? 질문 범위를 못 정하겠네요; (수정됨)
안녕하세요.

저는 수출 회사에서 일하는 문돌이인데요... 요즘 파이썬이랑 머신러닝이랑 그런게 핫하고 해서 몇 주 들여보고 있습니다.
어제 업무에 필요한 크롤링 프로그램을 하나 짜서 신나 있는 상태입니다.
그런데, 말입니다. 좀 더 고차원적인 걸 해보고 싶은데 어떻게 시작해야할지 감아 안서는데 저에게 힌트를 좀 주시면 감사하겠습니다.

아니면 가능한 일이다 불가능한 일이다 정도라고 코멘트 해주세요.

질문 들어갑니다...

일단 제가 항공 수출을 하는데, 포워더에서 저희에게 인보이스 당 비용을 청구합니다.
인보이스에는 저희가 수출하는 아이템들이 조합으로 포장되서 수출되구요.
제가 알고 싶은 건 어떤 아이템들이 높은 비용을 발생하는지를 알고 싶습니다.
높은 항공비를 유발하는 아이템들이 있으면 미리 해상으로 보내놓을 작정입니다.

일반적으로 항공운송비는, 무게/CBM으로 결정이 되는데 무게랑 CBM은 무시하고 실질적으로 청구된 인보이스 금액으로
아이템 리스트를 확인해보려고 합니다.(물론 무게정보가 시스템에 있어 그냥 무거운걸로 해도 되지만 실질적으로 청구된 금액이 딱 무게만 따라가진 않아서요..)

제가 알수 있는건, 인보이스 번호/해당 인보이스에 청구된 금액/해당 인보이스에 속한 아이템들입니다.(아이템 종류 5만개입니다. ;;실질적으로 수출되는 품목은 더 적을 수도 있는데 그래도 어마무시하게 많습니다.)

Tensoflow및 기타 머신러닝 알고리즘으로 해결이 가능한건지 아니면 말도 안되는건지 조언부탁드립니다.

추가설명)

인보이스 1 > 아이템 A, B, C, D / 운송비 10만원
인보이스 2 > 아이템 B, C / 운송비 5만원
인보이스 3 > 아이템 C, F, G / 운송비 12만원
인보이스 4 > 아이템 A, G / 운송비 3만원

위의 샘플이 엄청 많다고 했을 때 어떠한 행위를 통해 개별 아이템의 운반비를 유추할 수 있는가입니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
20/01/09 10:24
수정 아이콘
아이템마다 주어진 정보만으로 비용을 계산하는 기준과 방법이 명확하다면, 머신러닝까지 갈 필요가 없습니다만.. 처리하시려는 데이터의 형태와 양에 따라 다를수도 있습니다.
치키타
20/01/09 10:25
수정 아이콘
개별 아이템에 종속된 정보로 비용 계산을 하려는게 아니라 여러 인보이스의 인보이스 금액으로 역으로 유추를 해볼려는 방식입니다...
40년모솔탈출
20/01/09 10:30
수정 아이콘
해상으로 보낼 높은 금액에 대한 기준을 먼저 정하셔야 될거 같습니다.
치키타
20/01/09 10:39
수정 아이콘
아 그러네요, 내부적으로 50KG이하만 AIR운송을 하고 있는데 금액은 50kg에 해당하는 AIR금액으로 정하면 되겠네요!
20/01/09 10:57
수정 아이콘
(수정됨) 보통 그런 용도로는 회귀분석을 많이 사용하는데,, 각 입력값별로 가중치를 계산해주기 때문에 어떤 아이템이 결과값에 얼마만큼 영향을주는가 알 수 있거든요. 다만, 아이템이 5만개라 입력되는 속성값도 최소 5만개일텐데 그냥 알고리즘에 데이터를 부어서 쓰기는 어려울 것 같고, 축소시키는 작업이 필요할지도 모르겠습니다. 그리고 회귀분석 특성상 코드가 정상적으로 돌아갔다고해도 분석 결과가 유효한지 확인하는 과정도 해야해서 생각보다 시간이 오래걸리는 작업이 될 수 있습니다~
치키타
20/01/09 11:05
수정 아이콘
감사합니다.
5만개인 아이템은 일단 필터링 과정을 거쳐서 컨디션 추가 해서 많이 줄여야겟죠.
제가 공부하면서 본건 키와 몸무게 회귀분석이였는데 대충 키는 몸무게에 비례하니까 그래프의 요소가 명확한데..
제 케이스는 함수를 어떻게 짜야할지 모르겠어요. Y=aX+B로 회귀분석선이라면 각 요소를 뭘로 해야하는지;;전혀 모르겠습니다.
일단 선형 회귀 분석한 튜로리얼이나 케이스를 찾아봐야겠네요..
20/01/09 11:30
수정 아이콘
파이썬 scikit-learn에 있는 회귀분석은 기본적으로 1차함수로 모델만들어주는데, 2차나 다차함수로 설정도 가능합니다. 모델 돌리는 것 자체는 몇줄이면 되서 인터넷 찾아보시면 금방 하실수 있을거에요.
20/01/09 11:29
수정 아이콘
일단 저 아이템 정보가 어떤식으로 들어가는지 모르겠는데 어떻게든 DB형태의 매트릭스 데이터로 만드셔야할겁니다. 아이템이 하나의 행으로 나와 있는 상태로요.
아이템 , 인보이스 ID, 가격, 수량(같이보내진아이템수량)
A, 인보이스1, 10만원, 4개
이런식으로요. 여기서 일단 통계적으로만 접근하면 회기분석까지도 가지 않아도 기본적인 걸 볼수 있습니다.
A가 보내질때 평균 금액 또는 수량당 평균 금액 등을 산정해볼 수 있죠. 자료가 충분히 쌓였다면 높은 금액을 유발하는 아이템일 수록 수량당 금액의 평균이 높겠죠.
여기서 꽤 정확히 무게 또는 A의 인보이스 금액을 추정하고 싶으면 정답데이터를 모으셔야합니다. 5만개는 아니더라도 수백개의 아이템에 대해서 단독으로 보냈을때 금액을 측정하시고 (많을수록 정확도가 올라가겠죠?)
아이템, 평균 인보이스 금액, 평균 수량당 인보이스 금액, 인보이스 수량, 수량당 인보이스 금액의 편차 등 아이템에 대한 통계 데이터를 만듭니다.
이 통계 데이터가 X에 해당합니다. 모을 수 있는 정보가 더 많으면 좋겠지만 무관한거는 불필요합니다. 여기서 아마 평균 수량당 인보이스 금액이나 편차 정도만 들어가도 대략적인 예측이 가능할거로 보입니다. 그리고 Y는 아까 측정했던 이미 알고 있는 목적 금액을 뜻합니다.
우리가 이미 노가다를 통해서 100개 대해서는 알고 있다고 하면 그걸로 회기분석 (Linear Regression) 이라는 기본적인 알고리즘을 통해 Y=aX+b의 형태로 학습 결과가 나오게 되는 겁니다. 그걸 정답을 몰랐던 다른 4만9천9백개의 아이템에 적용하면 추정치를 구할 수 있습니다.
알고리즘이야 다른걸 써도 되고 그렇게 해서 성능이 약간 달라질수는 있지만 중요한건 X데이터를 어떻게 설정하느냐 입니다.
X데이터에 핵심 정보가 있지 않고 엉뚱한 데이터만 들어가 있으면 제대로 결과가 나오지 않습니다.
치키타
20/01/09 11:36
수정 아이콘
네 감사합니다. 머리속이 복잡(?)한데 한번 정리해서 다시 공부해봐야겠습니다.
다른데서 얻은 조언으로는 머신러닝까지 안가고 단순 연립방정식으로도 가능한지 않냐라고 해서 좀더 알아보도록 하겠습니다.
20/01/09 12:40
수정 아이콘
일단 numpy+ pandas로 데이터를 로드한뒤 scikit-learn같은 파이썬 머신러닝 라이브러리로으로 회귀분석 돌리시면 됩니다.
보다 정확한 회귀분석을 원하면 ridge나 lasso 버젼으로 혹은 elasticnet까지 가셔도 될겁니다.
치키타
20/01/09 14:14
수정 아이콘
넘피랑 판다스도 능숙하지 못해서 일단 찬찬히 둘러보면서 손에 익히면서 한번 시도해보겠습니다. ㅠㅠ 너무 어렵네요.
Supervenience
20/01/09 13:32
수정 아이콘
본문에서 말씀하신 건 단순 통계로 가능합니다. 이런 상황에서 회귀분석은 실제론 의미가 없어요.
해상으로 미리 보내놓는 것 또한 선적, 운송, (특히) 보관비용이 든다는걸 고려하지 않으면, 최적화된 정답은 그냥 모든 물품을 해상으로 지금 넉넉하게 보내놓는 것입니다. 당연하게도 이걸 원하시는 건 아닐테니 선적 비용은 얼마인지, 보관엔 얼마가 드는지 등을 고려하시면 식은 훨씬 복잡해지고 풀기 어려워 집니다. 여기서 머신러닝을 적용하셔서, 어떤 물품이 어느 정도 양으로 언제 필요한지 상대측의 수요를 "예측"하고, 그 중 유의미하게 비용이 높은 것들을 미리 보내놓아 재고 비용까지 고려해 좀 더 쉽게 최적화 하실 수 있습니다.
치키타
20/01/09 14:13
수정 아이콘
현재 매니지먼트가 포커스를 둔게 항공운송료여서 다른 변수는 고려하지 않고 단순히 항공운송료를 줄여라입니다.
그런데 사실 항공 운송료를 줄이려면 재고를 많이 가져가버리면 그만이거든요.
그래서 그럴순 없으니 항공운반비 상승요인이 큰 아이템 리스트를 뽑아 볼 생각입니다..그 아이템들을 대상으로 별도의 액션을 취할 생각입니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
141126 [질문] 5기인 vs 세계올스타 누가 이길까요? [26] 야크비쉬4578 20/01/09 4578
141125 [질문] 삼국지14 평이 어떤가요 [3] akroma4201 20/01/09 4201
141124 [질문] 아이패드 구형을 하나 얻었습니다. [2] 강미나4054 20/01/09 4054
141123 [질문] 프로그래밍?, 머신러닝? 질문 범위를 못 정하겠네요; [13] 치키타4241 20/01/09 4241
141122 [질문] 전세보증보험 들기가 이렇게 어려운 거였나요.. [9] YX3691 20/01/09 3691
141121 [질문] 스트레스 풀기에 좋은 것들 추천해주세요 [33] nekorean4379 20/01/09 4379
141120 [질문] 스위치 일부 독점작들이 PC로 나올 가능성이 있을까요? [19] 불같은 강속구7622 20/01/09 7622
141119 [질문] 해외 결제용 체크카드 InoriLee2415 20/01/09 2415
141118 [질문] 스팀 삼국지14 예구 언제 시작하나요? [4] 코우사카 호노카3825 20/01/08 3825
141116 [질문] 오래된 마우스를 수리 및 도색할 방법이 있을까요? [6] TheLasid3093 20/01/08 3093
141115 [질문] 미국 입국 거부 질문입니다. [6] 미숙한 S씨4455 20/01/08 4455
141114 [질문] 수영은 혼자서 배우기 불가능할까요? [18] 나이는무거운숫자5888 20/01/08 5888
141113 [질문] 트럼프 트위터 문법 질문드려요 [1] 아리아2701 20/01/08 2701
141112 [질문] 전세대출 중에 다른 집에 잠깐 전입 가능할까요? [5] taruan3931 20/01/08 3931
141111 [질문] 인도와 이란이 비슷한 국가인가요? [52] Hans Landa4750 20/01/08 4750
141110 [질문] 아이폰의 블루투스가 문제있는데 2달 넘게 수리를 안해줍니다. 방법이 없을까요? [7] 고요3116 20/01/08 3116
141109 [질문] 유리막 코팅 잘아시는분 계신가요??? [3] 여유를갖자3320 20/01/08 3320
141108 [질문] 모니터 둘 중 하나만 골라주세요 [4] 리듬파워근성5068 20/01/08 5068
141107 [질문] 케스파컵(울산) 경기 추천 좀 부탁 드립니다! [2] 클로로루실후르2350 20/01/08 2350
141106 [질문] 위쳐3 스팀판이 PS4판보다 낫나요? [9] 이웃집개발자5258 20/01/08 5258
141105 [질문] 직접환승? 은 왜 있는걸까요 [5] 반숙5709 20/01/08 5709
141104 [질문] 임차인인데 전세 보증금 반환 난관이 예상됩니다 [8] NaturalBonKiller3598 20/01/08 3598
141103 [질문] 미국군 vs 전세계연합군 전쟁시 질문드립니다. [13] 삭제됨4044 20/01/08 4044
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로