021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

سوالات مصاحبه پایتون برای سطح پیشرفته

با سلام خدمت تمامی شما کاربران خوب وبسایت پایتونی ها با یک مقاله ای دیگر در ختمتتون هستیم در خصوص بهترین سوالات استخدامی مربوط به مصاحبه استخدامی برای زبان برنامه نویسی پایتون که میتوانید در شرکت ها مورد استفاده قراردهید.

فهرست مطالب پنهان

1. شما این مجموعه داده covid-19 را در زیر دارید:

از این مجموعه داده، چگونه برای 5 ایالت برتر دارای حداکثر موارد تایید شده تا 17=07-2020، یک نمودار نواری ایجاد می کنید؟
سل:

#keeping only required columns

df = df[[‘Date’, ‘State/UnionTerritory’,’Cured’,’Deaths’,’Confirmed’]]

#renaming column names

df.columns = [‘date’, ‘state’,’cured’,’deaths’,’confirmed’]

#current date

today = df[df.date == ‘2020-07-17’]

#Sorting data w.r.t number of confirmed cases

max_confirmed_cases=today.sort_values(by=”confirmed”,ascending=False)

max_confirmed_cases

#Getting states with maximum number of confirmed cases

top_states_confirmed=max_confirmed_cases[0:5]

#Making bar-plot for states with top confirmed cases

sns.set(rc={‘figure.figsize’:(15,10)})

sns.barplot(x=”state”,y=”confirmed”,data=top_states_confirmed,hue=”state”)

plt.show()

 

توضیح کد:

ما فقط با گرفتن ستون های مورد نیاز با این دستور شروع می کنیم:

df = df[['Date', 'State/UnionTerritory', 'Cured', 'Deaths', 'Confirmed']]

سپس، ادامه می دهیم و نام ستون ها را تغییر می دهیم. :

df.columns = ['تاریخ'، 'وضعیت'، 'درمان'، 'مرگ ها'، 'تأیید شده']

پس از آن، ما فقط آن رکوردها را استخراج می کنیم که تاریخ آن برابر با 17 جولای است:

امروز = df[df.date == '2020-07-17']

سپس، ادامه می دهیم و 5 حالت برتر را با حداکثر شماره انتخاب می کنیم. موارد covide:

max_confirmed_cases=today.sort_values(by=”confirmed”,ascending=False)
max_confirmed_cases
top_states_confirmed=max_confirmed_cases[0:5]

در نهایت، ما به جلو می رویم و با این یک نوار-پلات می
سازیم :

sns.set(rc={'figure.figsize':(15,10)})
sns.barplot(x=”state”,y=”confirmed,” data=top_states_confirmed,hue=”state”)
plt.show()

در اینجا، ما از کتابخانه seaborn برای ساختن طرح نوار استفاده می کنیم. ستون “وضعیت” بر روی محور x و ستون “تأیید شده” بر روی محور y نگاشت شده است. رنگ میله ها توسط ستون “وضعیت” تعیین می شود.

 

2. از این مجموعه داده کووید-19:

چگونه می توانید برای 5 ایالت برتر با بیشترین میزان مرگ و میر، یک طرح بار بسازید؟

 

max_death_cases=today.sort_values(by=”deaths”,ascending=False)

max_death_cases

sns.set(rc={‘figure.figsize’:(15,10)})

sns.barplot(x=”state”,y=”deaths”,data=top_states_death,hue=”state”)

plt.show()

We start off by sorting our dataframe in descending order w.r.t the “deaths” column:

max_death_cases=today.sort_values(by=”deaths”,ascending=False)

Max_death_cases

Then, we go ahead and make the bar-plot with the help of seaborn library:

sns.set(rc={‘figure.figsize’:(15,10)})

sns.barplot(x=”state”,y=”deaths”,data=top_states_death,hue=”state”)

plt.show()

Here, we are mapping “state” column onto the x-axis and “deaths” column onto the y-axis.

 

