>  기사  >  백엔드 개발  >  Python을 사용하여 데이터의 패턴을 발견하는 방법

Python을 사용하여 데이터의 패턴을 발견하는 방법

王林
王林앞으로
2023-04-28 13:43:061867검색

1. 준비

시작하기 전에 Python과 pip가 컴퓨터에 성공적으로 설치되었는지 확인해야 합니다.

(선택 1) 데이터 분석을 위해 Python을 사용하는 경우 Python과 pip가 내장되어 있는 Anaconda를 직접 설치할 수 있습니다.

(선택 2) 또한 VSCode를 사용하는 것이 좋습니다. 많은 장점이 있습니다

종속성 설치 명령을 입력하려면 다음 방법 중 하나를 선택하세요:

1. Windows 환경에서 Cmd(Start-Run-CMD)를 엽니다.

2. MacOS 환경 터미널을 엽니다(터미널에 들어가려면 Command+Space).

3. VSCode 편집기나 Pycharm을 사용하는 경우 인터페이스 하단의 터미널을 직접 사용할 수 있습니다.

pip install pandas
pip install numpy
pip install scipy
pip install seaborn
pip install matplotlib

# 机器学习部分
pip install scikit-learn

2. 통계 설명을 통해 패턴을 발견합니다.

통계 설명을 위해 Python을 사용하여 일부 내장된 Numpy 및 Pandas와 같은 라이브러리에서.

다음은 몇 가지 기본 통계 설명 기능입니다.

Mean(평균): 데이터 세트의 평균을 계산합니다.

import numpy as np

data = [1, 2, 3, 4, 5]
mean = np.mean(data)
print(mean)

출력 결과는 다음과 같습니다. 3.0

Median(median): 데이터 세트의 중앙값을 계산합니다.

import numpy as np

data = [1, 2, 3, 4, 5]
median = np.median(data)
print(median)

출력 결과는 다음과 같습니다. 3.0

Mode(모드): 데이터 세트의 모드를 계산합니다.

import scipy.stats as stats

data = [1, 2, 2, 3, 4, 4, 4, 5]
mode = stats.mode(data)
print(mode)

출력 결과는 다음과 같습니다: ModeResult(mode=array([4]), count=array([3]))

Variance(분산): 데이터 세트의 분산을 계산합니다.

import numpy as np

data = [1, 2, 3, 4, 5]
variance = np.var(data)
print(variance)

출력 결과는 다음과 같습니다. 2.0

표준 편차(표준 편차): 데이터 세트의 표준 편차를 계산합니다.

import numpy as np

data = [1, 2, 3, 4, 5]
std_dev = np.std(data)
print(std_dev)

출력 결과는 다음과 같습니다. 1.4142135623730951

위는 몇 가지 기본적인 통계 설명 기능입니다. 기타 사용할 수 있는 기능도 있으므로 구체적인 사용 방법은 해당 문서를 확인하세요.

3. 데이터 시각화 분석 규칙

Python에는 데이터 시각화에 사용할 수 있는 라이브러리가 많이 있으며, 그 중 가장 일반적으로 사용되는 것은 Matplotlib 및 Seaborn입니다. 다음은 몇 가지 기본 데이터 시각화 방법입니다.

선 도표(선 도표): 시간 경과에 따른 추세 또는 특정 변수를 표시하는 데 사용할 수 있습니다.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.show()

산점도: 두 변수 간의 관계를 표시하는 데 사용할 수 있습니다.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.scatter(x, y)
plt.show()

히스토그램: 수치 데이터의 분포를 표시하는 데 사용할 수 있습니다.

import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 4, 4, 4, 5]

plt.hist(data, bins=5)
plt.show()

Box Plot(박스 플롯): 수치 데이터의 중앙값, 사분위수, 이상치 등의 정보를 표시하는 데 사용할 수 있습니다.

import seaborn as sns

data = [1, 2, 2, 3, 4, 4, 4, 5]

sns.boxplot(data)
plt.show()

