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
MySQL 테이블 DB 사이즈 구하기 - row 개수 / 행 개수
안녕하세요. Johncom 입니다. information Schema의 테이블에는 테이블 관련 정보들이 정의되어 기록되고 있습니다.모든 값들은 byte 단위로 기록되고 있어 간단한 변환이 필요합니다.아래 내용은 "MB" 기준으로 계산 되어 "GB" 계산을 진행하려면 /1024를 추가해야 합니다. DESC information_schema.TABLES;+-----------------+---------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------------+---------------------+------+-----+---..
2024.10.23
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
anaconda miniconda import cv2 에러 해결
안녕하세요. John Com 입니다.Python으로 영상 처리하는 프로그램을 만들다가자꾸 에러가 발생해서.. 아주 간단한 문제이지만어디에도 해결방법이 안적혀있어 저처럼 python 공부하는 사람들을 위해글을 적어봅니다. 이렇게 떠야 정상 화면인데....GPT 형한테 배운대로 했더니 import cv2 error가 발생하더라고요 import cv2ModuleNotFoundError : No module named 'cv2' .... conda install 말고pip install opencv-python 를 따로 진행해주셔야 합니다.  conda create -n py310 python=3.10conda activate py310# CPU 버전 PyTorch 설치conda install pytorch t..
2024.07.28
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
반응형

안녕하세요. 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 입니다.

 

information Schema의 테이블에는 테이블 관련 정보들이 정의되어 기록되고 있습니다.

모든 값들은 byte 단위로 기록되고 있어 간단한 변환이 필요합니다.

아래 내용은 "MB" 기준으로 계산 되어 "GB" 계산을 진행하려면 /1024를 추가해야 합니다.

 

DESC information_schema.TABLES;

< information_shema.TABLES 구조 >

+-----------------+---------------------+------+-----+---------+-------+
| Field           | Type                | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+---------+-------+
| TABLE_CATALOG   | varchar(512)        | NO   |     |         |       |
| TABLE_SCHEMA    | varchar(64)         | NO   |     |         |       |
| TABLE_NAME      | varchar(64)         | NO   |     |         |       |
| TABLE_TYPE      | varchar(64)         | NO   |     |         |       |
| ENGINE          | varchar(64)         | YES  |     | NULL    |       |
| VERSION         | bigint(21) unsigned | YES  |     | NULL    |       |
| ROW_FORMAT      | varchar(10)         | YES  |     | NULL    |       |
| TABLE_ROWS      | bigint(21) unsigned | YES  |     | NULL    |       |
| AVG_ROW_LENGTH  | bigint(21) unsigned | YES  |     | NULL    |       |
| DATA_LENGTH     | bigint(21) unsigned | YES  |     | NULL    |       |
| MAX_DATA_LENGTH | bigint(21) unsigned | YES  |     | NULL    |       |
| INDEX_LENGTH    | bigint(21) unsigned | YES  |     | NULL    |       |
| DATA_FREE       | bigint(21) unsigned | YES  |     | NULL    |       |
| AUTO_INCREMENT  | bigint(21) unsigned | YES  |     | NULL    |       |
| CREATE_TIME     | datetime            | YES  |     | NULL    |       |
| UPDATE_TIME     | datetime            | YES  |     | NULL    |       |
| CHECK_TIME      | datetime            | YES  |     | NULL    |       |
| TABLE_COLLATION | varchar(32)         | YES  |     | NULL    |       |
| CHECKSUM        | bigint(21) unsigned | YES  |     | NULL    |       |
| CREATE_OPTIONS  | varchar(255)        | YES  |     | NULL    |       |
| TABLE_COMMENT   | varchar(2048)       | NO   |     |         |       |
+-----------------+---------------------+------+-----+---------+-------+

 

TABLE 정보