3. از این مجموعه داده کووید-19:

چگونه می توانید یک نمودار خطی ایجاد کنید که موارد تایید شده را با توجه به تاریخ نشان می دهد؟

سول:

maha = df[df.state == ‘Maharashtra’]

sns.set(rc={‘figure.figsize’:(15,10)})

sns.lineplot(x=”date”,y=”confirmed”,data=maha,color=”g”)

plt.show()

 

در اینجا، ما ستون “تاریخ” را روی محور x و ستون “تأیید شده” را روی محور y ترسیم می کنیم.

 

4. در این مجموعه داده “ماهاراشترا”:

چگونه یک الگوریتم رگرسیون خطی را با “تاریخ” به عنوان متغیر مستقل و “تایید” به عنوان متغیر وابسته پیاده سازی خواهید کرد. یعنی باید تعداد موارد تایید شده در تاریخ را پیش بینی کنید.

سول:

from sklearn.model_selection import train_test_split

maha[‘date’]=maha[‘date’].map(dt.datetime.toordinal)

maha.head()

x=maha[‘date’]

y=maha[‘confirmed’]

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3)

from sklearn.linear_model import LinearRegression

lr = LinearRegression()

lr.fit(np.array(x_train).reshape(-1,1),np.array(y_train).reshape(-1,1))

lr.predict(np.array([[737630]]))

 

راه حل کد:

ما با تبدیل تاریخ به نوع ترتیبی شروع می کنیم:

از sklearn.model_selection واردات train_test_split

maha[‘date’]=maha[‘date’].map(dt.datetime.toordinal)

این کار به این دلیل انجام می شود که نمی توانیم الگوریتم رگرسیون خطی را در بالای ستون تاریخ بسازیم.

سپس، ما ادامه می دهیم و مجموعه داده را به مجموعه های قطار و آزمایش تقسیم می کنیم:

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3)

در نهایت، ما ادامه می دهیم و مدل را می سازیم:

از sklearn.linear_model import LinearReggression

lr = رگرسیون خطی ()

lr.fit(np.array(x_train).reshape(-1,1),np.array(y_train).reshape(-1,1))

lr.predict(np.array([[737630]]))

 

5. در این مجموعه داده customer_churn:

 

یک مدل متوالی keras بسازید تا بفهمید چه تعداد مشتری بر اساس دوره تصدی مشتری از بین خواهند رفت؟

سول:

 

from keras.models import Sequential

from keras.layers import Dense

model = Sequential()

model.add(Dense(12, input_dim=1, activation=’relu’))

model.add(Dense(8, activation=’relu’))

model.add(Dense(1, activation=’sigmoid’))

model.compile(loss=’binary_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’])

model.fit(x_train, y_train, epochs=150,validation_data=(x_test,y_test))

y_pred = model.predict_classes(x_test)

from sklearn.metrics import confusion_matrix

confusion_matrix(y_test,y_pred)

 

توضیح کد:

ما با وارد کردن کتابخانه های مورد نیاز شروع می کنیم:

از keras.models import Sequential

از keras.layers import متراکم

سپس، ما ادامه می دهیم و ساختار مدل متوالی را می سازیم:

مدل = ترتیبی()

model.add(Dense(12, input_dim=1, activation=’relu’))

model.add(Dense(8، activation=’relu’))

model.add(Dense(1, activation=’sigmoid’))

در نهایت، ما به پیش می رویم و مقادیر را پیش بینی می کنیم:

model.compile(loss=’binary_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’])

model.fit(x_train, y_train, epochs=150,validation_data=(x_test,y_test))

y_pred = model.predict_classes(x_test)

از sklearn.metrics import confusion_matrix

confusion_matrix (y_test، y_pred)


6. در این مجموعه داده عنبیه:

یک مدل طبقه‌بندی درخت تصمیم بسازید، که در آن متغیر وابسته “Species” و متغیر مستقل “Sepal.Length” است.

سول:

