no image
AI 빅데이터 분석을 이용한 로또 번호 예측하기 (Ver.2)
안녕하세요. Johncom 입니다.AI 분석 로또 번호 추첨기가 인기있는 글이 되어서 이번에 조금 더 간편한 버전으로 왔습니다.업그레이드 버전에 앞서 내용들을 알고 싶으시다면 아래 링크 2개 참고하시면더욱 이해가 빠릅니다.(상, 하)https://johncom.tistory.com/71 AI 빅데이터 분석을 이용한 로또 번호 예측하기 (상) - GPT와 함께안녕하세요. JohnComputer 입니다.오늘은 한번 GPT를 이용해서 로또 번호 예측 시스템을 만들어 보려고 해요. 아래는 GPT와 빅데이터 분석에 대한 글들이 있어로또 예측기를 바로 만들고 싶은 분들 (johncom.tistory.com https://johncom.tistory.com/72 AI 빅데이터 분석을 이용한 로또 번호 예측 만들기 (..
2024.12.28
no image
한방 패키지 APM(Apache, MySQL, PHP) 구성하여 웹 서버 만들기
안녕하세요. JohnCom 입니다.오랜만에 웹서버 구축할 일이 생겨서 하나하나 기록 겸처음 시작하는 분들께 도움이 되고자 글을 작성합니다. 웹 개발을 시작하면처음 배우게 되는 언어로 여러 시작을 할텐데자바공화국인 한국에서는 조금 덜 쓰지만 전세계적으로 가장 많이 사용하고배우기 빠른 언어인 PHP그리고 사용자들이 무료로 쉽게 사용할 수 있는 MySQL DB를 이용하여 환경 구성을 해보려고 합니다. 물론 배포할때는Linux + PHP + MySQL + Apache + 기타 언어 or 패키지 등이 사용되겠지만오늘은 이 모든걸 한번에 설치가능한한방 패키지 설치해보려고 합니다  1. XAMPP 설치구글 형에게 간단하게 검색해서 진행하면 됩니다. 원하는 버전 선택 필요한 프로그램만 설치MySQL, Tomcat, p..
2024.10.16
no image
Hyper-v 무료 윈도우 가상머신 - 하나의 PC에 윈도우를 또 설치하자
안녕하세요. Johncom 입니다.이번에 새롭게 PC를 설치하고 결혼준비하면서 모바일 청첩장을 직접 만들어 보려고 하는데요. 클라우드 올리기 전 로컬 테스트 서버를 만들려고 #VmWare 를 설치하려는데가상머신으로 돌리는 방법이 있길래 직접 한번 해보면서 정리하려고 합니다. 1. Hyper-V 설정 활성화 Windows 기능 켜기/끄기로 접속합니다.Hyper-V 부분을 모두 체크 후 확인 눌러주세요. 컴퓨터가 재부팅 이후 다음과 같이 검색이 된다면 활성화가 된 것입니다.  2. Hyper-V 세팅새로 만들기 -> 가상 컴퓨터이름과 설치할 디렉토리 지정 필요 -> DISK 공간이 있어야함호환성 체크 /윈도우 11이상 사용하는 경우 메인보드에 따라서 2세대 UEFI 펌웨어 설치 필요할 때 2세대로 작업해야 ..
2024.10.13
no image
윈도우 10 무료 설치 방법 - 포맷 클린 설치
안녕하세요. Johncom입니다.이번에 가상머신에 윈도우를 설치하고 있는데제 글 중에 윈도우 설치 관련된 글이 없더라고요...그래서 이번에 가상머신에 설치하면서 한번 정리해보려고 합니다.  1. USB 포맷> USB는 이미지를 만들면서 알아서 설정해줄 것이기 때문에 우클릭 후 빠른 포맷을 합니다. FAT32로 진행하셔도 됩니다.    2. 윈도우 부팅 USB 만들기https://www.microsoft.com/ko-kr/software-download/windows10위 사이트에 먼저 접속하셔서 윈도우 10을 무료로 다운로드 받으면 된답니다.  > 사이트에 접속하셔서 "지금 다운로드" -> 다운로드 파일 실행 -> 다른 PC용 선택  > 권장 옵션의 경우 기존 PC를 포맷하고 사용하는 경우외에는 제외 시..
2024.10.13
no image
AI 빅데이터 분석을 이용한 로또 번호 예측 만들기 (하) - GPT와 함께
(상)편에 이어서Python을 이용하여 실제 번호 예측을 진행해 보겠습니다.#로또번호예측기 코드는 블로그 최하단에 넣어 둘게요.csv파일은 https://johncom.tistory.com/71 AI 빅데이터 분석을 이용한 로또 번호 예측하기 (상) - GPT와 함께안녕하세요. JohnComputer 입니다.오늘은 한번 GPT를 이용해서 로또 번호 예측 시스템을 만들어 보려고 해요. 아래는 GPT와 빅데이터 분석에 대한 글들이 있어로또 예측기를 바로 만들고 싶은 분들 (johncom.tistory.compython 설치는 https://johncom.tistory.com/49 python3 설치 부터 경로 설정까지 (pip, python, 환경 변수, path)안녕하세요. JohnCom 입니다. 오늘은 ..
2024.07.27
no image
AI 빅데이터 분석을 이용한 로또 번호 예측하기 (상) - GPT와 함께
안녕하세요. JohnComputer 입니다.오늘은 한번 GPT를 이용해서 로또 번호 예측 시스템을 만들어 보려고 해요. 아래는 GPT와 빅데이터 분석에 대한 글들이 있어로또 예측기를 바로 만들고 싶은 분들 (하) 편을 바로 보세요. 6개의 무작위 숫자를 가진 여러개의 행의 파일이 CSV안에 있어 이 데이터들을 활용해서 다음에 나올 숫자를 예측하는 시스템을 만들고 싶은데 ML 또는 빅데이터 분석을 이용하여 데이터를 예측하고 싶어 어떤 모델을 사용하면 좋을까? 사실 GPT는 프롬프트 즉, 명령을 어떻게 내리냐에 따라서정말 다른 답변을 주게 됩니다. 질문을 잘 하는게 중요 합니다. 숫자를 예측 하는 모델기초적인 회귀 모델 (Basic Regression Models)선형 회귀 (Linear Regression..
2024.07.27
no image
SD카드 완벽하게 지우기 - 로우 포맷 (개인정보 지우기)
안녕하세요. JohnComputer입니다. 여러분들은 스마트폰, 카메라 등등 많은 곳에서 사용되는 SD카드를 어떻게 버리거나 당근 거래할때 같이 판매하나요?? 일상에서 정말 많이 사용하는 제품 중 하나가 SD카드가 아닐까 싶은데.. 사실 이 SD 카드를 컴퓨터 상에서 재사용용도로 포맷을 하게된다면 복구가 가능하다는 사실 아시나요?? 아마 로우 포맷이라거나 SD 카드 지우기, 포맷 등 검색해서 들어오신 분들은 뉴스를 한번씩 보셨을 겁니다. 그래서 완벽하게 지우는 방법 알려드릴게요. https://www.sdcard.org/ SD Association | The SD Association The SD Association www.sdcard.org 위 사이트로 접속해 주시고 위 사이트를 못 믿으실까봐 !! ..
2023.11.02
슬랙 curl api 호출이 안됩니다 curl (60) error slack webhook
안녕하세요 Johncomputer 입니다. 오늘은 slack webhook 설정이후 갑자기 작동이 안되거나 운영중이던 서비스에서 도입 후 별다른 에러 없이 전송이 안될때 해결 방법입니다. 각각 호출하는 방법들이 다르겠지만 curl -명령 url 형식으로 많이 전송하실텐데요 curl -v url으로 api 통시 세부내역 한번 확인해봅니다. curl: (60) SSL certificate problem: certificate has expired More details here: https://curl.haxx.se/docs/sslcerts.htmlcode 60 error가 발생했고 SSL certificate problem: certificate has expired 에러가 발생했습니다 ㅠㅠ 인증서 만료 ..
2023.09.15
반응형

안녕하세요. Johncom 입니다.

AI 분석 로또 번호 추첨기가 인기있는 글이 되어서 이번에 조금 더 간편한 버전으로 왔습니다.

업그레이드 버전에 앞서 내용들을 알고 싶으시다면 아래 링크 2개 참고하시면

더욱 이해가 빠릅니다.

(상, 하)

https://johncom.tistory.com/71

 

AI 빅데이터 분석을 이용한 로또 번호 예측하기 (상) - GPT와 함께

안녕하세요. JohnComputer 입니다.오늘은 한번 GPT를 이용해서 로또 번호 예측 시스템을 만들어 보려고 해요. 아래는 GPT와 빅데이터 분석에 대한 글들이 있어로또 예측기를 바로 만들고 싶은 분들 (

johncom.tistory.com

 

https://johncom.tistory.com/72

 

AI 빅데이터 분석을 이용한 로또 번호 예측 만들기 (하) - GPT와 함께

(상)편에 이어서Python을 이용하여 실제 번호 예측을 진행해 보겠습니다.#로또번호예측기 코드는 블로그 최하단에 넣어 둘게요.csv파일은 https://johncom.tistory.com/71 AI 빅데이터 분석을 이용한 로또

johncom.tistory.com

 

앞서 Python 설치는 블로그 내에서 확인이 가능합니다. (아래 URL)

https://johncom.tistory.com/49

 

python3 설치 부터 경로 설정까지 (pip, python, 환경 변수, path)

안녕하세요. JohnCom 입니다. 오늘은 제 로컬 PC에 Python3 를 설치를 진행하는데 설치하는 방법을 정리해두면 처음 시작하는 분들에게 도움이 될 것 같아서 이렇게 따로 정리해둘려고 글을 씁니다. "

johncom.tistory.com

 

본격적으로 로또 본허 생성기 (추첨기) 제작을 진행하겠습니다.

 

1. 패키지 설치

pip install numpy
pip install pandas
pip install scikit-learn
pip install tensorflow

- 패키지 설치가 되지 않을 경우 오류를 유발할 수 있습니다.

 

2. 역대 로또 번호 CSV 파일 준비

위 상단 URL 참고하여 Lotto csv 파일 준비

- `lotto.csv` 파일이 필요합니다 (과거 로또 당첨 번호 데이터)
- CSV 파일 형식: 각 행에 회차별 6개의 당첨번호가 포함되어야 합니다

 

3.코드 구성

## 3. 코드 구성 요소 설명

### 데이터 처리 부분
```python
# 데이터 로드 및 전처리
data = pd.read_csv('lotto.csv')
scaler = MinMaxScaler()
data_scaled = scaler.fit_transform(data)
```
- CSV 파일에서 데이터를 읽어옵니다
- MinMaxScaler를 사용하여 데이터를 0~1 사이의 값으로 정규화합니다

### 시계열 데이터 준비
```python
def create_dataset(data, time_steps=1):
    X, y = [], []
    for i in range(len(data) - time_steps):
        X.append(data[i:(i + time_steps)])
        y.append(data[i + time_steps])
    return np.array(X), np.array(y)
```
- 이전 35회차의 데이터를 사용하여 다음 회차를 예측하기 위한 데이터셋을 만듭니다

### LSTM 모델 구성
```python
model = Sequential()
model.add(LSTM(50, return_sequences=True, input_shape=(X.shape[1], X.shape[2])))
model.add(LSTM(50, return_sequences=False))
model.add(Dense(6))
```
- LSTM 레이어 2개와 Dense 레이어 1개로 구성된 딥러닝 모델을 만듭니다
- 최종적으로 6개의 숫자를 출력합니다

### 예측 및 번호 생성
```python
def generate_multiple_predictions(predictions, num_sets=5):
    # 중복되지 않는 6개의 숫자를 5세트 생성
    # 예측값을 기반으로 확률을 계산하여 번호 선택
```
- 학습된 모델의 예측값을 기반으로 5세트의 로또 번호를 생성합니다
- 각 세트는 1~45 사이의 중복되지 않는 6개 숫자로 구성됩니다
- 생성된 번호는 오름차순으로 정렬됩니다

 

4. 번호 추첨 및 소스코드

import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense

# CSV 파일 로드
data = pd.read_csv('lotto.csv')

# 데이터 스케일링
scaler = MinMaxScaler()
data_scaled = scaler.fit_transform(data)

# 시계열 데이터 준비
def create_dataset(data, time_steps=1):
    X, y = [], []
    for i in range(len(data) - time_steps):
        X.append(data[i:(i + time_steps)])
        y.append(data[i + time_steps])
    return np.array(X), np.array(y)

time_steps = 35
X, y = create_dataset(data_scaled, time_steps)
X = X.reshape(X.shape[0], X.shape[1], X.shape[2])

# LSTM 모델 구성
model = Sequential()
model.add(LSTM(50, return_sequences=True, input_shape=(X.shape[1], X.shape[2])))
model.add(LSTM(50, return_sequences=False))
model.add(Dense(6))
model.compile(optimizer='adam', loss='mean_squared_error')

# 모델 학습
model.fit(X, y, epochs=100, batch_size=32, validation_split=0.2)

# 예측
predictions = model.predict(X)

# 원래 스케일로 역변환
predictions_scaled_back = scaler.inverse_transform(predictions)

def generate_multiple_predictions(predictions, num_sets=5):
    all_predictions = []
    
    # 수정된 부분: 확률 배열 생성
    numbers = np.arange(1, 46)  # 1부터 45까지의 숫자
    probabilities = np.ones(45) / 45  # 균등한 확률 분포 사용
    
    for _ in range(num_sets):
        # 중복되지 않는 6개의 숫자 선택
        selected_numbers = np.random.choice(
            numbers,
            size=6,
            replace=False,
            p=probabilities
        )
        # 오름차순 정렬
        sorted_numbers = np.sort(selected_numbers)
        all_predictions.append(sorted_numbers)
    
    return np.array(all_predictions)

# 5세트의 예측 번호 생성
predicted_sets = generate_multiple_predictions(predictions_scaled_back, num_sets=5)

# 결과 출력
print("\n=== 예측된 5세트의 로또 번호 (오름차순) ===")
for i, numbers in enumerate(predicted_sets, 1):
    formatted_numbers = ' '.join(f"{int(num):02d}" for num in numbers)
    print(f"세트 {i}: {formatted_numbers}")

 

- 위 소스코드를 실행하면 원하는 출력값을 얻을 수 있습니다.

 

 

반응형
반응형

안녕하세요. JohnCom 입니다.

오랜만에 웹서버 구축할 일이 생겨서 하나하나 기록 겸

처음 시작하는 분들께 도움이 되고자 글을 작성합니다.

 

웹 개발을 시작하면

처음 배우게 되는 언어로 여러 시작을 할텐데

자바공화국인 한국에서는 조금 덜 쓰지만 전세계적으로 가장 많이 사용하고

배우기 빠른 언어인 PHP

그리고 사용자들이 무료로 쉽게 사용할 수 있는 MySQL DB를 이용하여 환경 구성을 해보려고 합니다.

 

물론 배포할때는

Linux + PHP + MySQL + Apache + 기타 언어 or 패키지 등이 사용되겠지만

오늘은 이 모든걸 한번에 설치가능한

한방 패키지 설치해보려고 합니다 

 

1. XAMPP 설치

구글 형에게 간단하게 검색해서 진행하면 됩니다.

 

원하는 버전 선택

 

필요한 프로그램만 설치

MySQL, Tomcat, phpMyAdmin 정도는 설치 진행합니다.

 

화면에서 아주 간단하게 볼 수 있습니다.

"Start" 서버 시작과 종료

"Config"기본 설정 파일

"Admin" 관리자 페이지

"Logs" 각종 로그 기록

 

Localhost:80으로 접속해서 정상 설치 되었는지 확인해보세요.

더 자세한 설치 풀영상은 유튜브에 올려두었습니다.

 

https://www.youtube.com/watch?v=O0RPgsu91kk

반응형
반응형

안녕하세요. Johncom 입니다.

이번에 새롭게 PC를 설치하고 결혼준비하면서 

모바일 청첩장을 직접 만들어 보려고 하는데요.

 

클라우드 올리기 전 로컬 테스트 서버를 만들려고 #VmWare 를 설치하려는데

가상머신으로 돌리는 방법이 있길래 직접 한번 해보면서 정리하려고 합니다.

 

1. Hyper-V 설정 활성화


 

Windows 기능 켜기/끄기로 접속합니다.

Hyper-V 부분을 모두 체크 후 확인 눌러주세요.

 

컴퓨터가 재부팅 이후 다음과 같이 검색이 된다면 활성화가 된 것입니다.

 

 

2. Hyper-V 세팅


새로 만들기 -> 가상 컴퓨터

이름과 설치할 디렉토리 지정 필요 -> DISK 공간이 있어야함

호환성 체크 /

윈도우 11이상 사용하는 경우 메인보드에 따라서 2세대 UEFI 펌웨어 설치 필요할 때 2세대로 작업해야 합니다.

우리는 1세대 클릭

램 설정 /

램 설정은 다들 원하는 저의 경우에는 4GB로 설정 실제 PC의 램을 초과하지 않고 넉넉하게 잡아 줍니다.

리눅스는 2GB로도 충분하지 않을까... 윈도우는 최소 4GB는 잡아줘야 버벅임을 느끼지 않습니다...

 

인터넷 사용하는 경우 Default Switch로 일단 설정

위에서 잡아 준 디렉토리의 크기를 고려하여 사용할 만큼 디스크 연결

VmWare를 생각하면 더 많이 잡아도 설치는 되지만... 남는 공간만큼 설정해야겠죠?

 

윈도우 이미지 가져오기

https://johncom.tistory.com/74

 

윈도우 10 무료 설치 방법 - 포맷 클린 설치

안녕하세요. Johncom입니다.이번에 가상머신에 윈도우를 설치하고 있는데제 글 중에 윈도우 설치 관련된 글이 없더라고요...그래서 이번에 가상머신에 설치하면서 한번 정리해보려고 합니다.  1.

johncom.tistory.com

윈도우 설치관련 내용은 따로 별도로 빼두었으니

Disk Clean작업만 빼고 똑같이 진행

 

> 연결 누르고 실행하면 완료입니다.

반응형
반응형

안녕하세요. Johncom입니다.

이번에 가상머신에 윈도우를 설치하고 있는데

제 글 중에 윈도우 설치 관련된 글이 없더라고요...

그래서 이번에 가상머신에 설치하면서 한번 정리해보려고 합니다.

 

 1. USB 포맷


> USB는 이미지를 만들면서 알아서 설정해줄 것이기 때문에 우클릭 후 빠른 포맷을 합니다. FAT32로 진행하셔도 됩니다.

 

 

 

 2. 윈도우 부팅 USB 만들기


https://www.microsoft.com/ko-kr/software-download/windows10

위 사이트에 먼저 접속하셔서 윈도우 10을 무료로 다운로드 받으면 된답니다.

 

 

> 사이트에 접속하셔서 "지금 다운로드" -> 다운로드 파일 실행 -> 다른 PC용 선택

 

 

> 권장 옵션의 경우 기존 PC를 포맷하고 사용하는 경우외에는 제외 시켜주시면 됩니다.

 

 

> 여기서 플래시 드라이브 " !!!! USB의 드라이브 번호와 동일한지  E 드라이브 확인 하세요 !!!! "

 

 

> 모든 완성이 되었다면 이렇게 USB안에 파일이 생성 됩니다.

> 추가로 PC를 바로 사용하려면 이렇게 3DP chip, NET도 같이 들고가면 좋아요

 

 

 

3. USB 부팅 시작하기 


-> 여기서 부터는 메인보드에 따라서 조금씩 설정이 달라서 검색이 필요합니다.

-> USB를 꼽고 화면 처음 시작할때 Del, F2를 누르면 진입이 가능합니다.

 

 

4. 클린 설치 시작


 

> Shift + F10 키를 누른 후 -> diskpart를 입력해줍니다.

다음과 같은 순서로

> diskpart -> list disk -> sel disk 0 (윈도우 설치하려는 disk)

> CLEAN  ->  CONVERT GPT  -> EXIT

순서로 disk를 포맷합니다.

 

> 제품키가 있다면 제품키 없으면 "제품 키가 없음"

 

> 구매하신 라이선스에 Home, PRO 확인 후 설치

> 방금전 CLEAN으로 포맷한 디스크

 

 

> 이렇게 설치를 진행하고 나면 재부팅이 된 후 완료됩니다.

 

!! 3DP Chip, Net을 가져가셨다면 NET으로 네트워크 드라이버 설치, Chip으로 알맞은 드라이버 모두 설치 진행하면 완료입니다.

반응형
반응형

(상)편에 이어서

Python을 이용하여 실제 번호 예측을 진행해 보겠습니다.

#로또번호예측기

 

코드는 블로그 최하단에 넣어 둘게요.

csv파일은 https://johncom.tistory.com/71

 

AI 빅데이터 분석을 이용한 로또 번호 예측하기 (상) - GPT와 함께

안녕하세요. JohnComputer 입니다.오늘은 한번 GPT를 이용해서 로또 번호 예측 시스템을 만들어 보려고 해요. 아래는 GPT와 빅데이터 분석에 대한 글들이 있어로또 예측기를 바로 만들고 싶은 분들 (

johncom.tistory.com

python 설치는 https://johncom.tistory.com/49

 

python3 설치 부터 경로 설정까지 (pip, python, 환경 변수, path)

안녕하세요. JohnCom 입니다. 오늘은 제 로컬 PC에 Python3 를 설치를 진행하는데 설치하는 방법을 정리해두면 처음 시작하는 분들에게 도움이 될 것 같아서 이렇게 따로 정리해둘려고 글을 씁니다. "

johncom.tistory.com

간단한 로또 번호 추출기는 https://johncom.tistory.com/59

 

python(Random), chatgpt, Deepl 를 활용한 로또 생성기

안녕하세요. JohnComputer 입니다. 오랜만에 글을 적게 되는데요. 요즘 너무 바뻐서 블로그에 글을 쓰고 있지 못하네요 ㅠㅠ 그래도 요번에 간단하게 chatGPT 사용방법, Deepl 소개를 가지고 함께 로또

johncom.tistory.com

 

 

패키지 설치

바로 실행하게 되면 다음과 같은 오류가 발생할텐데

 

필요한 패키지 먼저 설치할게요.

 

pip install numpy
pip install pandas
pip install -U scikit-learn

## tenserflow 설치
pip install tensorflow

tenorflow의 경우 여러가지 설명하자면 너무 복잡하니 간단하게 사용방법만 보아요

 

저는 가상환경 만들어서 진행해서 파일이 있지만

lotto.csv

lotto.py

이렇게 두개 파일만 만들면 된답니다.

 

파이썬 파일을 실행하면

 

 

import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense

# CSV 파일 로드
data = pd.read_csv('lotto_data.csv')  # 'lotto_data.csv' 파일을 읽어 데이터프레임으로 로드합니다.

# 데이터 스케일링
scaler = MinMaxScaler()  # MinMaxScaler 객체 생성
data_scaled = scaler.fit_transform(data)  # 데이터 스케일링 (0과 1 사이로 변환)

# 시계열 데이터 준비 함수
def create_dataset(data, time_steps=1):
    X, y = [], []
    for i in range(len(data) - time_steps):
        X.append(data[i:(i + time_steps)])  # time_steps 만큼의 데이터로 입력값 생성
        y.append(data[i + time_steps])      # time_steps 이후의 데이터로 출력값 생성
    return np.array(X), np.array(y)  # 입력값과 출력값 배열 반환

# 시계열 데이터 생성
time_steps = 10  # 이전 10회차 데이터를 사용하여 다음 회차를 예측합니다.
X, y = create_dataset(data_scaled, time_steps)
X = X.reshape(X.shape[0], X.shape[1], X.shape[2])  # LSTM 입력 형식에 맞게 데이터 재구성

# LSTM 모델 구성
model = Sequential()
model.add(LSTM(50, return_sequences=True, input_shape=(X.shape[1], X.shape[2])))  # 첫 번째 LSTM 레이어
model.add(LSTM(50, return_sequences=False))  # 두 번째 LSTM 레이어
model.add(Dense(6))  # Dense 레이어: 6개의 숫자를 예측
model.compile(optimizer='adam', loss='mean_squared_error')  # 모델 컴파일

# 모델 학습
model.fit(X, y, epochs=100, batch_size=32, validation_split=0.2)  # 모델 학습 (100 에포크, 배치 크기 32, 검증 데이터 20%)

# 예측
predictions = model.predict(X)  # 학습된 모델을 사용하여 예측

# 원래 스케일로 역변환
predictions_scaled_back = scaler.inverse_transform(predictions)  # 예측된 값을 원래 스케일로 변환

# 예측된 값에서 확률적으로 6개의 번호를 선택하는 함수
def pick_numbers(predictions):
    picked_numbers = []
    for i in range(len(predictions)):
        picked_numbers.append(np.random.choice(predictions[i].astype(int), 6, replace=False))  # 각 회차별로 6개의 번호를 무작위로 선택
    return np.array(picked_numbers)

# 가장 최근 예측된 회차의 숫자를 사용하여 번호 선택
picked_numbers = pick_numbers(predictions_scaled_back[-1:])  # 마지막 예측된 회차의 숫자를 사용
print("Predicted numbers:", picked_numbers)  # 예측된 번호 출력

 

저는 빅데이터나 AI 전문가는 아니지만

개발을 같이 하기 때문에 사용방법만 터득해서 한번 만들어 보았습니다.

사용중에 어려운 부분있으면 댓글 남겨주세요

반응형
반응형

 

안녕하세요. JohnComputer 입니다.

오늘은 한번 GPT를 이용해서 로또 번호 예측 시스템을 만들어 보려고 해요.

 

아래는 GPT와 빅데이터 분석에 대한 글들이 있어

로또 예측기를 바로 만들고 싶은 분들 (하) 편을 바로 보세요.

 

6개의 무작위 숫자를 가진 여러개의 행의 파일이 CSV안에 있어
이 데이터들을 활용해서 다음에 나올 숫자를 예측하는 시스템을 만들고 싶은데
ML 또는 빅데이터 분석을 이용하여 데이터를 예측하고 싶어 어떤 모델을 사용하면 좋을까?

 

사실 GPT는 프롬프트 즉, 명령을 어떻게 내리냐에 따라서

정말 다른 답변을 주게 됩니다.

 

질문을 잘 하는게 중요 합니다.

 

숫자를 예측 하는 모델

기초적인 회귀 모델 (Basic Regression Models)
  • 선형 회귀 (Linear Regression): 연속된 숫자를 예측하는 기본적인 모델로, 데이터의 패턴이 선형적일 때 유용합니다.
  • 다항 회귀 (Polynomial Regression): 데이터의 패턴이 비선형적인 경우 사용할 수 있습니다.
시간 시계열 모델 (Time Series Models):
  • ARIMA (AutoRegressive Integrated Moving Average): 시간 시계열 데이터 예측에 자주 사용되는 모델로, 과거 값을 기반으로 미래 값을 예측합니다.
  • SARIMA (Seasonal ARIMA): 계절성을 포함한 ARIMA 모델로, 데이터에 계절적 패턴이 있을 경우 유용합니다.
  • Prophet: Facebook에서 개발한 시간 시계열 예측 도구로, 비정기적 데이터와 계절성을 모두 처리할 수 있습니다
머신러닝 모델 (Machine Learning Models):
  • 랜덤 포레스트 (Random Forest): 여러 개의 결정 트리를 조합하여 예측 정확도를 높이는 앙상블 방법입니다.
  • Gradient Boosting Machines (GBM): 여러 개의 약한 예측기를 결합하여 강력한 예측기를 만드는 앙상블 방법입니다.
딥러닝 모델 (Deep Learning Models):
  • LSTM (Long Short-Term Memory): 순환 신경망(RNN)의 일종으로, 시계열 데이터 예측에 자주 사용됩니다. 긴 의존성을 처리하는 데 유리합니다.
  • GRU (Gated Recurrent Unit): LSTM과 유사하지만, 더 간단하고 계산 비용이 적은 모델입니다.
  • CNN (Convolutional Neural Networks): 주로 이미지 처리에 사용되지만, 1D 합성곱 신경망은 시계열 데이터 예측에도 사용될 수 있습니다.

 

예측 모델 개발 과정

 

1. 데이터 전처리:

- 결측값 처리, 이상치 제거 및 데이터 정규화 등의 전처리 작업을 수행합니다.

- 각 행의 6개의 숫자를 적절한 형태로 변환하여 모델에 입력할 수 있도록 준비합니다.

 

2. 특징 엔지니어링 (Feature Engineering):

- 과거 데이터로부터 유의미한 특징을 추출합니다.

- 이동 평균, 누적 합계, 차분 등 다양한 통계적 특징을 생성할 수 있습니다.

 

3. 모델 선택 및 학습 (Model Selection and Training):

- 위에서 언급한 모델 중 하나를 선택하여 데이터를 학습시킵니다.

- 교차 검증을 통해 모델의 성능을 평가하고, 과적합을 방지합니다.

 

4. 모델 평가 (Model Evaluation):

- 테스트 데이터를 사용하여 모델의 예측 성능을 평가합니다.

- MSE(Mean Squared Error), RMSE(Root Mean Squared Error) 등의 평가지표를 사용합니다.

 

5.모델 튜닝 (Model Tuning):

- 하이퍼파라미터 튜닝을 통해 모델의 성능을 최적화합니다.

- Grid Search, Random Search, Bayesian Optimization 등을 사용할 수 있습니다.

 

6.배포 및 모니터링 (Deployment and Monitoring):

- 예측 시스템을 배포하고 실시간으로 데이터를 수집하여 예측 결과를 모니터링합니다.

- 모델의 성능을 지속적으로 평가하고, 필요시 재학습을 수행합니다.

 

위에 내용 까지는 GPT가 만들어 준 내용이고

대충 이해를 했다면 역대 당첨 번호를 가지러 가보겠습니다.

 

 

역대 당첨결과 CSV파일 만들기

 

 

당첨결과 탭을 눌러주시고

하단에 가게 되면 작게 적혀있습니다.

여기서 엑셀 다운로드를 눌러주세요.

 

이렇게 다운 받은 데이터를 가지고

코드로 가져가게 되면 저희가 불필요한 데이터도 가지고 있게 됩니다.

 

 

저는 여기서 불필요한 열들을 모두 지우고 보너스 번호까지도 모두 지울 예정입니다.

이후 CSV 파일로 만들어 주는 작업도 같이 진행합니다.

 

혹시 CSV 작업된 파일이 필요하다면 댓글 남겨주세요.

 

 

모두 작업되면 위와 같은 파일만 남게 됩니다.

이후 작업은 (하)편에서 계속할게요.

 

 

반응형
반응형

안녕하세요.

JohnComputer입니다.

 

여러분들은 스마트폰, 카메라 등등 많은 곳에서 사용되는 SD카드를 어떻게 버리거나

당근 거래할때 같이 판매하나요??

 

일상에서 정말 많이 사용하는 제품 중 하나가 SD카드가 아닐까 싶은데..

사실 이 SD 카드를 컴퓨터 상에서 재사용용도로 포맷을 하게된다면

복구가 가능하다는 사실 아시나요??

 

아마 로우 포맷이라거나 SD 카드 지우기, 포맷 등 검색해서 들어오신 분들은 뉴스를 한번씩 보셨을 겁니다.

 

그래서 완벽하게 지우는 방법 알려드릴게요.

 

 

 

https://www.sdcard.org/

 

SD Association | The SD Association

The SD Association

www.sdcard.org

위 사이트로 접속해 주시고

 

위 사이트를 못 믿으실까봐 !!

위키피디아 설명을 DEEPL을 이용하여 번역내용 첨부합니다.

라고 합니다...

이제 위 사이트에서

"Downloads -> 좌측화면 SD Memory Windows Download 눌러줍니다.

쭈욱 아래로 내려가시면

 

accept 동의 눌러주시고

 

다운로드가 모두 완료되었다면

실행해서 설치 진행 하세요

1. SELECTED = 꽂은 USB의 경로 보시고 (내 PC에서 확인)

2. Formmation options = Overwrite format

3. CHS Format size adjustment 선택 

4. Format버튼 눌러서 진행

 

 

모두가 완료되고 깔끔하게 비워진것을 확인하실 수 있습니다.

반응형
반응형

안녕하세요 Johncomputer 입니다.
오늘은 slack webhook 설정이후 갑자기 작동이 안되거나
운영중이던 서비스에서 도입 후 별다른 에러 없이 전송이 안될때 해결 방법입니다.

각각 호출하는 방법들이 다르겠지만

curl -명령 url 

형식으로 많이 전송하실텐데요

curl -v url

으로 api 통시 세부내역 한번 확인해봅니다.

curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html

code 60 error가 발생했고 SSL certificate problem: certificate has expired 에러가 발생했습니다 ㅠㅠ

인증서 만료 에러가 발생한건데…

인증서를 추가해라…
옵션을 추가해라..
글이 많은데


yum update ca-certificates


먼저 위 명령어로 간단히 업데이트 해주시면
구버전의 인증서가 업데이트 되면서 동작 가능합니다

반응형