
تعریف کتابخانه ها :
**با استفاده از کتابخانههای مختلفی همچون pandas و numpy و sklearn و matplotlib و seaborn، ابتدا یک دیتاست شامل چند فیلد مرتبط با معیارهای استخدامی چند نفر را تعریف میکنیم.
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import linear_model
import sklearn.metrics as sm
import matplotlib.pyplot as plt
import csv
import seaborn as sns
** سپس با تعریف تابع find_mean_prod() اطلاعات مختلفی مربوط به دیتاست را چاپ و محاسبه میکنیم.
در ادامه، از دادههای دیتاست استفاده میکنیم تا مدل رگرسیون خطی را پیادهسازی کنیم.
و با استفاده از آن، با اعمال مدل به دادههای آموزشی، حقوق برای دادههای جدید پیشبینی می شود.
** در نهایت، با استفاده از تابع describe()، آماری از دادههای دیتاست گرفته شده و در نمودارهایی با استفاده از کتابخانه seaborn به توزیع دادههای مختلف در دیتاست پرداخته میشود
def find_mean_prod():
df=pd.DataFrame(salary)
print(df)
print("experience", "test_score(out of 10)", "interview_score(out of 10)","salary($)\n")
result = df.iloc[1:8,1:]
# print("mean is\n", result.mean())
# print("std is\n", result.std())
# print("median is\n", result.median())
# print("mode is\n", result.mode())
** این خط کد، میانگین ستون “test_score(از 10)” را محاسبه می کند و آن را به نزدیکترین عدد صحیح گرد می کند.
median_test_score = math.floor(salary['test_score(out of 10)'].mean())
** این خط کد، مقدار از بین رفته شده در ستون “test_score(از 10)” در سطر هشتم
را با مقدار متوسط محاسبه شده در خط قبلی کد جایگزین می کند.
salary['test_score(out of 10)'][7]=median_test_score

salary.describe()

**ترسیم حقوق و وابستگی آن به شاخص های دیگر هر فرد
** کد یک تصویر 1×3 ایجاد میکند و یک نمودار پراکنده از ستون “دستمزد($)” در برابر هر یک از “امتیازاتtest(از 10)”، “امتیازمصاحبه(از 10)” و “تجربه” ترسیم میکند.
fig, ax = plt.subplots(1,3,figsize=(20,6))
sns.scatterplot(salary['salary($)'],salary['test_score(out of 10)'],ax=ax[0])
sns.scatterplot(salary['salary($)'],salary['interview_score(out of 10)'],ax=ax[1])
sns.scatterplot(salary['salary($)'],salary['experience'],ax=ax[2])
plt.show()

آموزش مدل رگرسیون خطی
# splitting the data into X and y
# creating instance of Linear Regression
# and applying Linear Regression
reg = linear_model.LinearRegression()
salary2=reg.fit(salary[['experience','test_score(out of 10)','interview_score(out of 10)']],salary['salary($)'])
salary2
پیش بینی حقوق برای فردی با این شاخص ها : 2 سال تجربه ، 9 نمره تست ، 6 نمره مصاحبه
Predict salary 2 yr experience, 9 test score, 6 interview score
array([53922.45707556]) خروجی مناسب
لینک گیت هاپب ام برای دریافت کد کامل:
https://github.com/nedayghb/project-datascience/blob/main/predict_salary.ipynb
یک پاسخ