y = iris[[‘Species’]]

x = iris[[‘Sepal.Length’]]

from sklearn.model_selection import train_test_split

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.4)

from sklearn.tree import DecisionTreeClassifier

dtc = DecisionTreeClassifier()

dtc.fit(x_train,y_train)

y_pred=dtc.predict(x_test)

from sklearn.metrics import confusion_matrix

confusion_matrix(y_test,y_pred)

 

(22+7+9)/(22+2+0+7+7+11+1+1+9)

توضیح کد:

ما با استخراج متغیر مستقل و متغیر وابسته شروع می کنیم:

y = عنبیه [[‘گونه’]]

x = عنبیه[[‘Sepal.Length’]]

سپس، ما ادامه می دهیم و داده ها را به مجموعه قطار و تست تقسیم می کنیم:

از sklearn.model_selection واردات train_test_split

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.4)

پس از آن، ما ادامه می دهیم و مدل را می سازیم:

از sklearn.tree import DecisionTreeClassifier

dtc = DecisionTreeClassifier()

dtc.fit(x_train,y_train)

y_pred=dtc.predict(x_test)

در نهایت، ماتریس سردرگمی را می سازیم:

از sklearn.metrics import confusion_matrix

confusion_matrix (y_test، y_pred)

(22+7+9)/(22+2+0+7+7+11+1+1+9)


 

7. در این مجموعه داده عنبیه:

یک مدل رگرسیون درخت تصمیم بسازید که در آن متغیر مستقل “طول گلبرگ” و متغیر وابسته “طول سپال” است.

سول:

x= iris[[‘Petal.Length’]]

y = iris[[‘Sepal.Length’]]

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.25)

from sklearn.tree import DecisionTreeRegressor

dtr = DecisionTreeRegressor()

dtr.fit(x_train,y_train)

y_pred=dtr.predict(x_test)

y_pred[0:5]

from sklearn.metrics import mean_squared_error

mean_squared_error(y_test,y_pred)

 


8. چگونه داده ها را از وب سایت “cricbuzz” پاک می کنید؟

سول:

import sys

import time

from bs4 import BeautifulSoup

import requests

import pandas as pd

try:

        #use the browser to get the url. This is suspicious command that might blow up.

    page=requests.get(‘cricbuzz.com’)                             # this might throw an exception if something goes wrong.

except Exception as e:                                   # this describes what to do if an exception is thrown

    error_type, error_obj, error_info = sys.exc_info()      # get the exception information

    print (‘ERROR FOR LINK:’,url)                          #print the link that cause the problem

    print (error_type, ‘Line:’, error_info.tb_lineno)     #print error info and line that threw the exception

                                                 #ignore this page. Abandon this and go back.

time.sleep(2)   

soup=BeautifulSoup(page.text,’html.parser’)

links=soup.find_all(‘span’,attrs={‘class’:’w_tle’}) 

links

for i in links:

    print(i.text)

    print(“\n”)

 

9. یک تابع تعریف شده توسط کاربر برای اجرای قضیه حد مرکزی بنویسید. شما باید قضیه حد مرکزی را روی این مجموعه داده “بیمه” پیاده سازی کنید:

همچنین باید دو قطعه بر روی «توزیع نمونه bmi» و «توزیع جمعیت bmi» بسازید.

سول:

df = pd.read_csv(‘insurance.csv’)

series1 = df.charges

series1.dtype