TABLE_CATALOG 테이블이 속한 카탈로그 (대부분은 고정된 값일 수 있음)
TABLE_SCHEMA 테이블이 속한 스키마 (데이터베이스 이름)
TABLE_NAME 테이블 이름
TABLE_TYPE 테이블의 유형 (예
ENGINE 테이블이 사용하는 스토리지 엔진 (예
VERSION 테이블의 버전 (내부적인 관리 버전 정보)
ROW_FORMAT 테이블의 행 저장 형식 (예
TABLE_ROWS 테이블에 저장된 행의 개수
AVG_ROW_LENGTH 평균 행 길이 (바이트 단위)
DATA_LENGTH 테이블의 실제 데이터 크기 (바이트 단위)
MAX_DATA_LENGTH 테이블이 수용할 수 있는 최대 데이터 크기
INDEX_LENGTH 인덱스에 사용된 공간 크기
DATA_FREE 테이블에서 사용하지 않는 (비어 있는) 공간 크기
AUTO_INCREMENT 자동 증가(AUTO_INCREMENT) 값
CREATE_TIME 테이블이 생성된 시간
UPDATE_TIME 테이블이 마지막으로 업데이트된 시간
CHECK_TIME 테이블이 마지막으로 검사된 시간
TABLE_COLLATION 테이블에서 사용하는 정렬 규칙 (콜레이션)
CHECKSUM 테이블의 체크섬 값 (데이터의 무결성 검사용)
CREATE_OPTIONS 테이블 생성 시 사용된 추가 옵션
TABLE_COMMENT 테이블에 대한 설명 또는 주석
TABLE_SCHEMAL DB명
TABLE_NAME TABLE명

 

Query

1. 간단한 DB 사이즈 TOTAL SIZE 조회 ( 데이터 + 인덱스 )

SELECT table_schema "DATABASE",
ROUND(SUM(data_length+index_length)/1024/1024,1) "DATA(MB)"
FROM information_schema.TABLES
GROUP BY table_schema;

 

 

2. DB 사이즈 중 DATA와 INDEX 나눠서 보기

SELECT
table_schema "DATABASE",
ROUND(SUM(data_length)/(1024/1024),2) as 'DATA(MB)',
ROUND(SUM(index_length)/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES
GROUP BY table_schema
ORDER BY 2 DESC;

 

3.특정 DB내 테이블 정보 가져오기

SELECT
table_schema "DATABASE",
table_name "TABLE",
table_rows "TABLE_COUNT",
ROUND(data_length/(1024/1024),2) as 'DATA(MB)',
ROUND(index_length/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES
WHERE table_schema = 'test'
ORDER BY 3 DESC;

 

4.DB-TABLE 별 COUNT와 DATABASE SIZE 확인하기

SELECT
table_schema "DATABASE",
table_name "TABLE",
table_rows "TABLE_COUNT",
ROUND(data_length/(1024/1024),2) as 'DATA(MB)',
ROUND(index_length/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES;

 

자주 내가 날리는 쿼리

SELECT
table_schema "DATABASE",
table_name "TABLE",
table_rows "TABLE_COUNT",
ROUND(data_length/(1024/1024),2) as 'DATA(MB)',
ROUND(index_length/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES
WHERE table_schema NOT IN ('sys','mysql','information_schema','performance_schema')
ORDER BY data_length DESC;
반응형
반응형

안녕하세요. 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으로 알맞은 드라이버 모두 설치 진행하면 완료입니다.

반응형
반응형

안녕하세요. John Com 입니다.

Python으로 영상 처리하는 프로그램을 만들다가

자꾸 에러가 발생해서.. 아주 간단한 문제이지만

어디에도 해결방법이 안적혀있어 저처럼 python 공부하는 사람들을 위해

글을 적어봅니다.

 

이렇게 떠야 정상 화면인데....

GPT 형한테 배운대로 했더니

 

import cv2 error가 발생하더라고요

 

import cv2

ModuleNotFoundError : No module named 'cv2'

 

....

 

conda install 말고

pip install opencv-python 를 따로 진행해주셔야 합니다.

 

 

conda create -n py310 python=3.10
conda activate py310
# CPU 버전 PyTorch 설치
conda install pytorch torchvision torchaudio cpuonly -c pytorch

# OpenCV 설치
conda install opencv

### 이 부분이 중요!! 가상환경의 python에도 패키지 install 해주셔야 합니다
pip install opencv-python
pip install numpy
반응형
반응형

(상)편에 이어서

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 작업된 파일이 필요하다면 댓글 남겨주세요.

 

 

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

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

 

 

반응형