cyber-security-resources/ai_research/ML_Fundamentals/ai_generated/data/ai_generated_python_scripts/t-SNE.md
2023-09-04 23:55:02 -04:00

2.0 KiB

Sure! Here's a Python script that demonstrates the t-SNE algorithm using the famous Iris dataset for visualization:

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.manifold import TSNE

# Load the Iris dataset
iris = datasets.load_iris()
X = iris.data
y = iris.target

# Applying t-SNE
tsne = TSNE(n_components=2, random_state=42)
X_tsne = tsne.fit_transform(X)

# Plotting the t-SNE results
colors = ['r', 'g', 'b']
target_names = iris.target_names

plt.figure(figsize=(10, 6))
for i, target_name in enumerate(target_names):
    plt.scatter(X_tsne[y == i, 0], X_tsne[y == i, 1], c=colors[i], label=target_name)

plt.xlabel('First t-SNE Component')
plt.ylabel('Second t-SNE Component')
plt.title('t-SNE Visualization of Iris Dataset')
plt.legend()
plt.show()

In this script, we first import the necessary libraries (numpy, matplotlib, sklearn.datasets, and sklearn.manifold.TSNE) to perform the t-SNE algorithm. Then, we load the Iris dataset using the datasets.load_iris() from scikit-learn. The data and target variables are assigned to X and y arrays, respectively.

After that, we create an instance of the t-SNE algorithm with TSNE(n_components=2, random_state=42). We choose 2 components (n_components=2) since we want to visualize the data in 2D. The random_state parameter is set to ensure reproducibility in the results. We then apply the t-SNE algorithm to the data using fit_transform(X), which returns the transformed data as X_tsne.

Finally, we plot the t-SNE results using matplotlib. Each data point is plotted in a scatter plot, with different colors representing different classes ('setosa', 'versicolor', and 'virginica') in the Iris dataset.

To run this script, ensure that you have the necessary libraries installed (numpy, matplotlib, and scikit-learn). Save it as a .py file and execute it using a Python interpreter. The script will show a plot with the t-SNE visualization of the Iris dataset.