def central_limit_theorem(data,n_samples = 1000, sample_size = 500, min_value = 0, max_value = 1338):

    “”” Use this function to demonstrate Central Limit Theorem. 

        data = 1D array, or a pd.Series

        n_samples = number of samples to be created

        sample_size = size of the individual sample

        min_value = minimum index of the data

        max_value = maximum index value of the data “””

    %matplotlib inline

    import pandas as pd

    import numpy as np

    import matplotlib.pyplot as plt

    import seaborn as sns

    b = {}

    for i in range(n_samples):

        x = np.unique(np.random.randint(min_value, max_value, size = sample_size)) # set of random numbers with a specific size

        b[i] = data[x].mean()   # Mean of each sample

    c = pd.DataFrame()

    c[‘sample’] = b.keys()  # Sample number 

    c[‘Mean’] = b.values()  # mean of that particular sample

    plt.figure(figsize= (15,5))

    plt.subplot(1,2,1)

    sns.distplot(c.Mean)

    plt.title(f”Sampling Distribution of bmi. \n \u03bc = {round(c.Mean.mean(), 3)} & SE = {round(c.Mean.std(),3)}”)

    plt.xlabel(‘data’)

    plt.ylabel(‘freq’)

    plt.subplot(1,2,2)

    sns.distplot(data)

    plt.title(f”population Distribution of bmi. \n \u03bc = {round(data.mean(), 3)} & \u03C3 = {round(data.std(),3)}”)

    plt.xlabel(‘data’)

    plt.ylabel(‘freq’)

    plt.show()

central_limit_theorem(series1,n_samples = 5000, sample_size = 500)

 

توضیح کد:

ما با وارد کردن فایل insurance.csv با این دستور شروع می کنیم:

df = pd.read_csv(‘insurance.csv’)

سپس ادامه می دهیم و روش قضیه حد مرکزی را تعریف می کنیم:

def central_limit_theorem(data,n_samples = 1000, sample_size = 500, min_value = 0, max_value = 1338):

این روش از این پارامترها تشکیل شده است:

  • داده ها
  • N_نمونه
  • اندازهی نمونه
  • حداقل_ارزش
  • حداکثر_مقدار

در این متد، تمام کتابخانه های مورد نیاز را وارد می کنیم:

پانداها را به صورت PD وارد کنید

numpy را به عنوان np وارد کنید

matplotlib.pyplot را به عنوان plt وارد کنید

واردات دریایی به عنوان sns

سپس، پیش می رویم و اولین طرح فرعی را برای «توزیع نمونه bmi» ایجاد می کنیم:

plt.subplot(1،2،1)

sns.distplot(c.Mean)

plt.title(f”توزیع نمونه‌برداری bmi. \n \u03bc = {round(c.Mean.mean()، 3)} و SE = {round(c.Mean.std(),3)}”)

plt.xlabel(‘داده’)

plt.ylabel(‘freq’)

در نهایت، طرح فرعی «توزیع جمعیت bmi» را ایجاد می کنیم:

plt.subplot(1،2،2)

sns.distplot(داده)

plt.title(f”population توزیع bmi. \n \u03bc = {round(data.mean(), 3)} & \u03C3 = {round(data.std(),3)}”)

plt.xlabel(‘داده’)

plt.ylabel(‘freq’)

plt.show()

 


10. برای انجام تحلیل احساسات در بررسی های آمازون کد بنویسید:

سول:

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from tensorflow.python.keras import models, layers, optimizers

import tensorflow

from tensorflow.keras.preprocessing.text import Tokenizer, text_to_word_sequence

from tensorflow.keras.preprocessing.sequence import pad_sequences

import bz2

from sklearn.metrics import f1_score, roc_auc_score, accuracy_score

import re

%matplotlib inline

def get_labels_and_texts(file):

    labels = []

    texts = []

    for line in bz2.BZ2File(file):

        x = line.decode(“utf-8”)

        labels.append(int(x[9]) – 1)

        texts.append(x[10:].strip())

    return np.array(labels), texts

train_labels, train_texts = get_labels_and_texts(‘train.ft.txt.bz2’)

test_labels, test_texts = get_labels_and_texts(‘test.ft.txt.bz2’)

Train_labels[0]

Train_texts[0]

train_labels=train_labels[0:500]

train_texts=train_texts[0:500]

import re

