JairDantas / Data_Science_GTI

Trabalho faculdade
0 stars 0 forks source link

17.04 #8

Open JairDantas opened 6 months ago

JairDantas commented 6 months ago

import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.cluster import KMeans from sklearn.metrics import accuracy_score

Carregar os dados do CSV para um DataFrame do Pandas

dados = pd.read_csv('/content/meu_dataset2.csv')

Análise Exploratória de Dados (EDA)

Verificar estatísticas descritivas dos dados

print(dados.describe())

Visualizar a distribuição das respostas de cada coluna

for coluna in dados.columns: plt.figure(figsize=(8, 6)) sns.histplot(dados[coluna], bins=10, kde=True) plt.title(f'Distribuição de {coluna}') plt.xlabel(coluna) plt.ylabel('Frequência') plt.show()

Dividir os dados em variáveis independentes (X) e variável dependente (y)

X = dados[['A Faculdade oferece um bom local de estudos', 'Recomendaria a faculdade']] y = dados['Curso']

Dividir os dados em conjunto de treino e teste

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Regressão Logística

Criar e treinar o modelo de regressão logística

modelo_regressao_logistica = LogisticRegression() modelo_regressao_logistica.fit(X_train, y_train)

Fazer previsões no conjunto de teste

y_pred_regressao_logistica = modelo_regressao_logistica.predict(X_test)

Avaliar o desempenho do modelo de regressão logística

acuracia_regressao_logistica = accuracy_score(y_test, y_pred_regressao_logistica) print(f'Acurácia da Regressão Logística: {acuracia_regressao_logistica:.2f}')

K-Means

Selecionar apenas as variáveis numéricas para o algoritmo K-Means

X_kmeans = dados[['Ano de Graduação', 'A Faculdade oferece um bom local de estudos', 'Curso']]

Escolher o número de clusters (k)

k = 3

Criar e treinar o modelo K-Means

modelo_kmeans = KMeans(n_clusters=k, random_state=42) modelo_kmeans.fit(X_kmeans)

Atribuir cada ponto de dados a um cluster

labels_kmeans = modelokmeans.labels

Visualizar os clusters

plt.figure(figsize=(8, 6)) sns.scatterplot(data=dados, x='A Faculdade oferece um bom local de estudos', y='Curso', hue=labels_kmeans, palette='Set1', legend='full') plt.title('Clusters de Satisfação e Frequência de Uso') plt.xlabel('Satisfação') plt.ylabel('Frequência de Uso') plt.show()