분류 전체보기
-
ML.NET MSSQL 연동 [5]AI/ML.NET 2020. 12. 1. 18:04
ML.NET 을 건드린지 1주가 지났는데 아직 자동화 밖에 쓰질 못하겠다. 그래서 자동화로 생성된 코드들을 보기로 했다. 시나리오를 선택하고 환경 선택하고 데이터를 선택하고 학습을 하면 가장 정확도가 높은 알고리즘을 찾아준다. 학습시간이 길 수록 정확도가 높아지지만 적은 데이터를 무작정 길게 학습한다고해서 더욱더 좋아지지는 않는다. LightGbmRegression이 제일 높은 정확도를 가진것으로 결과가 나왔다. 이 상태로 코드에서 프로젝트추가를 하면 이렇게 코드가 추가되고 샘프로 코드가 주어진다. 그럼 생성된 프로젝트로 들어가보자. ConsoleApp에 들어가보면 ModelBuilder 클래스가 있다. 여기에서 학습시킨 후에 선택된 알고리즘 LightGbmRegression를 사용해서 모델을 생성하는 ..
-
엑셀 회귀분석 해석AI/기타 2020. 11. 27. 13:49
지난번에 엑셀로 회귀분석하는 것을 하고 다른 짓을 하느라 잊고 있었는데 다시 회귀분석할 것이 생겨서 분석의 해석법을 적어 놓고자 한다. 아래 분석결과 후 중요부분을 빨간색으로 변경해 놓았다. 위와 같이 분석 결과가 나오면 검토를 한다. 1. 유의한 F값 : 0.05미만이어야 통계적으로 유의한 회귀분석의 해석이 가능하다. 2. 조정된 결정계수(Adjusted R-Squared)의 확인 조정된 결정계수 상관관계 정도 ±0.2 미만 상관관계가 거의 없음 ±0.2 ~ ±0.4 미만 낮은 상관관계가 있음 ±0.4 ~ ±0.7 미만 다소 높은 상관관계가 있음 ±0.7 ~ ±0.9 미만 높은 상관관계가 있음 ±0.9 이상 아주 높은 상관관계가 있음 3. 독립변수별 P-값이 0.05미만일 때 회귀분석이 가능하다. 0...
-
MSSQL tempDBDatabase 2020. 11. 26. 13:24
행수가 좀 많은 테이블에 어쩔수 없이 left join을 걸어서 산출물을 만들어야 하는 일이 생겼다. AI관련 데이터 전처리를 하는데 5초당 쌓이는 테이블과 결과 테이블 사이에 매칭을 할 수 있는 값이 없어서 datetime별로 조건을 걸어서 범위로 검색을 해야했다. 좋지 않은 쿼리 문장이기도 하고 left join 을 거니까 하루치 데이터를 산출하는데 실행 계획에서 조단위가 아닌 경단위를 넘어서는 행스캔을 하게 되었다. 해당 DB 서버는 성능이 일반 데스크탑 수준이었고 1시간정도 돌리니 tempDB 용량 부족으로 쿼리가 멈춰버렸다. 설정을 살펴보니 tempDB의 위치가 C드라이브 인데 C에 공간이 없었던것이 이유다. 그래서 tempDB에 대하여 검색을 하기 시작하고 일단 임시방편으로 tempDB의 파일..
-
ML.NET MSSQL 연동 [4]AI/ML.NET 2020. 11. 24. 14:15
찾기가 너무 힘들어서 예제를 찾아보았다. 예제코드에 보기 좋게 설명을 달아 놓았다. 따로따로 보기가 너무 불편해서... 이렇게 보니 금방 이해가 된다. 문제는 파이프라인을 정의 하여 모델을 만들때 사용하는 부분에서 mlContext의 종속 메서드들의 정의가 필요할 것 같다. public MLContext (int? seed = default); 이렇게 정의 되는데 seed 값이 무엇을 의미하는지 알아야 할 것 같았다. MS-DOC에는 아래와 같이 설명되어 있다. seed값에 따라서 모델의 일관성유지가 된다는 소리 같은데 null을 보통 사용해도 상관없을 듯 싶다. 특별한 경우가 아니라면... 더보기 ML.NET 많은 작업은 무작위 데이터 셔플, 무작위 샘플링, 무작위 매개 변수 초기화, 무작위 순열, 무..
-
ML.NET MSSQL 연동 [3]AI/ML.NET 2020. 11. 23. 18:21
앞 포스트에 이어서 일단 간단하게 폼을 하나 만들고 입력, 출력 클래스를 만들어주고 public class Data { public float A { get; set; } public float Target { get; set; } } public class Prediction { [ColumnName("Target")] public float Target { get; set; } } 버튼에 이벤트를 주었다. private void button1_Click(object sender, EventArgs e) { try { //Import or create training data MLContext mlContext = new MLContext(); DatabaseLoader loader = mlContex..
-
ML .NET MSSQL 연동 [2]AI/ML.NET 2020. 11. 23. 17:07
데이터베이스에서 데이터를 가져와서 학습모델을 만들고자 할때 보통 ML예제를 보면 전부 File에서 가져오는 예제들이다. 데이터베이스를 바로 연동하고 그후 데이터 준비 및 알고리즘 선택은 같게 움직인다. 일단 데이터베이스 연동 부분만 추가 하도록 한다. string rootDir = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../../")); string dbFilePath = Path.Combine(rootDir, "Data", "DailyDemand.mdf"); string modelPath = Path.Combine(rootDir, "MLModel.zip"); var connectionString = $"Data..
-
ML.NET 사용 선형회귀분석 [1]AI/ML.NET 2020. 11. 20. 18:51
Viusal Studio 2019에 .NET Core 관련 설치를 하면 ME.NET Core가 같이 설치 된다. 프로젝트 생성후 추가에 Machine Learning 을 선택한다. 나에게 맞는 시나리오를 선택한다. 시나리오에 따라서 학습모델이 자동으로 선정된다. 각 시나리오에 대한 대략적인 설명이 되어 있으며 MS Doc에 조금 더 자세히 기술되어 있다. 별로 그렇게 자세하지는 않다. 아직은.... 앞서 공부한 선형회귀분석을 비교해 볼 것이므로 값 예측 시나리오를 선택하도록 하겠다. 값 예측 시나리오는 로컬ML이라고 되어 있다. 학습을 로컬에서 진행한다는 뜻이다. 로컬컴퓨터의 자원이 좋아야 학습속도가 빨라진다. 다음으로 데이터가 필요하다. 강화학습이 아니므로 머신러닝에서 데이터는 필수이다. 앞 포스트에서..
-
2020 인공지능 및 머신러닝 소프트웨어 및 프레임워크 20AI/기타 2020. 11. 20. 16:24
1. Google Cloud ML Engine - AI 및 ML 모델 구축, 교육, 예측 모델링 및 딥러닝을 제공. - 훈련과 예측 두 서비스를 공동으로 또는 독립적으로 사용 가능. - 기업이 사용하는데, 즉 위성 이미지에서 클라우드를 감지하여 고객의 메일에 더 빠르게 응답하는데 사용된다. - 복잡한 모델을 훈련시키는 데 사용될 수 있다. 2. Amazon Machine Learning (AML) - Amazon Machine Learning은 시각화 도구와 마법사를 제공한다. - 이진 분류, 다중 클래스 분류, 회귀 등 세 가지 유형의 모델을 지원한다. - 사용자가 MySQL 데이터베이스에서 데이터 소스 개체를 만들 수 있도록 허용한다. - 또한 Amazon Redshift에 저장된 데이터로부터 데이터..
-
머신러닝(Machine Learning, 기계학습)AI/기타 2020. 11. 20. 16:00
인공지능에 많이 활용되는 신경망 알고리즘은 1950년대 부터 존재한 역사가 있지만 패턴을 파악할 수 있다는 점을 강조하고 싶으면 패턴 인식이라고 쓰고, 기존에 알기 힘든 정보를 제공한다는 측면을 강조하고 싶으면 데이터 마이닝을, 신경망 형태를 통해 스스로 학습한다는 측면을 강조하고 싶으면 머신러닝이라고 분류하고, 신경망이 좀 더 복잡해졌다는 걸 강조하고 싶으면 딥러닝이라고 부르는 것 1. 머신러닝의 개념 데이터를 기반으로 기계가 직접 학습함. 데이터를 스스로 만드는 것은 알파고와 같은 강화 학습(Reinforcement Learning)에서 주로 사용하는 방법 2. 지도학습 / 비지도학습 지도학습(Supervised Learning) 지도학습의 예시를 들어보면 여러 장의 사진을 주고 개와 고양이 사진을 ..
-
엑셀로 회귀 분석 하기AI/기타 2020. 11. 13. 18:31
MS 엑셀에서 회귀분석을 할 수 있다. 굳이 프로그램을 짜보지 않고 일단 데이터를 넣고 검증을 간단하게 할 수 있다. 혹 32비트 엑셀의 경우 표본데이터를 적게 넣는 것이 좋다. 엑셀이 분석할때 메모리를 전부 잡아먹어서 32비트 엑셀의 경우 뻗어버리는 경우가 생긴다. 파일 -> 옵션 -> 추가기능 에서 분석도구를 찾아서 아래쪽 관리의 이동으로 간다. 필자는 이미 분석도구를 활성화 해서 윗부분에 위치해 있다. 이동을 클릭하면 이 창이 뜨는데 분석도구를 체크하고 확인을 클릭하면 엑셀의 리본메뉴중 데이터 부분에 데이터 분석이 생긴다. 데이터 분석을 클릭하면 여러가지 분석방법들이 나열되는데 회귀분석을 선택한다. Y축은 종속변수, X축은 독립변수이다. 각 데이터의 범위를 지정하고 이름표를 체크하면 선택컬럼의 맨위..