NON_ALPHANUM = re.compile(r'[\W]’)

NON_ASCII = re.compile(r'[^a-z0-1\s]’)

def normalize_texts(texts):

    normalized_texts = []

    for text in texts:

        lower = text.lower()

        no_punctuation = NON_ALPHANUM.sub(r’ ‘, lower)

        no_non_ascii = NON_ASCII.sub(r”, no_punctuation)

        normalized_texts.append(no_non_ascii)

    return normalized_texts

train_texts = normalize_texts(train_texts)

test_texts = normalize_texts(test_texts)

from sklearn.feature_extraction.text import CountVectorizer

cv = CountVectorizer(binary=True)

cv.fit(train_texts)

X = cv.transform(train_texts)

X_test = cv.transform(test_texts)

from sklearn.linear_model import LogisticRegression

from sklearn.metrics import accuracy_score

from sklearn.model_selection import train_test_split

X_train, X_val, y_train, y_val = train_test_split(

    X, train_labels, train_size = 0.75)

for c in [0.01, 0.05, 0.25, 0.5, 1]:

    lr = LogisticRegression(C=c)

    lr.fit(X_train, y_train)

    print (“Accuracy for C=%s: %s” 

           % (c, accuracy_score(y_val, lr.predict(X_val))))

lr.predict(X_test[29])

11. یک نمودار احتمال را با استفاده از numpy و matplotlib اجرا کنید:

سل:

import numpy as np

import pylab

import scipy.stats as stats

from matplotlib import pyplot as plt

n1=np.random.normal(loc=0,scale=1,size=1000)

np.percentile(n1,100)

n1=np.random.normal(loc=20,scale=3,size=100)

stats.probplot(n1,dist=”norm”,plot=pylab)

plt.show()

 


 

12. رگرسیون خطی چندگانه را در این مجموعه داده عنبیه اجرا کنید:

متغیرهای مستقل باید “Sepal.Width”، “Petal.Length”، “Petal.Width” باشند، در حالی که متغیر وابسته باید “Sepal.Length” باشد.

سول:

import pandas as pd

iris = pd.read_csv(“iris.csv”)

iris.head()

x = iris[[‘Sepal.Width’,’Petal.Length’,’Petal.Width’]]

y = iris[[‘Sepal.Length’]]

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.35)

from sklearn.linear_model import LinearRegression

lr = LinearRegression()

lr.fit(x_train, y_train)

y_pred = lr.predict(x_test)

from sklearn.metrics import mean_squared_error

mean_squared_error(y_test, y_pred)

راه حل کد:

ما با وارد کردن کتابخانه های مورد نیاز شروع می کنیم:

پانداها را به صورت PD وارد کنید

iris = pd.read_csv (“iris.csv”)

iris.head()

سپس ادامه می دهیم و متغیرهای مستقل و متغیر وابسته را استخراج می کنیم:

x = عنبیه[[‘Sepal.Width’,’Petal.Length’,’Petal.Width’]]

y = عنبیه[[‘Sepal.Length’]]

پس از آن، داده ها را به مجموعه های قطار و تست تقسیم می کنیم:

از sklearn.model_selection واردات train_test_split

x_train، x_test، y_train، y_test = train_test_split(x, y, test_size = 0.35)

سپس، ما ادامه می دهیم و مدل را می سازیم:

از sklearn.linear_model import LinearReggression

lr = رگرسیون خطی ()

lr.fit (x_train، y_train)

y_pred = lr.predict(x_test)

در نهایت، میانگین مربعات خطا را پیدا خواهیم کرد:

from sklearn.metrics import mean_squared_error

mean_squared_error(y_test, y_pred)

 


13. از این مجموعه داده تقلب اعتباری:

درصد تراکنش‌های متقلبانه و غیر متقلبانه را بیابید. همچنین یک مدل رگرسیون لجستیک بسازید تا متوجه شوید که آیا معامله تقلبی است یا خیر.

سول:

nfcount=0

notFraud=data_df[‘Class’]

for i in range(len(notFraud)):

  if notFraud[i]==0:

    nfcount=nfcount+1

nfcount    

per_nf=(nfcount/len(notFraud))*100

print(‘percentage of total not fraud transaction in the dataset: ‘,per_nf)

fcount=0

Fraud=data_df[‘Class’]

for i in range(len(Fraud)):

  if Fraud[i]==1:

    fcount=fcount+1

fcount    

per_f=(fcount/len(Fraud))*100

print(‘percentage of total fraud transaction in the dataset: ‘,per_f)

x=data_df.drop([‘Class’], axis = 1)#drop the target variable

y=data_df[‘Class’]

xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size = 0.2, random_state = 42) 