막대형 차트: 범주형 변수 간의 차이점이나 비교를 표시하는 데 사용할 수 있습니다.

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [10, 20, 30, 40]

plt.bar(categories, values)
plt.show()

위는 몇 가지 기본적인 데이터 시각화 방법입니다. Matplotlib과 Seaborn 모두 더 복잡한 차트와 그래프를 만드는 데 사용할 수 있는 더 풍부한 기능을 제공합니다.

4. 패턴 발견을 위한 그룹화 및 집계 분석

Python에서는 Pandas 라이브러리를 사용하여 데이터를 쉽게 그룹화하고 집계하여 데이터의 패턴을 발견할 수 있습니다. 다음은 기본 그룹화 및 집계 예입니다.

판매 날짜, 판매 금액, 판매원 이름이 포함된 데이터 세트가 있고 각 판매원의 총 판매량을 알고 싶다고 가정합니다. 영업사원 이름별로 그룹화하고 각 그룹에 합계, 평균 등 집계 함수를 적용할 수 있습니다. 다음은 샘플 코드입니다.

import pandas as pd

# 创建数据集
data = {'sales_date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08', '2022-01-09', '2022-01-10'],
        'sales_amount': [100, 200, 150, 300, 250, 400, 350, 450, 500, 600],
        'sales_person': ['John', 'Jane', 'John', 'Jane', 'John', 'Jane', 'John', 'Jane', 'John', 'Jane']}

df = pd.DataFrame(data)

# 按销售员名称分组,并对每个组的销售金额求和
grouped = df.groupby('sales_person')['sales_amount'].sum()

print(grouped)

출력은 다음과 같습니다.

sales_person
Jane 2200
John 1800
Name: sales_amount, dtype: int64

보시다시피 영업사원 이름별로 성공적으로 그룹화되었으며 Sum은 그룹별 판매금액입니다. 이런 방식으로 각 영업사원의 총 매출을 구하고 데이터의 패턴을 이해할 수 있습니다.

5. 머신러닝 알고리즘 분석 및 패턴 발견

scikit-learn 라이브러리를 사용하여 머신러닝 알고리즘을 구현하고 데이터에서 패턴을 발견할 수 있습니다. 다음은 의사결정 트리 알고리즘을 사용하여 데이터를 분류하고 데이터에서 패턴을 발견하는 방법을 보여주는 기본 예입니다.

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 创建数据集
data = {'age': [22, 25, 47, 52, 21, 62, 41, 36, 28, 44],
        'income': [21000, 22000, 52000, 73000, 18000, 87000, 45000, 33000, 28000, 84000],
        'gender': ['M', 'F', 'F', 'M', 'M', 'M', 'F', 'M', 'F', 'M'],
        'bought': ['N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'N', 'Y', 'Y']}

df = pd.DataFrame(data)

# 将文本数据转换成数值数据
df['gender'] = df['gender'].map({'M': 0, 'F': 1})
df['bought'] = df['bought'].map({'N': 0, 'Y': 1})

# 将数据集分成训练集和测试集
X = df[['age', 'income', 'gender']]
y = df['bought']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 创建决策树模型
model = DecisionTreeClassifier()

# 训练模型
model.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = model.predict(X_test)

# 计算模型的准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}%".format(accuracy*100))

출력 결과는 다음과 같습니다.

정확도: 50.00%

보시다시피 우리는 의사결정 트리 알고리즘 데이터를 분류하고 테스트 세트에서 모델의 정확도를 계산했습니다. 이러한 방식으로 우리는 어떤 요인이 구매 결정에 영향을 미치는지와 같은 데이터의 패턴을 발견할 수 있습니다. 이는 단순한 예시일 뿐이며, 실제 응용에서는 특정 문제에 따라 적절한 기계 학습 알고리즘과 기능 엔지니어링 방법을 선택해야 한다는 점에 유의해야 합니다.

위 내용은 Python을 사용하여 데이터의 패턴을 발견하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제