K-Means 집계 알고리즘과 Django Rest 프레임워크를 사용하여 개성 예측(글 부분은 GPT3에서 작성)
소개하다.
우리가 알고 있는 바와 같이 인공지능은 기술 변혁을 통해 현재 세계를 철저히 바꾸고 있다.기계 학습이 우리의 일상생활에 응용되는 데 있어서 기계 학습의 믿을 수 없는 응용은 개체의 개성 특징에 따라 이를 분류하는 것이다.이 별의 모든 사람은 유일무이하고 독특한 개성을 가지고 있다.고차원적이고 대량의 데이터의 가용성은 특정인을 대상으로 마케팅 활동의 유효성을 높이는 데 길을 닦았다.이런 개성을 바탕으로 하는 소통은 제품과 서비스의 지명도와 흡인력을 높이는 데 매우 효과적이다.
본고에서 우리는 50개의 문제를 바탕으로 하는 인격 예측 모델을 구축했고 Django Rest 프레임워크를 이용하여 이 모델을 배치했다.
나는 또한 나의 코드 스냅숏을 공유하고 GPT3를 어떻게 사용해서 내가 본문의 내용을 생성하는 것을 돕는지 소개할 것이다."구현 단계"섹션을 제외한 모든 텍스트는 GPT3에 의해 생성되며, 트윗, 시 쓰기, 요약 이메일 작성, 사소한 질문에 대한 답변, 번역 언어, 심지어 자신의 컴퓨터 프로그램을 작성할 수 있는 자연 언어 처리 시스템입니다.
K-균일치 분류 알고리즘.
K-균일치 집계 알고리즘은 기계학습을 감독하지 않는 알고리즘이다.간단하게 말하자면, 이것은 일종의 분류 알고리즘으로 데이터를 집단에 나누어 각각의 집단에 라벨을 분배한다.K-Means 알고리즘은 알고리즘이 충족될 때까지 다음 단계를 반복하는 반복 알고리즘입니다.
K-균일치 알고리즘의 응용.
k-means 분류 알고리즘은 각종 응용에 사용된다.그것은 마케팅, 광고, 시장 세분화, 고객 세분화에 쓰인다.그것은 누군가의 성격을 확인하는 등 각종 과학 분야에도 사용된다.누군가의 성격을 결정하다.
다섯 가지 성격 특징(해양)
5대 성격 특징은:
현재 우리는 k-means 알고리즘과 5대 인격 특징을 기본적으로 이해했고 5대 인격 특징을 구축하는 것을 깊이 있게 연구했다.
실시 절차.
모델을 구축하고 저장하는 것부터 시작하여 이 모델은 나중에 API를 예측하는 데 사용될 것입니다.
데이터 세트.
Dell의 데이터 세트에는 온라인으로 수집한 1015342건의 설문 답안Open Psychometrics이 포함되어 있습니다.데이터 집합이 실제로 어떻게 나타났는지 봅시다.이 블로그의 데이터 집합과 전체 코드는 myGithub Repo에서 찾을 수 있습니다
우리는 우선 필요한 의존항을 가져옵니다.라이브러리가 설치되어 있지 않으면 계속하기 전에 설치하십시오.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import os
from sklearn.cluster import KMeans
from yellowbrick.cluster import KElbowVisualizer
from sklearn.preprocessing import MinMaxScaler
from sklearn.decomposition import PCA
import joblib
다음에는 pandas를 사용하여 데이터 세트를 로드한 다음 참가자의 수를 표시합니다.data_raw = pd.read_csv('data-final.csv', sep='\t')
data = data_raw.copy()
pd.options.display.max_columns = 150
data.drop(data.columns[50:107], axis=1, inplace=True)
data.drop(data.columns[51:], axis=1, inplace=True)
print('Number of participants: ', len(data))
data.head()
Number of participants: 1015341
데이터 집합의 탐색.
먼저 누락된 값을 확인하고 다음과 같이 누락된 값을 삭제합니다.
print('Missing value? ', data.isnull().values.any())
print('How many? ', data.isnull().values.sum())
data.dropna(inplace=True)
print('Number of participants after eliminating missing values: ', len(data))
Is there any missing value? True
How many missing values? 89227
Number of participants after eliminating missing values: 1013481
이제 코드를 입력하여 각 국가의 참가자 분포를 살펴보겠습니다.# Participants' nationality distriution
countries = pd.DataFrame(data['country'].value_counts())
countries_5000 = countries[countries['country'] >= 5000]
plt.figure(figsize=(15,5))
sns.barplot(data=countries_5000, x=countries_5000.index, y='country')
plt.title('Countries With More Than 5000 Participants')
plt.ylabel('Participants');
이제 설문지의 문답 분포를 상상해 보자. 아래와 같다.
# Defining a function to visualize the questions and answers distribution
def vis_questions(groupname, questions, color):
plt.figure(figsize=(40,60))
for i in range(1, 11):
plt.subplot(10,5,i)
plt.hist(data[groupname[i-1]], bins=14, color= color, alpha=.5)
plt.title(questions[groupname[i-1]], fontsize=18)
외향적 성격과 관련된 문제와 건의
print('Q&As Related to Extroversion Personality')
vis_questions(EXT, ext_questions, 'orange')
Q&As 신경질적 인격 관련
print('Q&As Related to Neuroticism Personality')
vis_questions(EST, est_questions, 'pink')
성격에 맞는 Q&A
print('Q&As Related to Agreeable Personality')
vis_questions(AGR, agr_questions, 'red')
문답은 책임을 다하는 인격과 관계가 있다
print('Q&As Related to Conscientious Personality')
vis_questions(CSN, csn_questions, 'purple')
개방 인격과 관련된 문답
print('Q&As Related to Open Personality')
vis_questions(OPN, opn_questions, 'blue')
모델 구축
우리는 우리의 모델에 나타날 집단의 수량, 즉 인격 특질의 5가지 유형을 이미 알고 있다.코드를 어떻게 사용해서 이 값을 얻는지 봅시다.계산에 편리하도록 0-1 사이의 모든 값을 축척하고 다음과 같이 5000개의 견본만 사용합니다.
df = data.drop('country', axis=1)
columns = list(df.columns)
scaler = MinMaxScaler(feature_range=(0,1))
df = scaler.fit_transform(df)
df = pd.DataFrame(df, columns=columns)
df_sample = df[:5000]
이제 팔꿈치 곡선을 상상해 봅시다.집계 분석에서 팔꿈치법은 일종의 계발식 방법으로 데이터가 집중된 집계수를 확정하는 데 쓰인다.이 방법은 해석의 변화를 묶음수로 그리는 함수를 포함하고 곡선의 커브를 묶음수로 선택합니다.kmeans = KMeans()
visualizer = KElbowVisualizer(kmeans, k=(2,15))
visualizer.fit(df_sample)
visualizer.poof()
보시다시피 다섯 개의 집합이 데이터 집합에 가장 적합해 보입니다. 이 연구는 다섯 가지 다른 성격을 식별하기 위한 것으로 알고 있습니다.
참가자를 5개의 성격 그룹으로 나누다
이를 위해, 우리는 표시되지 않은 데이터를 사용하지만, 국가열을 사용하지 않는다.
df_model = data.drop('country', axis=1)
# I define 5 clusters and fit my model
kmeans = KMeans(n_clusters=5)
k_fit = kmeans.fit(df_model)
## SAVE KFIT MODEL
joblib_file = "BigFivePersonalityTestModel.joblib"
joblib.dump(k_fit, joblib_file)
# Predicting the Clusters
pd.options.display.max_columns = 10
predictions = k_fit.labels_
df_model['Clusters'] = predictions
df_model.head()
EXT1 EXT2 EXT3 EXT4 EXT5 ... OPN7 OPN8 OPN9 OPN10 Clusters
0 4.0 1.0 5.0 2.0 5.0 ... 5.0 3.0 4.0 5.0 3
1 3.0 5.0 3.0 4.0 3.0 ... 4.0 2.0 5.0 3.0 2
2 2.0 3.0 4.0 4.0 3.0 ... 5.0 3.0 4.0 4.0 2
3 2.0 2.0 2.0 3.0 4.0 ... 4.0 4.0 3.0 3.0 1
4 3.0 3.0 3.0 3.0 5.0 ... 5.0 3.0 5.0 5.0 3
분석 모델 및 예측
각 클러스터에는 다음과 같은 개체가 얼마나 있는지 살펴보겠습니다.
df_model.Clusters.value_counts()
4 227063
2 212816
3 210075
0 200226
1 163301
Name: Clusters, dtype: int64
우리들은 결과를 분류에 따라 조를 나누자.이렇게 하면 우리는 모든 집단의 모든 문제의 평균 답안을 조사할 수 있다.이렇게 하면 우리는 우리의 모델이 어떻게 사람을 분류하는지에 대해 직감을 가질 수 있다.
pd.options.display.max_columns = 150
df_model.groupby('Clusters').mean()
이제 각 질문 그룹(EXT, EST.)을 요약해 보겠습니다.우리가 하나의 패턴을 볼 수 있는지 없는지를 보자.# Summing up the different questions groups
col_list = list(df_model)
ext = col_list[0:10]
est = col_list[10:20]
agr = col_list[20:30]
csn = col_list[30:40]
opn = col_list[40:50]
data_sums = pd.DataFrame()
data_sums['extroversion'] = df_model[ext].sum(axis=1)/10
data_sums['neurotic'] = df_model[est].sum(axis=1)/10
data_sums['agreeable'] = df_model[agr].sum(axis=1)/10
data_sums['conscientious'] = df_model[csn].sum(axis=1)/10
data_sums['open'] = df_model[opn].sum(axis=1)/10
data_sums['clusters'] = predictions
data_sums.groupby('clusters').mean()
extroversion neurotic agreeable conscientious open
clusters
0 2.965969 3.645931 3.148628 3.173210 3.245529
1 2.909467 2.525743 2.851802 2.914458 3.120373
2 3.051889 2.984940 3.187544 3.159140 3.243641
3 3.085431 2.423577 3.209064 3.106899 3.327173
4 3.072319 3.426610 3.300147 3.211454 3.352370
이제 우리 다섯 성격군의 평균치를 상상해 보자.# Visualizing the means for each cluster
dataclusters = data_sums.groupby('clusters').mean()
plt.figure(figsize=(22,3))
for i in range(0, 5):
plt.subplot(1,5,i+1)
plt.bar(dataclusters.columns, dataclusters.iloc[:, i], color='green', alpha=0.2)
plt.plot(dataclusters.columns, dataclusters.iloc[:, i], color='red')
plt.title('Cluster ' + str(i))
plt.xticks(rotation=45)
plt.ylim(0,4);
시각 형상 클러스터 예측
pca = PCA(n_components=2)
pca_fit = pca.fit_transform(df_model)
df_pca = pd.DataFrame(data=pca_fit, columns=['PCA1', 'PCA2'])
df_pca['Clusters'] = predictions
df_pca.head()
plt.figure(figsize=(10,10))
sns.scatterplot(data=df_pca, x='PCA1', y='PCA2', hue='Clusters', palette='Set2', alpha=0.8)
plt.title('Personality Clusters after PCA');
예측 개성
Microsoft Excel 스프레드시트에서 이러한 질문에 답했습니다.그리고 이 데이터를 이 노트에 추가하고 모델에 대한 답을 넣어서 내가 어떤 종류에 속할지 보겠습니다.
my_data = pd.read_excel('my_personality_test.xlsx')
my_personality = k_fit.predict(my_data)
print('My Personality Cluster: ', my_personality)
My Personality Cluster: [2]
나의 인격군을 상상하다
col_list = list(my_data)
ext = col_list[0:10]
est = col_list[10:20]
agr = col_list[20:30]
csn = col_list[30:40]
opn = col_list[40:50]
my_sums = pd.DataFrame()
my_sums['extroversion'] = my_data[ext].sum(axis=1)/10
my_sums['neurotic'] = my_data[est].sum(axis=1)/10
my_sums['agreeable'] = my_data[agr].sum(axis=1)/10
my_sums['conscientious'] = my_data[csn].sum(axis=1)/10
my_sums['open'] = my_data[opn].sum(axis=1)/10
my_sums['cluster'] = my_personality
print('Sum of my question groups')
my_sums
my_sum = my_sums.drop('cluster', axis=1)
plt.bar(my_sum.columns, my_sum.iloc[0,:], color='green', alpha=0.2)
plt.plot(my_sum.columns, my_sum.iloc[0,:], color='red')
plt.title('Cluster 2')
plt.xticks(rotation=45)
plt.ylim(0,4);
기왕 우리의 모형이 작동했으니, 우리 모형을 계속해서Restful API로 바꾸자
모델을 RESTFUL API로 변환
파이썬의 최선의 실천에 따라 프로젝트를 위한 가상 환경을 만들고 필요한 패키지를 설치할 것입니다.
먼저 프로젝트 디렉토리를 만듭니다.
$ mkdir djangoapp
$ cd djangoapp
이제 가상 환경을 만들고 필요한 패키지를 설치합니다.macOS 및 Unix 시스템의 경우:
$ python3 -m venv myenv
$ source myenv/bin/activate
(myenv) $ pip install django requests numpy joblib scikit-learn xlsxwriter openpyxl
Windows의 경우:$ python3 -m venv myenv
$ myenv\Scripts\activate
(myenv) $ pip install django requests numpy joblib scikit-learn xlsxwriter openpyxl
Django 응용 프로그램 설정
우선, 우리가 만든 디렉터리djangoapp로 이동하여 Django 프로젝트를 만듭니다.
(myenv) $ django-admin startproject mainapp
이렇게 하면 프로젝트 프레임에 대한 파일이 자동으로 생성됩니다.mainapp/
manage.py
mainapp/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
현재, 새로 만든 디렉터리 (관리자.py와 같은 디렉터리에 있는지 확인하기) 로 이동하여 프로그램 디렉터리를 만듭니다.(myenv) $ python manage.py startapp monitor
이렇게 하면 다음이 작성됩니다.monitor/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
주 프로그램/설정에 있습니다.py 파일, 다음 줄을 찾아서 우리가 방금 만든 프로그램을 추가합니다.INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'monitor', #new line
]
모니터 디렉터리에 있는 다음templates라는 새 디렉터리를 만들고 URL이라는 새 파일을 만듭니다.피야.모니터 프로그램의 디렉터리 구조는 다음과 같아야 한다monitor/
__init__.py
admin.py
apps.py
migrations/
templates/
__init__.py
models.py
tests.py
urls.py
views.py
mainapp/URL을 확인하십시오.py 파일, 모니터링 응용 프로그램 URL을 추가하여 다음 모니터링 응용 프로그램에서 작성할 URL을 포함합니다.from django.contrib import admin
from django.urls import path, include
urlpatterns = [
#path('admin/', admin.site.urls),
path('', include('monitor.urls')),#monitor app url
]
이제 모니터/URL에 있습니다.py 파일, 거기에 우리 사이트를 추가:from django.urls import path
from .views import *
urlpatterns = [
path('persona', PersonalityPrediction.as_view(), name='personality'),
]
기계 학습 모형을 저장하기 위해 다른 디렉터리를 만듭니다.나는 또한 전체 데이터 집합을 실현하고자 하는 사람들을 위해 데이터 집합을 프로젝트에 추가할 것이다.데이터 폴더를 강제로 만들지 않습니다.벡터 파일과 우리가 전에 만든 joblib 파일을 ml/model 폴더로 이동하는 것을 확보하십시오(venv)$ mkdir ml
(venv)$ mkdir ml/models
(venv)$ mkdir ml/data
우리는 또 Django에게 우리의 기계 학습 모형이 어디에 있는지 알려줘야 한다.이러한 행을 설정에 추가합니다.py 파일:import os
MODELS = os.path.join(BASE_DIR, 'ml/models')
응용 프로그램으로 모형과 벡터를 불러옵니다.py
응용 프로그램에서 만들고 저장한 모델을 로드합니다.따라서 프로그램이 시작될 때 훈련을 받은 모델을 한 번만 불러옵니다.그렇지 않으면 노드를 호출할 때마다 훈련된 모델을 불러오고 응답 시간이 느려집니다.
응용 프로그램을 업데이트합시다.py
import os
import joblib
from django.apps import AppConfig
from django.conf import settings
class ApiConfig(AppConfig):
name = 'api'
MODEL_FILE = os.path.join(settings.MODELS, "BigFivePersonalityTestModel.joblib")
model = joblib.load(MODEL_FILE)
뷰를 편집합니다.py
이러한 의견은 주로 다음과 같습니다.
from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
import requests
from .apps import *
import pandas as pd
import xlsxwriter
#kmeans personality prediction view
class PersonalityPrediction(APIView):
def post(self, request):
#get user input
EXT1 = request.data.get('EXT1')
EXT2 = request.data.get('EXT2')
EXT3 = request.data.get('EXT3')
EXT4 = request.data.get('EXT4')
EXT5 = request.data.get('EXT5')
EXT6 = request.data.get('EXT6')
EXT7 = request.data.get('EXT7')
EXT8 = request.data.get('EXT8')
EXT9 = request.data.get('EXT9')
EXT10 = request.data.get('EXT10')
EST1 = request.data.get('EST1')
EST2 = request.data.get('EST2')
EST3 = request.data.get('EST3')
EST4 = request.data.get('EST4')
EST5 = request.data.get('EST5')
EST6 = request.data.get('EST6')
EST7 = request.data.get('EST7')
EST8 = request.data.get('EST8')
EST9 = request.data.get('EST9')
EST10 = request.data.get('EST10')
AGR1 = request.data.get('AGR1')
AGR2 = request.data.get('AGR2')
AGR3 = request.data.get('AGR3')
AGR4 = request.data.get('AGR4')
AGR5 = request.data.get('AGR5')
AGR6 = request.data.get('AGR6')
AGR7 = request.data.get('AGR7')
AGR8 = request.data.get('AGR8')
AGR9 = request.data.get('AGR9')
AGR10 = request.data.get('AGR10')
CSN1 = request.data.get('CSN1')
CSN2 = request.data.get('CSN2')
CSN3 = request.data.get('CSN3')
CSN4 = request.data.get('CSN4')
CSN5 = request.data.get('CSN5')
CSN6 = request.data.get('CSN6')
CSN7 = request.data.get('CSN7')
CSN8 = request.data.get('CSN8')
CSN9 = request.data.get('CSN9')
CSN10 = request.data.get('CSN10')
OPN1 = request.data.get('OPN1')
OPN2 = request.data.get('OPN2')
OPN3 = request.data.get('OPN3')
OPN4 = request.data.get('OPN4')
OPN5 = request.data.get('OPN5')
OPN6 = request.data.get('OPN6')
OPN7 = request.data.get('OPN7')
OPN8 = request.data.get('OPN8')
OPN9 = request.data.get('OPN9')
OPN10 = request.data.get('OPN10')
#load model
kmeansModel = PersonalityTestConfig.model
# Predicting the Clusters
pd.options.display.max_columns = 10
predictions = kmeansModel.labels_
workbook = xlsxwriter.Workbook('hello.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'EXT1')
worksheet.write('A2', (EXT1))
worksheet.write('B1', 'EXT2')
worksheet.write('B2', (EXT2))
worksheet.write('C1', 'EXT3')
worksheet.write('C2', (EXT3))
worksheet.write('D1', 'EXT4')
worksheet.write('D2', (EXT4))
worksheet.write('E1', 'EXT5')
worksheet.write('E2', (EXT5))
worksheet.write('F1', 'EXT6')
worksheet.write('F2', (EXT6))
worksheet.write('G1', 'EXT7')
worksheet.write('G2', (EXT7))
worksheet.write('H1', 'EXT8')
worksheet.write('H2', (EXT8))
worksheet.write('I1', 'EXT9')
worksheet.write('I2', (EXT9))
worksheet.write('J1', 'EXT10')
worksheet.write('J2', (EXT10))
worksheet.write('K1', 'EST1')
worksheet.write('K2', (EST1))
worksheet.write('L1', 'EST2')
worksheet.write('L2', (EST2))
worksheet.write('M1', 'EST3')
worksheet.write('M2', (EST3))
worksheet.write('N1', 'EST4')
worksheet.write('N2', (EST4))
worksheet.write('O1', 'EST5')
worksheet.write('O2', (EST5))
worksheet.write('P1', 'EST6')
worksheet.write('P2', (EST6))
worksheet.write('Q1', 'EST7')
worksheet.write('Q2', (EST7))
worksheet.write('R1', 'EST8')
worksheet.write('R2', (EST8))
worksheet.write('S1', 'EST9')
worksheet.write('S2', (EST9))
worksheet.write('T1', 'EST10')
worksheet.write('T2', (EST10))
worksheet.write('U1', 'AGR1')
worksheet.write('U2', (AGR1))
worksheet.write('V1', 'AGR2')
worksheet.write('V2', (AGR2))
worksheet.write('W1', 'AGR3')
worksheet.write('W2', (AGR3))
worksheet.write('X1', 'AGR4')
worksheet.write('X2', (AGR4))
worksheet.write('Y1', 'AGR5')
worksheet.write('Y2', (AGR5))
worksheet.write('Z1', 'AGR6')
worksheet.write('Z2', (AGR6))
worksheet.write('AA1', 'AGR7')
worksheet.write('AA2', (AGR7))
worksheet.write('AB1', 'AGR8')
worksheet.write('AB2', (AGR8))
worksheet.write('AC1', 'AGR9')
worksheet.write('AC2', (AGR9))
worksheet.write('AD1', 'AGR10')
worksheet.write('AD2', (AGR10))
worksheet.write('AE1', 'CSN1')
worksheet.write('AE2', (CSN1))
worksheet.write('AF1', 'CSN2')
worksheet.write('AF2', (CSN2))
worksheet.write('AG1', 'CSN3')
worksheet.write('AG2', (CSN3))
worksheet.write('AH1', 'CSN4')
worksheet.write('AH2', (CSN4))
worksheet.write('AI1', 'CSN5')
worksheet.write('AI2', (CSN5))
worksheet.write('AJ1', 'CSN6')
worksheet.write('AJ2', (CSN6))
worksheet.write('AK1', 'CSN7')
worksheet.write('AK2', (CSN7))
worksheet.write('AL1', 'CSN8')
worksheet.write('AL2', (CSN8))
worksheet.write('AM1', 'CSN9')
worksheet.write('AM2', (CSN9))
worksheet.write('AN1', 'CSN10')
worksheet.write('AN2', (CSN10))
worksheet.write('AO1', 'OPN1')
worksheet.write('AO2', (OPN1))
worksheet.write('AP1', 'OPN2')
worksheet.write('AP2', (OPN2))
worksheet.write('AQ1', 'OPN3')
worksheet.write('AQ2', (OPN3))
worksheet.write('AR1', 'OPN4')
worksheet.write('AR2', (OPN4))
worksheet.write('AS1', 'OPN5')
worksheet.write('AS2', (OPN5))
worksheet.write('AT1', 'OPN6')
worksheet.write('AT2', (OPN6))
worksheet.write('AU1', 'OPN7')
worksheet.write('AU2', (OPN7))
worksheet.write('AV1', 'OPN8')
worksheet.write('AV2', (OPN8))
worksheet.write('AW1', 'OPN9')
worksheet.write('AW2', (OPN9))
worksheet.write('AX1', 'OPN10')
worksheet.write('AX2', (OPN10))
# Finally, close the Excel file
# via the close() method.
workbook.close()
my_data = pd.read_excel('hello.xlsx', engine='openpyxl')
my_personality = kmeansModel.predict(my_data)
print('My Personality Cluster: ', my_personality)
# Summing up the my question groups
col_list = list(my_data)
ext = col_list[0:10]
est = col_list[10:20]
agr = col_list[20:30]
csn = col_list[30:40]
opn = col_list[40:50]
my_sums = pd.DataFrame()
my_sums['extroversion'] = my_data[ext].sum(axis=1)/10
my_sums['neurotic'] = my_data[est].sum(axis=1)/10
my_sums['agreeable'] = my_data[agr].sum(axis=1)/10
my_sums['conscientious'] = my_data[csn].sum(axis=1)/10
my_sums['open'] = my_data[opn].sum(axis=1)/10
my_sums['cluster'] = my_personality
print('Sum of my question groups')
print(my_sums)
response_dict = {"Prediction": my_sums}
print(response_dict)
return Response(response_dict, status=200)
위의 코드는 먼저 요청한 본문에 추가된 데이터를 가져옵니다.그리고 코드는 프로그래밍 방식으로 새로운 excel 파일을 만들어서 예측에 사용하고 그룹을 응답으로 되돌려줍니다.우리의 모형을 시험하다.
시스템을 테스트하려면 필요한 이전과django 서버를 실행하십시오.POSTMAN을 열고 서버에 POST 요청을 보내고 설문지 답안을 요청 본문에 추가합니다.우리는 우리의 성격군과 점수를 보여주는 견본 답장을 받아야 한다.
내 라이브 시스템을 테스트하려면 다음 URL에 POST 요청을 보내십시오.
https://alienx.tech/api/v1/persona
다음 코드는 GPT3를 제시하여 이 블로그의 콘텐츠를 생성하는 데 도움을 주는 코드입니다.import openai
openai.api_key = "VISIT OPENAI TO GET YOUR KEY"
response = openai.Completion.create(
engine="davinci",
prompt="The Pixel District Janury 16, 2022n Title: Personality Segmentation Using K-Means Clustering Algorithm and Django Rest Framework!n tags: machine-learning, kmeans, gpt3, kmeans code sample Summary: I am sharing my exprience in implementing kmeans clustering algorithmn in determining someones personality. I am explaining why kmeans clustering algorithms is, how it works configuration. I am explaining what the big five personality traits are. I am explaining why I think kmeans algorithm is the best to use in finding someones personality based on the big five personality traits. I am also adding various example codes of the kmeans clustering to find the big five personality traits.n Full text: ",
temperature=0.7,
max_tokens=1655,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
print(response)
오늘은 여기까지.시청해 주셔서 감사합니다!
Reference
이 문제에 관하여(K-Means 집계 알고리즘과 Django Rest 프레임워크를 사용하여 개성 예측(글 부분은 GPT3에서 작성)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/paulwababu/personality-prediction-using-k-means-clustering-algorithm-and-django-rest-framework-article-written-partly-by-gpt3-22oe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)