logisticreg = LogisticRegression()

logisticreg.fit(xtrain, ytrain)

y_pred = logisticreg.predict(xtest)

accuracy= logisticreg.score(xtest,ytest)

cm = metrics.confusion_matrix(ytest, y_pred)

print(cm)

 


14. با استفاده از Keras یک CNN ساده روی مجموعه داده MNIST پیاده سازی کنید. پس از آن، لایه‌های drop out را نیز اضافه کنید.

سول:

from __future__ import absolute_import, division, print_function

import numpy as np

# import keras

from tensorflow.keras.datasets import cifar10, mnist

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Dense, Activation, Dropout, Flatten, Reshape

from tensorflow.keras.layers import Convolution2D, MaxPooling2D

from tensorflow.keras import utils

import pickle

from matplotlib import pyplot as plt

import seaborn as sns

plt.rcParams[‘figure.figsize’] = (15, 8)

%matplotlib inline

# Load/Prep the Data

(x_train, y_train_num), (x_test, y_test_num) = mnist.load_data()

x_train = x_train.reshape(x_train.shape[0], 28, 28, 1).astype(‘float32’)

x_test = x_test.reshape(x_test.shape[0], 28, 28, 1).astype(‘float32’)

x_train /= 255

x_test /= 255

y_train = utils.to_categorical(y_train_num, 10)

y_test = utils.to_categorical(y_test_num, 10)

print(‘— THE DATA —‘)

print(‘x_train shape:’, x_train.shape)

print(x_train.shape[0], ‘train samples’)

print(x_test.shape[0], ‘test samples’)

TRAIN = False

BATCH_SIZE = 32

EPOCHS = 1

# Define the Type of Model

model1 = tf.keras.Sequential()

# Flatten Imgaes to Vector

model1.add(Reshape((784,), input_shape=(28, 28, 1)))

# Layer 1

model1.add(Dense(128, kernel_initializer=’he_normal’, use_bias=True))

model1.add(Activation(“relu”))

# Layer 2

model1.add(Dense(10, kernel_initializer=’he_normal’, use_bias=True))

model1.add(Activation(“softmax”))

# Loss and Optimizer

model1.compile(loss=’categorical_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’])

# Store Training Results

early_stopping = keras.callbacks.EarlyStopping(monitor=’val_acc’, patience=10, verbose=1, mode=’auto’)

callback_list = [early_stopping]# [stats, early_stopping]

# Train the model

model1.fit(x_train, y_train, nb_epoch=EPOCHS, batch_size=BATCH_SIZE, validation_data=(x_test, y_test), callbacks=callback_list, verbose=True)

#drop-out layers:

    # Define Model

    model3 = tf.keras.Sequential()

    # 1st Conv Layer

    model3.add(Convolution2D(32, (3, 3), input_shape=(28, 28, 1)))

    model3.add(Activation(‘relu’))

    # 2nd Conv Layer

    model3.add(Convolution2D(32, (3, 3)))

    model3.add(Activation(‘relu’))

    # Max Pooling

    model3.add(MaxPooling2D(pool_size=(2,2)))

    # Dropout

    model3.add(Dropout(0.25))

    # Fully Connected Layer

    model3.add(Flatten())

    model3.add(Dense(128))

    model3.add(Activation(‘relu’))

    # More Dropout

    model3.add(Dropout(0.5))

    # Prediction Layer

    model3.add(Dense(10))

    model3.add(Activation(‘softmax’))

    # Loss and Optimizer

    model3.compile(loss=’categorical_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’])

    # Store Training Results

    early_stopping = tf.keras.callbacks.EarlyStopping(monitor=’val_acc’, patience=7, verbose=1, mode=’auto’)

    callback_list = [early_stopping]

    # Train the model

    model3.fit(x_train, y_train, batch_size=BATCH_SIZE, nb_epoch=EPOCHS, 

              validation_data=(x_test, y_test), callbacks=callback_list)

 


15. یک سیستم توصیه مبتنی بر محبوبیت را در این مجموعه داده لنز فیلم اجرا کنید:

import os

import numpy as np  

import pandas as pd

ratings_data = pd.read_csv(“ratings.csv”)  

ratings_data.head() 

movie_names = pd.read_csv(“movies.csv”)  

movie_names.head()  

movie_data = pd.merge(ratings_data, movie_names, on=’movieId’)  

movie_data.groupby(‘title’)[‘rating’].mean().head()  

movie_data.groupby(‘title’)[‘rating’].mean().sort_values(ascending=False).head() 

movie_data.groupby(‘title’)[‘rating’].count().sort_values(ascending=False).head()  

ratings_mean_count = pd.DataFrame(movie_data.groupby(‘title’)[‘rating’].mean())

ratings_mean_count.head()

ratings_mean_count[‘rating_counts’] = pd.DataFrame(movie_data.groupby(‘title’)[‘rating’].count())

ratings_mean_count.head()

 


 

16. الگوریتم ساده بیس را در بالای مجموعه داده دیابت اجرا کنید:

سول:

import numpy as np # linear algebra

import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

import matplotlib.pyplot as plt       # matplotlib.pyplot plots data

%matplotlib inline 

import seaborn as sns

pdata = pd.read_csv(“pima-indians-diabetes.csv”)

columns = list(pdata)[0:-1] # Excluding Outcome column which has only 

pdata[columns].hist(stacked=False, bins=100, figsize=(12,30), layout=(14,2)); 

# Histogram of first 8 columns

 

# با این حال ما می خواهیم همبستگی را در نمایش گرافیکی ببینیم، بنابراین در زیر تابع مربوط به آن است

def plot_corr(df, size=11):

    corr = df.corr()

    fig, ax = plt.subplots(figsize=(size, size))

    ax.matshow(corr)

    plt.xticks(range(len(corr.columns)), corr.columns)

    plt.yticks(range(len(corr.columns)), corr.columns)

plot_corr(pdata)

 

from sklearn.model_selection import train_test_split

X = pdata.drop(‘class’,axis=1)     # Predictor feature columns (8 X m)

Y = pdata[‘class’]   # Predicted class (1=True, 0=False) (1 X m)

x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=1)

# 1 is just any random seed number

x_train.head()

from sklearn.naive_bayes import GaussianNB # using Gaussian algorithm from Naive Bayes

# creatw the model

diab_model = GaussianNB()

diab_model.fit(x_train, y_train.ravel())

diab_train_predict = diab_model.predict(x_train)

from sklearn import metrics

print(“Model Accuracy: {0:.4f}”.format(metrics.accuracy_score(y_train, diab_train_predict)))

print()

diab_test_predict = diab_model.predict(x_test)

from sklearn import metrics

print(“Model Accuracy: {0:.4f}”.format(metrics.accuracy_score(y_test, diab_test_predict)))

print()

print(“Confusion Matrix”)

cm=metrics.confusion_matrix(y_test, diab_test_predict, labels=[1, 0])

df_cm = pd.DataFrame(cm, index = [i for i in [“1″,”0”]],

                  columns = [i for i in [“Predict 1″,”Predict 0”]])

plt.figure(figsize = (7,5))

sns.heatmap(df_cm, annot=True)

 

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2